Jump to content

Recommended Posts

Posted

So, I'm just starting out learning the forge api (7.7.0), following the basic tutorials on the forge wiki (which have been extremely helpful, even with 1.5 being so new).  I was able to get a couple of blocks and items working, even with new textures (it wasn't hard to figure out from the wiki, though I'm still not sure how to handle side textures).  However, a big problem I'm having, is that both of my items have the same name, and likewise both of my blocks have the same name, despite them being different in code.

 

Here's an except from my Generic.java:

 

public final static Block genericDirt = new GenericBlock(500, Material.rock);
public final static Block genericOre = new GenericOre(501, Material.iron);
public final static Item genericGem = new GenericItem(5000);
public final static Item genericThingy = new GenericThingy(5001);

@Init
public void load(FMLInitializationEvent event)
{
proxy.registerRenderers();

LanguageRegistry.addName(genericGem, "Generic Gem");
LanguageRegistry.addName(genericThingy, "Generic Thingy");

LanguageRegistry.addName(genericOre, "Generic Ore");
MinecraftForge.setBlockHarvestLevel(genericOre, "pickaxe", 3);
GameRegistry.registerBlock(genericOre, "genericOre");

LanguageRegistry.addName(genericDirt, "Generic Block");
MinecraftForge.setBlockHarvestLevel(genericDirt, "pickaxe", 0);
GameRegistry.registerBlock(genericDirt, "genericDirt");
}

 

In-game, both of my blocks are named "Generic Block", when one of them is supposed to be named "Generic Ore".  Both of my items are named "Generic Thingy", when one of them is supposed to be named "Generic Gem".  Everything else - materials, sounds, textures, item drops, etc. - works as intended.  What am I doing wrong?

 

SOLVED:

 

I fixed it by using setUnlocalizedName() with the blocks and items.  In the tutorials, setBlockName()/setItemName() was used, but these methods no longer exist, so I simply removed them.  Using setUnlocalizedName() in their placed fixed everything.

Posted

So, I'm just starting out learning the forge api (7.7.0), following the basic tutorials on the forge wiki (which have been extremely helpful, even with 1.5 being so new).  I was able to get a couple of blocks and items working, even with new textures (it wasn't hard to figure out from the wiki, though I'm still not sure how to handle side textures).  However, a big problem I'm having, is that both of my items have the same name, and likewise both of my blocks have the same name, despite them being different in code.

 

Here's an except from my Generic.java:

 

public final static Block genericDirt = new GenericBlock(500, Material.rock);
public final static Block genericOre = new GenericOre(501, Material.iron);
public final static Item genericGem = new GenericItem(5000);
public final static Item genericThingy = new GenericThingy(5001);

@Init
public void load(FMLInitializationEvent event)
{
proxy.registerRenderers();

LanguageRegistry.addName(genericGem, "Generic Gem");
LanguageRegistry.addName(genericThingy, "Generic Thingy");

LanguageRegistry.addName(genericOre, "Generic Ore");
MinecraftForge.setBlockHarvestLevel(genericOre, "pickaxe", 3);
GameRegistry.registerBlock(genericOre, "genericOre");

LanguageRegistry.addName(genericDirt, "Generic Block");
MinecraftForge.setBlockHarvestLevel(genericDirt, "pickaxe", 0);
GameRegistry.registerBlock(genericDirt, "genericDirt");
}

 

In-game, both of my blocks are named "Generic Block", when one of them is supposed to be named "Generic Ore".  Both of my items are named "Generic Thingy", when one of them is supposed to be named "Generic Gem".  Everything else - materials, sounds, textures, item drops, etc. - works as intended.  What am I doing wrong?

Try it like this. It's how I always do it, plus it's far cleaner.

public static Block genericDirt;
public static Block genericOre;
public static Item genericGem;
public static Item genericThingy;

@Init
public void load(FMLInitializationEvent event)
{
proxy.registerRenderers();

        //Blocks
genericDirt = new GenericBlock(500, Material.rock).setUnlocalizedName("genericDirt");
        genericOre = new GenericOre(501, Material.iron).setUnlocalizedName("genericOre");

        GameRegistry.registerBlock(genericDirt, "Generic Dirt");
        GameRegistry.registerBlock(genericOre, "Generic Ore");

        LanguageRegistry.addName(genericDirt, "Generic Dirt");
        LanguageRegistry.addName(genericOre, "Generic Ore");
        
        MinecraftForge.setBlockHarvestLevel(genericDirt, "pickaxe", 0);
        MinecraftForge.setBlockHarvestLevel(genericOre, "pickaxe", 3);

        //items
        genericGem = new GenericItem(5000).setUnlocalizedName("genericGem");
        genericThingy = new GenericThingy(5001).setUnlocalizedName("genericThingy");

        LanguageRegistry.addName(genericGem, "Generic Gem");
LanguageRegistry.addName(genericThingy, "Generic Thingy");
}

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

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