物品名称在 Forge 1.12.2 中无法正确呈现 mod

Item names not rendering properly in Forge 1.12.2 mod

我正在为 1.12.2 创建一个锻造 mod。我使用 eclipse 作为我的 IDE,以及推荐的 Forge MDK。 我的物品在世界上看起来很好,甚至有纹理,但名称并没有按照它们在 .lang 文件中定义的方式显示。这是 ModItems class

  import com.maligant.testmod.items.ItemBase;


import net.minecraft.item.*;
import java.util.ArrayList;
import java.util.List;




public class ModItems {
    
    public static final List<Item> ITEMS = new ArrayList <Item>();
    
    public static final Item COPPER_INGOT = new ItemBase("copper_ingot");
}

和 lang 文件

item.copper_ingot.name=Copper Ingot

此文件名为 en_US.lang


总结:

mod 应该在游戏中将未本地化的物品 copper_ingot 显示为“铜锭”,而不是将其显示为“物品..copper_ingot.name”。我可以根据需要提供任何其他代码。感谢任何帮助。

好了,原来很简单。在撰写本文时,forge 的所有资源文件都必须是小写的,包括语言文件,尽管任何文档可能会告诉您。所以,应该是 en_us.lang,而不是 en_US.lang。您可以通过查看 pack.mcmeta 文件来验证这一点。