2016-05-23 4 views
2

私は、Forge mod loaderを使ってMinecraft(1.7.10)用のmodを作ろうとしていますが、詳細はあまり関係ありませんが、基本的にカスタム項目を作成しようとするとen_USに項目名が登録されます。 langファイル。これは、問題が存在する改造した商品の名前が登録されていないのはなぜですか?

package com.gmx.item; 

import cpw.mods.fml.common.registry.GameRegistry; 
import net.minecraft.creativetab.CreativeTabs; 
import net.minecraft.item.Item; 

public class Succ { 

public static void mainRegistry(){ 
    initializeItem(); 
    registerItem(); 
} 
    public static Item genericItem; 
    public static Item genericIngot; 

    public static void initializeItem() 
    { 
      genericIngot = new Item() 
          .setMaxStackSize(16) 
          .setUnlocalizedName("genericIngot") 
          .setCreativeTab(CreativeTabs.tabAllSearch); 

    } 

public static void registerItem(){ 
    GameRegistry.registerItem(genericIngot, "genericIngot"); 
} 
} 

en_US.langが

item.genericIngot.name=Generic Ingot 

ファイルを私のためのコード...

メインクラス

package com.gmx.Main; 

import com.gmx.item.Succ; 
import com.gmx.lib.RefStrings; 

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.FMLPostInitializationEvent; 
import cpw.mods.fml.common.event.FMLPreInitializationEvent; 

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

@SidedProxy(clientSide = RefStrings.CLIENTSIDE , serverSide = RefStrings.SERVERSIDE) 
public static ServerProxy proxy; 

@EventHandler 
public static void PreLoad(FMLPreInitializationEvent PreEvent){ 
    Succ.mainRegistry(); 
    proxy.registerRenderInfo(); 
} 

@EventHandler 
public static void load(FMLInitializationEvent event){ 

} 

@EventHandler 
public static void PostLoad(FMLPostInitializationEvent PostEvent){ 

} 
} 

カスタム・アイテム・クラス(成功回数)であります私は単一の世界を読み込もうとします。アイテムは、汎用インゴットの代わりにitem.genericIngot.nameと表示されます。私の愚かさを解決するための追加情報が必要な場合は、コメントを残してください。ありがとうございました!

答えて

0

編集: 私のコメントを参照してください。 en_US.langファイルは、プロジェクトsrc/main/resources/assets/[modid]/lang/en_US.langの次の場所に格納する必要があります。


オリジナルの答え:

何をやっているが、あなたがそれを行う場所を除いて正しく見えます。

このラインにこの中へ

public static void PreLoad(FMLPreInitializationEvent PreEvent){

を変更してみてください:

public void preInit(FMLPreInitializationEvent event){

+0

は残念ながら動作しませんでした。他のアイデア? –

+0

@Peter_Browningあなたのen_US.langファイルが 'assets/[modid]/lang/en_US.lang'にあることを確認できますか(実際には[modid]をあなたの実際のmod IDに置き換えてください。例:' assets/petersMOD/lang/en_US.lang')。 – sorifiend

+0

これは問題でした。最近の1.7.10バージョンとは対照的に、1.6.4用のmodを作成するためのガイドに従っています。en_US.langファイルが間違った場所にありました。ありがとうございます。 –

関連する問題