Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

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.

  • Author

I tried registering the blocks before adding the names, but nothing changed.  They were both still called "Generic Block".

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...

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.