注:由于作者对于mod开发也是初出茅庐(甚至Java都还没学会),所以本教程可能有些地方有问题,还请大佬多多包容awa
棕锁粥之,Minecraft中的物品都是通过net.minecraft.item.Item类编写的(除了工具武器和其他一些特殊的物品之外),接下来我就通过一段代码给大家讲解创建一个物品的方法
文件:src\main\java\你的包名\你的模组名.java(如果你没改过文件名就是ExampleMod.java)
package com.mcmod.demo;
import net.fabricmc.api.ModInitializer;
class DemoMod implements ModInitalizer { //假如你的模组名是Javanb那么DemoMod就该替换成JavanbMod
public static final Item DEMO_ITEM = new Item(new Item.Settings());//创建一个名为DEMO_ITEM的物品
public static final Logger LOGGER = LoggerFactory.getLogger("demo");
@Override
public void onInitialize() {
Registry.register(Registries.ITEM, new Identifier("demo","demo_item"), DEMO_ITEM);//注册该物品
LOGGER.info("Demo Mod Load Successful!");
};
}
除此之外我们还需要一个贴图:src\main\resource\assets\模组ID\texture\item\demo_item.png
和一个贴图设置:src\main\resource\assets\模组ID\models\item\demo_item.json
贴图设置这么写:
{
"parent": "demo:item/generated",
"textures": {
"layer0": "demo:item/demo_item"
}
}
我们需要把 原版jar文件 用压缩软件打开,将
原版jar.jar\assets\minecraft\models\item\generated.json
复制到 src\main\resource\assets\模组ID\models\item 下
接着编辑语言文件
zh_cn.json
{
"demo:item.demo_item": "测试物品"
}
en_us.json
{
"demo:item.demo_item": "Demo Item"
}
接着我们运行Gradle程序 Demo\Tasks\build\build 等出现Successful标识后在build\libs下找到模组名-版本.jar 把这个文件放在游戏mods文件夹里,启动游戏,输入指令:/give @s demo:demo_item,我们就获得了我们定义的物品,如果材质是紫色黑色棋盘格,去游戏文件夹\logs\latest.txt中看哪里的文件缺失了,补上就行了