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

Hello,

I'm having problems with two things in Forge 1.7.2.

 

First, the usual way to add names was completely scrapped, so we are forced to use the lang file. I created my lang file according to this tutorial http://www.minecraftforge.net/wiki/Localizing

And pasted it to src/main/resources/assets/mymodid/lang/en_US.lang

but I still cannot see the names (textures in src/main/resources/assets/mymodid/textures work fine though).

Any advice where should it be located or where might be the problem? The coding of the file is set to UTF-8.

 

Second, I used custom CraftingHandler for adding achievement when player crafted certain item. This was scrapped too, insted we should use Forge event bus.

 

Now I have instance of my crafting handler

 

private static CraftingHandler craftHandler = new CraftingHandler();

 

and in preInit method, I have

 

MinecraftForge.EVENT_BUS.register(craftHandler);

 

and here is the crafting handler class

 

public class CraftingHandler
{
/**
     * Adds Coffee achievement after crafting mug of coffee
     */
@SubscribeEvent
    public void onCrafting(ItemCraftedEvent event)
    {
     System.out.println("event launched");
     if (event.crafting.getItem() == CocoaCraft.mugCoffee)
        {
                event.player.addStat(CocoaCraft.coffeeAchievement, 1);
        }
    }
}

 

Yet I don't get the achievement, nor see "event launched" in console.

 

Any help would be appreciated :)

Sorry for mistakes, English is not my mother tongue

  • Author

Oh sorry, I mistakenly posted the declaration of Crafting handler twice, instead of the code in preInit. Anyway, main post corrected. So the code in preInit is this:

 

MinecraftForge.EVENT_BUS.register(craftHandler);

Sorry for mistakes, English is not my mother tongue

  • Author

Thanks! Works fine now :) Btw. is there a list (or way to tell) which event is registered in which bus? I would specifically need events that were in connection handler.

 

Also, any help to the lang file, please?

Sorry for mistakes, English is not my mother tongue

You need to search where each event instance is created, and see to which event bus it is posted.

 

The lang file content is case-sensitive, make sure you use the exact unlocalized names.

  • Author

Thanks for the tips for the events.

 

I still have problems with my lang file, though.

 

This is my lang file:

tile.CocoaLeaves.name=Cocoa Leaves
tile.CocoaWood.name=Cocoa Wood
tile.CocoaSapling.name=Cocoa Sapling
tile.Coffee.name=Coffee Plant

item.Mug.name=Mug
item.MugMilk.name=Milk
item.MugCocoa.name=Cocoa
item.MugWater.name=Water
item.MugCoffee.name=Coffee
item.CoffeeSeeds.name=Coffee Seeds
item.RoastedCoffeeSeeds.name=Roasted Coffee Seeds

 

And here is part of my preInit method

mug = new ItemMug().setUnlocalizedName("Mug").setCreativeTab(CreativeTabs.tabMisc);
mugMilk = new ItemMugMilk().setUnlocalizedName("MugMilk").setCreativeTab(CreativeTabs.tabFood);

 

Still, "item.Mug.name" appears in game instead of "Mug"

Sorry for mistakes, English is not my mother tongue

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.