2016-05-23 2 views
2

Я пытаюсь создать мод для Minecraft (1.7.10) с помощью флеш-загрузчика forge, подробности не имеют особого значения, но в основном при попытке создать пользовательский элемент я регистрирую имя элемента в en_US. lang. Это код для моего ...Почему мое имя измененного элемента не регистрируется?

Основной класс

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){ 

} 
} 

класс Пользовательский элемент (Succ)

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 

Проблема заключается, когда Я пытаюсь загрузить мир с одним игроком. Элемент отображается как item.genericIngot.name вместо Generic Ingot. Если какая-либо дополнительная информация необходима для устранения моей глупости, оставьте комментарий. Спасибо!

ответ

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] на ваш фактический идентификатор мод, например:' assets/petersMOD/lang/en_US.lang'). – sorifiend

+0

В этом была проблема, я последовал за созданием мод для 1.6.4, в отличие от последней версии 1.7.10, файл en_US.lang находился в неправильном месте, спасибо. –

Смежные вопросы