Jump to content

[SOLVED] [1.7.2]Forge fails to initialize the game


Chocolate_with

Recommended Posts

Hello,

 

First of all, I need to let you know that I am new to the forums and Minecraft modding, yes I know the most of the basics from java.

But anyways, I don't know if this is the right section for this topic.

 

So.., too the problem.

Just like the title says, my Forge fails to initialize the game when I add my own mod, but Eclipse runs it without a problem/

 

My main jar file with the code:

package com.SurvivalOverhaul.common;

import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;

import com.SurvivalOverhaul.common.lib.ProxyCommon;
import com.SurvivalOverhaul.common.lib.References;

import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.registry.GameRegistry;

@Mod(modid = References.MODID, name = References.NAME,  version = References.VERSION)
public class SurvivalOverhaul {

@SidedProxy(clientSide = References.Client, serverSide = References.Common)
public static ProxyCommon proxy;

@EventHandler
public void init(FMLInitializationEvent event) 
{

}

@EventHandler
public void load (FMLInitializationEvent event) {
	proxy.registerRenderInformation();
}

public SurvivalOverhaul() {
	//Item registry
        //GameReg
GameRegistry.addShapedRecipe(new ItemStack(Blocks.web), "XXX", "XXX", "XXX", 'X', Items.string);
GameRegistry.addShapelessRecipe(new ItemStack(Blocks.obsidian), Items.water_bucket, Items.lava_bucket );
GameRegistry.addShapedRecipe(new ItemStack(Items.record_11), "XXX", "XYX", "XXX", 'X', Blocks.obsidian, 'Y', Items.coal);
GameRegistry.addShapedRecipe(new ItemStack(Items.record_13), "XXX", "XYX", "XXX", 'X', Blocks.obsidian, 'Y', Items.gold_nugget);
GameRegistry.addShapedRecipe(new ItemStack(Items.record_cat), "XXX", "XYX", "XXX", 'X', Blocks.obsidian, 'Y', Items.emerald);
GameRegistry.addShapedRecipe(new ItemStack(Items.record_blocks), "XXX", "XYX", "XXX", 'X', Blocks.obsidian, 'Y', Items.brick);
GameRegistry.addShapedRecipe(new ItemStack(Items.record_chirp), "XXX", "XYX", "XXX", 'X', Blocks.obsidian, 'Y', Items.redstone);
GameRegistry.addShapedRecipe(new ItemStack(Items.record_far), "XXX", "XYX", "XXX", 'X', Blocks.obsidian, 'Y', Items.poisonous_potato);
GameRegistry.addShapedRecipe(new ItemStack(Items.record_mall), "XXX", "XYX", "XXX", 'X', Blocks.obsidian, 'Y', new ItemStack(Items.dye, 1, 13));
GameRegistry.addShapedRecipe(new ItemStack(Items.record_mellohi), "XXX", "XYX", "XXX", 'X', Blocks.obsidian, 'Y', Items.potionitem);
GameRegistry.addShapedRecipe(new ItemStack(Items.record_stal), "XXX", "XXX", "XXX", 'X', Blocks.obsidian);
GameRegistry.addShapedRecipe(new ItemStack(Items.record_strad), "XXX", "XYX", "XXX", 'X', Blocks.obsidian, 'Y', Items.bone);
GameRegistry.addShapedRecipe(new ItemStack(Items.record_ward), "XXX", "XYX", "XXX", 'X', Blocks.obsidian, 'Y', Items.ender_pearl);
GameRegistry.addShapedRecipe(new ItemStack(Items.record_wait), "XXX", "XYX", "XXX", 'X', Blocks.obsidian, 'Y', Items.diamond);
GameRegistry.addShapedRecipe(new ItemStack(Items.saddle), "XXX", "XSX", " I ", 'X', Items.leather, 'S', Items.string, 'I', Items.iron_ingot);
GameRegistry.addShapelessRecipe(new ItemStack(Items.clay_ball), Blocks.dirt, Items.water_bucket);
}
}

 

My crash log from main Minecraft:

---- Minecraft Crash Report ----
// Hey, that tickles! Hehehe!

Time: 24-5-14 16:31
Description: Initializing game

java.lang.NoSuchFieldError: web
at com.SurvivalOverhaul.common.SurvivalOverhaul.<init>(SurvivalOverhaul.java:38)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at cpw.mods.fml.common.ILanguageAdapter$JavaAdapter.getNewInstance(ILanguageAdapter.java:173)
at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:486)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
at com.google.common.eventbus.EventBus.post(EventBus.java:267)
at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:209)
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:188)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
at com.google.common.eventbus.EventBus.post(EventBus.java:267)
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119)
at cpw.mods.fml.common.Loader.loadMods(Loader.java:489)
at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:202)
at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:465)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:813)
at net.minecraft.client.main.Main.main(SourceFile:103)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:134)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Stacktrace:
at com.SurvivalOverhaul.common.SurvivalOverhaul.<init>(SurvivalOverhaul.java:38)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at cpw.mods.fml.common.ILanguageAdapter$JavaAdapter.getNewInstance(ILanguageAdapter.java:173)
at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:486)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
at com.google.common.eventbus.EventBus.post(EventBus.java:267)
at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:209)
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:188)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
at com.google.common.eventbus.EventBus.post(EventBus.java:267)
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119)
at cpw.mods.fml.common.Loader.loadMods(Loader.java:489)
at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:202)
at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:465)

-- Initialization --
Details:
Stacktrace:
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:813)
at net.minecraft.client.main.Main.main(SourceFile:103)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:134)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

-- System Details --
Details:
Minecraft Version: 1.7.2
Operating System: Windows 7 (amd64) version 6.1
Java Version: 1.8.0, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 70810056 bytes (67 MB) / 223870976 bytes (213 MB) up to 954728448 bytes (910 MB)
JVM Flags: 2 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx1G
AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML: MCP v9.01-pre FML v7.2.156.1060 Minecraft Forge 10.12.1.1060 4 mods loaded, 4 mods active
mcp{8.09} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed
FML{7.2.156.1060} [Forge Mod Loader] (forge-1.7.2-10.12.1.1060.jar) Unloaded->Constructed
Forge{10.12.1.1060} [Minecraft Forge] (forge-1.7.2-10.12.1.1060.jar) Unloaded->Constructed
SurvivalOverhaul{Alpha 0.0.2} [survival Overhaul] (Choco's Survival Overhaul.jar) Unloaded
Launched Version: 1.7.2-Forge10.12.1.1060
LWJGL: 2.9.0
OpenGL: GeForce GT 520M/PCIe/SSE2 GL version 4.4.0, NVIDIA Corporation
Is Modded: Definitely; Client brand changed to 'fml,forge'
Type: Client (map_client.txt)
Resource Packs: [CodeCrafted Custom.zip]
Current Language: English (US)
Profiler Position: N/A (disabled)
Vec3 Pool Size: ~~ERROR~~ NullPointerException: null
Anisotropic Filtering: On (16)

Link to comment
Share on other sites

Keeps crashing with same error.

Hopefully I didn't forgot something.

Oh yes.. I use 1.7.2

 

package com.SurvivalOverhaul.common;

import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;

import com.SurvivalOverhaul.common.lib.ProxyCommon;
import com.SurvivalOverhaul.common.lib.References;

import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.registry.GameRegistry;

@Mod(modid = References.MODID, name = References.NAME,  version = References.VERSION)
public class SurvivalOverhaul {

@SidedProxy(clientSide = References.Client, serverSide = References.Common)
public static ProxyCommon proxy;

@EventHandler
public void PreInit(FMLPreInitializationEvent event) {
	 GameRegistry.addShapedRecipe(new ItemStack(Blocks.web), "XXX", "XXX", "XXX", 'X', Items.string);
	 GameRegistry.addShapelessRecipe(new ItemStack(Blocks.obsidian), Items.water_bucket, Items.lava_bucket );
	 GameRegistry.addShapedRecipe(new ItemStack(Items.record_11), "XXX", "XYX", "XXX", 'X', Blocks.obsidian, 'Y', Items.coal);
	 GameRegistry.addShapedRecipe(new ItemStack(Items.record_13), "XXX", "XYX", "XXX", 'X', Blocks.obsidian, 'Y', Items.gold_nugget);
	 GameRegistry.addShapedRecipe(new ItemStack(Items.record_cat), "XXX", "XYX", "XXX", 'X', Blocks.obsidian, 'Y', Items.emerald);
	 GameRegistry.addShapedRecipe(new ItemStack(Items.record_blocks), "XXX", "XYX", "XXX", 'X', Blocks.obsidian, 'Y', Items.brick);
	 GameRegistry.addShapedRecipe(new ItemStack(Items.record_chirp), "XXX", "XYX", "XXX", 'X', Blocks.obsidian, 'Y', Items.redstone);
	 GameRegistry.addShapedRecipe(new ItemStack(Items.record_far), "XXX", "XYX", "XXX", 'X', Blocks.obsidian, 'Y', Items.poisonous_potato);
	 GameRegistry.addShapedRecipe(new ItemStack(Items.record_mall), "XXX", "XYX", "XXX", 'X', Blocks.obsidian, 'Y', new ItemStack(Items.dye, 1, 13));
	 GameRegistry.addShapedRecipe(new ItemStack(Items.record_mellohi), "XXX", "XYX", "XXX", 'X', Blocks.obsidian, 'Y', Items.potionitem);
	 GameRegistry.addShapedRecipe(new ItemStack(Items.record_stal), "XXX", "XXX", "XXX", 'X', Blocks.obsidian);
	 GameRegistry.addShapedRecipe(new ItemStack(Items.record_strad), "XXX", "XYX", "XXX", 'X', Blocks.obsidian, 'Y', Items.bone);
	 GameRegistry.addShapedRecipe(new ItemStack(Items.record_ward), "XXX", "XYX", "XXX", 'X', Blocks.obsidian, 'Y', Items.ender_pearl);
	 GameRegistry.addShapedRecipe(new ItemStack(Items.record_wait), "XXX", "XYX", "XXX", 'X', Blocks.obsidian, 'Y', Items.diamond);
	 GameRegistry.addShapedRecipe(new ItemStack(Items.saddle), "XXX", "XSX", " I ", 'X', Items.leather, 'S', Items.string, 'I', Items.iron_ingot);
	 GameRegistry.addShapelessRecipe(new ItemStack(Items.clay_ball), Blocks.dirt, Items.water_bucket);
}

@EventHandler
public void init(FMLInitializationEvent event) 
{

}

@EventHandler
public void load (FMLInitializationEvent event) {
	proxy.registerRenderInformation();
}

}

Link to comment
Share on other sites

Rewriting code with a SampleBlock now as a test subject, hopefully it will work.

 

Here's my new code:

package com.SurvivalOverhaul.common;

import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;

@Mod(modid = SurvivalOverhaul.MODID, name = SurvivalOverhaul.NAME,  version = SurvivalOverhaul.VERSION)
public class SurvivalOverhaul {
@SidedProxy(clientSide = "com.SurvivalOverhaul.common.ClientProxy", serverSide = "com.SurvivalOverhaul.common.CommonProxy")
public static CommonProxy proxy;

public static final String MODID = "SurvivalOverhaul"; //Main use other than registry is for tex.
public static final String VERSION = "Alpha 0.0.2"; //Version
public static final String NAME = "Choco's Survival Overhaul"; //Name

//Blocks
public static Block SampleBlock = new SampleBlockClass(3000, Material.rock).setBlockName("SampleBlock");

public SurvivalOverhaul() {
	GameRegistry.registerBlock(SampleBlock, "SampleBlock");
}
}

Link to comment
Share on other sites

Don't do ANYTHING in the constructor, but in the PreInit phase. If you don't know what that means, go read some tutorials on the wiki, as you need that for sure.

Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support.

 

1.12 -> 1.13 primer by williewillus.

 

1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support.

 

http://www.howoldisminecraft1710.today/

Link to comment
Share on other sites

PreInit doesn't fix the crashes :S.

 

Oh by the way.., Minecraft won't texture my custom block.

 

 

====

Edit =

====

 

Minecraft error is getting less, but it has a problem with this line of code:

Block SampleBlock = new SampleBlockClass(3000, Material.rock).setBlockName("SampleBlock");

 

With the error:

Caused by: java.lang.NoSuchFieldError: rock
at com.SurvivalOverhaul.common.SurvivalOverhaul.preInit(SurvivalOverhaul.java:30)

 

In the code:

package com.SurvivalOverhaul.common;

import com.SurvivalOverhaul.common.Block.SampleBlockClass;

import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.Mod.Instance;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;

@Mod(modid = SurvivalOverhaul.MODID, name = SurvivalOverhaul.NAME,  version = SurvivalOverhaul.VERSION)
public class SurvivalOverhaul {
@SidedProxy(clientSide = "com.SurvivalOverhaul.common.ClientProxy", serverSide = "com.SurvivalOverhaul.common.CommonProxy")
public static CommonProxy proxy;

public static final String MODID = "SurvivalOverhaul"; //Main use other than registry is for textures.
public static final String VERSION = "Alpha 0.0.2"; //Version
public static final String NAME = "Choco's Survival Overhaul"; //Name

@Instance
public static SurvivalOverhaul instance;

@EventHandler
public void preInit(FMLPreInitializationEvent e) {
	Block SampleBlock = new SampleBlockClass(3000, Material.rock).setBlockName("SampleBlock");
	GameRegistry.registerBlock(SampleBlock, "SampleBlock");
}

@EventHandler
public void init(FMLInitializationEvent e) {

}
}

 

Textures still won't load for the custom block.

Link to comment
Share on other sites

Why are people like this? I've asked a question that is important o solving your issue. ANSWER IT.

 

 

Whoops didn't notice it was a question, sorry.

Here is a screenshot on how it looks in my Eclipse:

 

This is in the SampleBlockClass:

package com.SurvivalOverhaul.common.Block;

import com.SurvivalOverhaul.common.SurvivalOverhaul;

import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;

public class SampleBlockClass extends Block {

public SampleBlockClass(int id) {
	super(Material.rock);
	this.setCreativeTab(CreativeTabs.tabBlock);
	this.setHardness(5F);
	this.setResistance(7.0F);
	this.setBlockTextureName(SurvivalOverhaul.MODID + ":" + "SampleBlock");
}


}

----

I will use links every time by the way.

On every site, It won't accept my attachments.

Link to comment
Share on other sites

The jar you are putting into the client. Outside of eclipse.

How are you making THAT!

 

Calm down man.., I thought you ment how I build it in eclipse.

 

But I simply click "Export"-> "JAR file" -> select "src/main/java" and "src/main/resources" -> "Finish"

I might go wrong there maybe?

 

MODID and any part of package path should not contain capital letters. Get rid of them and use lower-case only.

 

Personally I think that shouldn't matter.

Link to comment
Share on other sites

Oh dear.., I can't rename those packages :/.

 

Reason:

 

A resource exists with a different case:

'/Minecraft/src/main/java/com/SurvivalOverhaul'

------ Renamed Packages ------------

 

Crash still occurrs, also my custom block isn't loading it's textures.

 

it is in src/main/resources/assests/survivaloverhaul/textures/blocks/sampleblock.png

 

However, the lang file is working.

this one is in:

src/main/resources/assets/survivaloverhaul/lang/en_US.lang

Link to comment
Share on other sites

First: you need to build your jar by running gradlew build, it will produce the jar in build/libs. That is because you need to reobfuscate your mod, which eclipse cannot do.

For renaming your package: That is because in Windows file names don't care about casing. Rename it to something else first, then to the lowercase version.

 

How do I that exactly?

Oh do you want my previous post wich is just editted?

My custom block won't texture, but the lang is working.

Link to comment
Share on other sites

"that"? I covered multiple things in my post. For the textures we need your code (main & block class).

I will post my codes again.

 

Main file:

package com.survivaloverhaul.common;

import com.survivaloverhaul.common.block.*;

import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.Mod.Instance;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;

@Mod(modid = survivaloverhaul.modid, name = survivaloverhaul.name,  version = survivaloverhaul.version)
public class survivaloverhaul {
@SidedProxy(clientSide = "com.survivaloverhaul.common.ClientProxy", serverSide = "com.survivaloverhaul.common.CommonProxy")
public static CommonProxy proxy;

public static final String modid = "SurvivalOverhaul"; //Main use other than registry is for textures.
public static final String version = "Alpha 0.0.2"; //Version
public static final String name = "Choco's Survival Overhaul"; //Name

@Instance
public static survivaloverhaul instance;

@EventHandler
public void preInit(FMLPreInitializationEvent e) {
	Block sampleblock = new SampleBlock(3000, Material.rock);
	GameRegistry.registerBlock(sampleblock, "SampleBlock");
}

@EventHandler
public void init(FMLInitializationEvent e) {

}

@EventHandler
public void postInit(FMLPostInitializationEvent e) {

}
}

 

Block file

package com.survivaloverhaul.common.block;

import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;

import com.survivaloverhaul.common.survivaloverhaul;

public class SampleBlock extends Block {

public SampleBlock(int i, Material rock) {
	super(rock);
	this.setBlockName("SampleBlock");
	this.setCreativeTab(CreativeTabs.tabBlock);
	this.setHardness(5f);
	this.setResistance(7.0f);
	this.setBlockTextureName("survivaloverhaul.modid" + ":" + "SampleBlock");
}

}

 

 

By the way, for "How do I that exactly?" I ment how do I reobfuscate via gradlew.bat?

What I have done before I began with this I did open cmd.

typed in: 

 

cd <path to gradlew.bat>

 

then I did enter:

 

gradlew.bat setupDecompWorkspace --refresh-dependencies

 

after that I entered:

 

gradlew.bat eclipse

Link to comment
Share on other sites

public static final String modid = "SurvivalOverhaul";
ModID has to be all lowercase.
this.setBlockTextureName("survivaloverhaul.modid" + ":" + "SampleBlock");
This will (literally) try to load the texture from
src/main/resources/assets/survivaloverhaul.modid/textures/blocks/SampleBlock.png

. See the problem?

 

First of all, I didn't notice that modid, changed it now.

It is now

public static final String modid = "survivaloverhaul"

 

You trying to say that I don't need that "this.setBlockTextureName"?

 

----

 

I did run gradlew.bat in a different way.

 

How I did it like I said in my previous post a little bit too late:

open command prompt -> cd <path to gradlew.bat> -> setupDecompWorkspace --refresh-dependencies

 

after that was done I did enter:

gradlew.bat eclipse

Link to comment
Share on other sites

You trying to say that I don't need that "this.setBlockTextureName"?
No, but you need to supply it with something like "modID:blockName". The String "survivaloverhaul.modid" is not your ModID. The String "survivaloverhaul" is, and it's stored in the field
survivaloverhaul.modid

(horrible classname by the way...).

I did run gradlew.bat in a different way.

 

How I did it like I said in my previous post a little bit too late:

open command prompt -> cd <path to gradlew.bat> -> setupDecompWorkspace --refresh-dependencies

 

after that was done I did enter:

gradlew.bat eclipse

You do the same, but run gradlew build.

 

I know the classname is horrible :D, I will change it.

Oh and it is my first time doing custom blocks and working in 1.7.2, so that is why I conflict with it.

 

Will enter the path to gradlew.bat again and then I will type in gradlew.bat build

 

 

 

--- Update ----

 

Texture is getting loaded.

 

Client still crashes with error:

 

Caused by: java.lang.NoSuchFieldError: rock

at com.survivaloverhaul.common.survivaloverhaul.preInit(survivaloverhaul.java:31)

Link to comment
Share on other sites

Nope it crashes with error:

Caused by: java.lang.NoSuchFieldError: rock
at com.survivaloverhaul.common.block.SampleBlock.<init>(SampleBlock.java:12)
at com.survivaloverhaul.common.survivaloverhaul.preInit(survivaloverhaul.java:31)

 

line 12 at SampleBlock.java:

	super(Material.rock);

 

line 31 in survivaloverhaul:

Block SampleBlock = (new SampleBlock(3000, 0)).setBlockName("SampleBlock");

 

yes I have changed those.., since I noticed some crash errors in eclipse.. but eclipse don't give crash errors anymore with these codes.

 

 

----

Rechecked the logs when I used the "gradlew.bat build" in command prompt.

There is 1 error given, wich is:

:compileJava
warning: [options] bootstrap class path not set in conjunction with -source 1.6
1 warining

Link to comment
Share on other sites

Can't upload it as attachment.

due error " Cannot access attachments upload path! "

 

So I made a copy of the original one and opened it with Notepad ++.

Here is the info you wanted:

 

buildscript {
    repositories {
        mavenCentral()
        maven {
            name = "forge"
            url = "http://files.minecraftforge.net/maven"
        }
        maven {
            name = "sonatype"
            url = "https://oss.sonatype.org/content/repositories/snapshots/"
        }
    }
    dependencies {
        classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT'
    }
}

apply plugin: 'forge'

version = "1.0"
group= "com.yourname.modid" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = "modid"

minecraft {
    version = "1.7.2-10.12.1.1060"
    assetDir = "eclipse/assets"
}

processResources
{
    // this will ensure that this task is redone when the versions change.
    inputs.property "version", project.version
    inputs.property "mcversion", project.minecraft.version

    // replace stuff in mcmod.info, nothing else
    from(sourceSets.main.resources.srcDirs) {
        include 'mcmod.info'
                
        // replace version and mcversion
        expand 'version':project.version, 'mcversion':project.minecraft.version
    }
        
    // copy everything else, thats not the mcmod.info
    from(sourceSets.main.resources.srcDirs) {
        exclude 'mcmod.info'
    }
}

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Detik4D adalah situs slot 4D resmi yang menawarkan pengalaman bermain yang mengasyikkan dan peluang menang besar. Dengan koleksi permainan slot yang beragam dan fitur-fitur menarik, Detik4D menjadi pilihan utama bagi para pecinta slot online. Peluang Menang Besar dengan Jackpot Resmi Salah satu keunggulan utama Detik4D adalah peluang menang besar yang ditawarkan. Dengan sistem jackpot resmi, para pemain memiliki kesempatan untuk memenangkan hadiah besar yang dapat mengubah hidup mereka. Jackpot-jackpot ini tidak hanya menghadirkan keseruan tambahan dalam bermain, tetapi juga memberikan peluang nyata untuk meraih keuntungan yang signifikan. Detik4D juga memiliki berbagai macam permainan slot dengan tingkat pembayaran yang tinggi. Dengan demikian, peluang untuk meraih kemenangan dalam jumlah besar semakin terbuka lebar. Para pemain dapat memilih dari berbagai jenis permainan slot yang menarik, termasuk slot klasik, video slot, dan slot progresif. Setiap jenis permainan memiliki fitur-fitur unik dan tema yang berbeda, sehingga para pemain tidak akan pernah merasa bosan. Pengalaman Bermain yang Mengasyikkan Selain peluang menang besar, Detik4D juga menawarkan pengalaman bermain yang mengasyikkan. Dengan tampilan grafis yang menarik dan suara yang menghibur, para pemain akan merasa seperti berada di kasino sungguhan. Fitur-fitur interaktif seperti putaran bonus, putaran gratis, dan fitur-fitur lainnya juga akan menambah keseruan dalam bermain. Detik4D juga memiliki antarmuka yang user-friendly, sehingga para pemain dapat dengan mudah mengakses permainan dan fitur-fitur lainnya. Proses pendaftaran dan deposit juga sangat mudah dan cepat, sehingga para pemain dapat segera memulai petualangan mereka di dunia slot online. Detik4D juga menyediakan layanan pelanggan yang responsif dan profesional. Tim dukungan pelanggan yang ramah akan siap membantu para pemain dengan segala pertanyaan atau masalah yang mereka hadapi. Dengan demikian, para pemain dapat bermain dengan tenang dan yakin bahwa mereka akan mendapatkan bantuan yang mereka butuhkan. Keamanan dan Kepercayaan Detik4D sangat memprioritaskan keamanan dan kepercayaan para pemain. Situs ini menggunakan teknologi enkripsi terkini untuk melindungi data pribadi dan transaksi keuangan para pemain. Selain itu, Detik4D juga bekerja sama dengan penyedia permainan terkemuka yang telah teruji dan terpercaya, sehingga para pemain dapat bermain dengan aman dan adil. Detik4D juga memiliki lisensi resmi dan diatur oleh otoritas perjudian yang terkemuka. Hal ini menjamin bahwa semua permainan yang ditawarkan adalah fair dan tidak ada kecurangan yang terjadi. Para pemain dapat bermain dengan tenang, mengetahui bahwa mereka berada di situs yang terpercaya dan terjamin. Jadi, jika Anda mencari situs slot 4D resmi dengan peluang menang besar dan pengalaman bermain yang mengasyikkan, Detik4D adalah pilihan yang tepat. Bergabunglah sekarang dan rasakan sendiri keseruan dan keuntungan yang ditawarkan oleh Detik4D.
    • Perjudian online telah menjadi tren yang populer di kalangan penggemar permainan kasino. Salah satu permainan yang paling diminati adalah mesin slot online. Mesin slot online menawarkan kesenangan dan kegembiraan yang tak tertandingi, serta peluang untuk memenangkan hadiah besar. Salah satu situs slot online resmi yang menarik perhatian banyak pemain adalah Tuyul Slot. Kenapa Memilih Tuyul Slot? Tuyul Slot adalah situs slot online resmi yang menawarkan berbagai keuntungan bagi para pemainnya. Berikut adalah beberapa alasan mengapa Anda harus memilih Tuyul Slot: 1. Keamanan dan Kepercayaan Tuyul Slot adalah situs slot online resmi yang terpercaya dan memiliki reputasi yang baik di kalangan pemain judi online. Situs ini menggunakan teknologi keamanan terkini untuk melindungi data pribadi dan transaksi keuangan pemain. Anda dapat bermain dengan tenang dan yakin bahwa informasi Anda aman. 2. Pilihan Permainan yang Beragam Tuyul Slot menawarkan berbagai macam permainan slot online yang menarik. Anda dapat memilih dari ratusan judul permainan yang berbeda, dengan tema dan fitur yang beragam. Setiap permainan memiliki tampilan grafis yang menarik dan suara yang menghibur, memberikan pengalaman bermain yang tak terlupakan. 3. Kemudahan Menang Salah satu keunggulan utama dari Tuyul Slot adalah kemudahan untuk memenangkan hadiah. Situs ini menyediakan mesin slot online dengan tingkat pengembalian yang tinggi, sehingga peluang Anda untuk memenangkan hadiah besar lebih tinggi. Selain itu, Tuyul Slot juga menawarkan berbagai bonus dan promosi menarik yang dapat meningkatkan peluang Anda untuk menang. Cara Memulai Bermain di Tuyul Slot Untuk memulai bermain di Tuyul Slot, Anda perlu mengikuti langkah-langkah berikut: 1. Daftar Akun Kunjungi situs Tuyul Slot dan klik tombol "Daftar" untuk membuat akun baru. Isi formulir pendaftaran dengan informasi pribadi yang valid dan lengkap. Pastikan untuk memberikan data yang akurat dan jaga kerahasiaan informasi Anda. 2. Deposit Dana Setelah mendaftar, Anda perlu melakukan deposit dana ke akun Anda. Tuyul Slot menyediakan berbagai metode pembayaran yang aman dan terpercaya. Pilih metode yang paling nyaman untuk Anda dan ikuti petunjuk untuk melakukan deposit. 3. Pilih Permainan Setelah memiliki dana di akun Anda, Anda dapat memilih permainan slot online yang ingin Anda mainkan. Telusuri koleksi permainan yang tersedia dan pilih yang paling menarik bagi Anda. Anda juga dapat mencoba permainan secara gratis sebelum memasang taruhan uang sungguhan. 4. Mulai Bermain Saat Anda sudah memilih permainan, klik tombol "Main" untuk memulai permainan. Anda dapat mengatur jumlah taruhan dan jumlah garis pembayaran sesuai dengan preferensi Anda. Setelah itu, tekan tombol "Putar" dan lihat apakah Anda beruntung untuk memenangkan hadiah. Promosi dan Bonus Tuyul Slot menawarkan berbagai promosi dan bonus menarik kepada para pemainnya. Beberapa jenis promosi yang tersedia termasuk bonus deposit, cashback, dan turnamen slot. Pastikan untuk memanfaatkan promosi ini untuk meningkatkan peluang Anda memenangkan hadiah besar. Kesimpulan Tuyul Slot adalah situs slot online resmi yang menawarkan pengalaman bermain yang seru dan peluang menang yang tinggi. Dengan keamanan dan kepercayaan yang terjamin, berbagai pilihan permainan yang menarik, serta bonus dan promosi yang menguntungkan, Tuyul Slot menjadi pilihan yang tepat bagi para penggemar mesin slot online. Segera daftar akun dan mulai bermain di Tuyul Slot untuk kesempatan memenangkan hadiah besar!
    • I have been having a problem with minecraft forge. Any version. Everytime I try to launch it it always comes back with error code 1. I have tried launching from curseforge, from the minecraft launcher. I have also tried resetting my computer to see if that would help. It works on my other computer but that one is too old to run it properly. I have tried with and without mods aswell. Fabric works, optifine works, and MultiMC works aswell but i want to use forge. If you can help with this issue please DM on discord my # is Haole_Dawg#6676
    • Add the latest.log (logs-folder) with sites like https://paste.ee/ and paste the link to it here  
    • I have no idea how a UI mod crashed a whole world but HUGE props to you man, just saved me +2 months of progress!  
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.