构建
从官网下载项目脚本
1.21 版本:
gradle初次构建时,在目录"C:\Users\bai1h.gradle\caches\fabric-loom\1.21"下
需要下载minecraft官方jar
minecraft-client.jar
minecraft-server.jar
上面两个文件比较大
可以提前从浏览器下载,放入fabric-loom文件夹下,构建时可以节省下载时间
开发
添加item
创建物品实例
在客户端与服务端代码分离的fabric下,主文件在/src/main/下,而不是/src/client/下
主文件是实现ModInitializer接口的类,重写了onInitialize方法
在主文件中,静态声明物品myitem1:
public static final Item MYITEM1 = new Item(new Item.Settings());
Item类用于设置物品属性,例如耐久和堆叠数量
注册物品
在主文件的onInitialize方法中,使用引入的Registry静态类
Registry.register(Registries.ITEM, Identifier.of("example","myitem1"),MYITEM1);
package com.example;
import net.fabricmc.api.ModInitializer;
import net.minecraft.item.Item;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
import net.minecraft.util.Identifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class TemplateMod implements ModInitializer {
public static final String MOD_ID = "template-mod";
public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID);
// 添加物品实例
public static final Item MYITEM1 = new Item(new Item.Settings());
@Override
public void onInitialize() {
//在控制台打印,并写入日志文件.
LOGGER.info("Hello Fabric world!");
// 注册物品
Registry.register(Registries.ITEM, Identifier.of("example","myitem1"),MYITEM1);
}
}
此时,在游戏中可以通过:
/give @s example:myitem1
命令获取到新增的物品,你会发现纹理缺失
注册物品的最佳实践(1.21.2 之前)
package com.example;
import net.minecraft.item.Item;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
import net.minecraft.util.Identifier;
public final class TemplateModItems {
private TemplateModItems() {
}
public static final Item MY_ITEM2 = register("my_item2",new Item(new Item.Settings()));
public static <T extends Item> T register(String path, T item) {
// 返回一个Item实例
return Registry.register(Registries.ITEM, Identifier.of("template-mod",path),item);
}
public static void InitItems(){}
}
添加物品模型、纹理和模型映射
为物品注册纹理需要物品模型.json文件和纹理图像文件。 您将需要将它们添加到资源目录中。每个的直接路径是:
物品模型:…/resources/assets/tutorial/models/item/custom_item.json
物品纹理:…/resources/assets/tutorial/textures/item/custom_item.png
物品模型映射(自从 1.21.4):…/resources/assets/tutorial/items/custom_item.json
评论