首页
Github
友链
壁纸
更多
关于我
Search
1
基于php laravel框架,mvc模式的员工管理系统
196 阅读
2
前端canvas实现的微信飞机大战练习
139 阅读
3
基于前端z轴的三维动画
138 阅读
4
SqlServer数据库
134 阅读
5
前后端分离vue+axios调用网络api的音乐播放器
109 阅读
默认分类
编程
登录
Search
标签搜索
学习
python
html
mysql
sql
minecraft
fabric
mod
bai1hao
累计撰写
23
篇文章
累计收到
1
条评论
首页
栏目
默认分类
编程
页面
Github
友链
壁纸
关于我
搜索到
1
篇与
的结果
2025-06-08
minecraf-fabric mod开发
{callout color="#f0ad4e"}本文参考fabric-wiki {/callout}构建从官网下载项目脚本1.21 版本:gradle初次构建时,在目录"C:\Users\bai1h.gradle\caches\fabric-loom\1.21"下需要下载minecraft官方jarminecraft-client.jarminecraft-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{callout color="#f0ad4e"}注意:以下几处地方的命名空间(案例命名空间为: template-mod )要一致,一般就使用构建fabric项目时填入的值fabric.mod.json中的"id": " template-mod ",注册中,Identifier.of的命名空间(第一个参数)Registry.register(Registries.ITEM, Identifier.of(" template-mod ", "my_item1")模型中的命名空间:"layer0": " template-mod :item/my_item1"{/callout}
2025年06月08日
14 阅读
0 评论
2 点赞