Jump to content

[1.7.2][Forge]Lang file problem, onCrafting player event problem


Recommended Posts

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

Posted

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

Posted

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

Posted

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.

Posted

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

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