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提供了大量的注册表,其中包括ItemBlockBiome等等。这些我们会在后面讲到。

你还可以在BUBBLE的下面添加更多的物品,只要确保你用public static final Item xxx = new ItemXXX();声明了一个物品并创建了对应的类,以及每个物品之间用了逗号隔开。

最后我们只需要在CommonProxy类中的的preInit方法中new ItemsRegister()即可。

现在物品已经成功注册了,运行游戏看一下效果: image1.png
已经可以在创造模式物品栏的杂项中找到了。