minecraf-fabric mod开发
标签搜索
侧边栏壁纸
  • 累计撰写 23 篇文章
  • 累计收到 1 条评论

minecraf-fabric mod开发

bai1hao
2025-06-08 / 0 评论 / 16 阅读 / 正在检测是否收录...

构建

从官网下载项目脚本
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

2

评论

博主关闭了所有页面的评论