注册新物品
完善注册系统
在Items.java文件下复制其原生的物品注册代码
public static Item register(String id, Item item) {
return register(new Identifier(id), item);
}
public static Item register(Identifier id, Item item) {
return register(RegistryKey.of(Registries.ITEM.getKey(), id), item);
}
public static Item register(RegistryKey<Item> key, Item item) {
if (item instanceof BlockItem) {
((BlockItem)item).appendBlocks(Item.BLOCK_ITEMS, item);
}
return Registry.register(Registries.ITEM, key, item);
}将其粘贴到新建的item软件包的ModItem类中
并将其默认的命名空间改为自己的数据包的命名空间
开始注册物品
仿照原版物品注册的格式在ModItems中注册
辅助注册方法
在末尾加上
//辅助注册
public static void registerItems() {
}
//暂时不用写东西注意,要到模组主类中调用(这里的主类是TestMod)
添加贴图,语言文件
新建lang,models,textures文件夹
在lang文件夹下创建en_us.json文件来存放英文的物品名称,zn_cn.json存中文
接下来,在models和textures文件夹中各建一个item(物品)和一个block(方块)
再在models/item中创建一个test_item.json文件用来配置物品。
在其中输入
{
"parent": "minecraft:item/generated",//设置父级文件
"textures": {
"layer0": "test-mod:item/test_item"//设置贴图,test-mod是命名空间,也就是数据包id
}
}添加贴图文件
将png格式的贴图文件放进textures/item中,名字与物品id一致