1. 创建物品¶
如果你想偷懒,直接Item item = new Item();就可以了。但是这只适用于那些无功能的物品,如钻石。我们要做的是一个有功能的物品。
1.1. 新建物品类¶
就拿
Bubble当例子吧。由于大部分的物品都继承于
Item类,所以我们也要写一个类来继承它。首先,新建
com.example.examplemod.common.item.ItemBubble类。然后,粘贴:
private static String name = "bubble";
public ItemBubble() {
this.setRegistryName(name);
this.setUnlocalizedName(ExampleMod.MODID+"."+name);
this.setCreativeTab(CreativeTabs.MISC);
}
setRegistryName:设置物品的注册名称setUnlocalizedName:设置物品的未本地化名称setCreativeTab:设置物品的创造模式物品栏位置现在我们需要注册这个物品。
1.2. 注册物品¶
新建
com.example.examplemod.register.ItemsRegister类。首先在
public class ItemsRegister上面添加@Mod.EventBusSubscriber。然后添加
public static final Item BUBBLE = new ItemBubble();。
创建一个构造方法。public ItemsRegister() {
MinecraftForge.EVENT_BUS.register(this);
}
这里我们不使用古老的GameRegistry方法来注册物品,而是使用Forge推荐的注册方法。
@SubscribeEvent
public static void registerItems(RegistryEvent.Register<Item> event) {
event.getRegistry().registerAll(
BUBBLE
);
}
Forge提供了大量的注册表,其中包括Item、Block、Biome等等。这些我们会在后面讲到。
你还可以在BUBBLE的下面添加更多的物品,只要确保你用public static final Item xxx = new ItemXXX();声明了一个物品并创建了对应的类,以及每个物品之间用了逗号隔开。
最后我们只需要在CommonProxy类中的的preInit方法中new ItemsRegister()即可。
现在物品已经成功注册了,运行游戏看一下效果: 

已经可以在创造模式物品栏的杂项中找到了。