
ADM(管理员)
此模组旨在扩展数据包功能,目前仍处于早期开发阶段。在常规游戏过程中请勿使用此模组。它可能导致游戏崩溃,甚至损坏你的世界!
高级数据包模组 (Advanced Datapack Mod)
本模组旨在扩展数据包功能,目前处于早期开发阶段。请勿在常规游戏过程中使用此模组。它可能导致崩溃甚至损坏你的世界!
此 mod 旨在扩展数据包功能,目前处于早期开发阶段。不要在正常游戏期间使用此模组。它可能会导致崩溃甚至坏档!
文档英文版
- [由 Deepseek(AI) 和 XiaotianMC(作者) 翻译]
数据包功能简介
1. 物品扩展
- 与原版数据包相比,提供了更多物品扩展功能,使 Minecraft 能够通过数据包动态注册物品。
- 支持自定义物品属性、耐久度等。
- 支持自定义物品模型和纹理。(在资源包中定义)
2. 方块扩展 (开发中)
- 添加了更多方块扩展功能。
3. 命令
adm命令 [返回] 模组信息item子命令get <namespace>[返回] 已注册物品的列表。<namespace>为可选参数。disable <item>[禁用] 指定的 adm 物品。<item>为必填参数 (可用,正在优化中)。enable <item>[启用] 指定的 adm 物品。<item>为必填参数 (可用,正在优化中)。setclear[清除] 正在使用的已禁用物品将被移除。true->false;false->true (可用,正在优化中)。
block子命令get <namespace>[返回] 已注册方块的列表。<namespace>为可选参数。disable <block>[禁用] 指定的 adm 方块。<block>为必填参数 (可用,正在优化中)。enable <block>[启用] 指定的 adm 方块。<block>为必填参数 (可用,正在优化中)。
debug子命令 [设置] 调试模式。true->false;false->true。reload子命令 [重载] 模组数据 (开发中)。
数据包格式
要定义一个物品,请在数据包的 data/<namespace>/item 目录下创建一个 <item_name>.json 文件。
这是一个示例:
{
"food": {
"canAlwaysEat": true,
"nutrition": 80,
"saturation": 3.0,
"effects": [
["minecraft:night_vision", 10, 1]
]
},
"tool": {
"type": "axe",
"level": "stone",
"attackDamage": 999,
"attackSpeed": 0.1,
"durability": 1
},
"replace": "barrier"
}
其中 food、tool 和 replace 是可选的。
food定义物品的食物相关属性。canAlwaysEat:物品是否始终可以食用。nutrition:食物值(食用时恢复的饱和度)。saturation:饱和度值。effects:食用后应用的效果,格式为[效果ID, 持续时间(刻), 效果等级]。
tool定义物品的工具相关属性。type:工具类型,例如axe、pickaxe、shovel、hoe、sword。level:工具等级,例如wood、stone、iron、diamond、netherite。attackDamage:工具的攻击伤害。attackSpeed:工具的攻击速度。durability:工具的耐久度。
replace定义物品在客户端的显示物品。必须是一个(客户端)已存在的物品 ID,例如minecraft:stone、minecraft:iron_ingot等(开发中)。
要定义一个方块,请在数据包的 data/<namespace>/block 目录下创建一个 <block_name>.json 文件。
这是一个示例:
{
"hardness": 1.0,
"resistance": 10.0,
"lightLevel": 0,
"replace": "minecraft:stone",
"require_tool": true,
"has_item": true,
"replaceable": false
}
其中 hardness、resistance、lightLevel、replace、require_tool、tool 和 has_item 是可选的。
hardness:方块的硬度。resistance:方块的爆炸抗性。lightLevel:方块的光照等级。has_item:方块是否有对应的物品形式。(如果有,请在data/<namespace>/item目录下创建同名的物品定义文件。)replace:定义方块在客户端的显示方块。必须是一个(客户端)已存在的方块 ID,例如minecraft:stone、minecraft:oak_planks等(开发中)。require_tool:是否需要工具才能破坏方块。
ADM API
cn.gcte.adm.api.ResReloadManager资源重载管理器public static void register(Consumer<ResourceManager> consumer)注册一个监听器,该监听器将在数据包初始加载时被调用。ResReloadManager.register(resourceManager -> { // 在资源加载后立即处理 // 例如:LOGGER.info("Resource manager has been reloaded!"); });
cn.gcte.adm.api.GetBlockData获取方块数据包资源(即data/<namespace>/block/<block_name>.json文件)。public static String getAllData()获取 DataList(以 JSON 字符串形式)。
cn.gcte.adm.api.GetItemData获取物品数据包资源(即data/<namespace>/item/<item_name>.json文件)。public static String getAllData()获取 DataList(以 JSON 字符串形式)。
文档中文版 - 中文版文档
Datapack功能介绍
1. 物品扩展
- 相比于原版数据包,增加了更多的物品扩展功能,能够使 Minecraft 通过数据包动态注册物品。
- 支持物品的自定义属性、耐久度等。
- 支持物品的自定义模型和纹理。(在资源包中定义)
2. 方块扩展(正在开发)
- 增加了更多的方块扩展功能。
3. 命令
adm命令 [返回] mod 信息item子命令get <namespace>[返回] 注册的物品列表<namespace>非必选参数disable <item>[禁用] 指定 adm 物品<item>必选参数 (可用, 正在完善中)enable <item>[启用] 指定 adm 物品<item>必选参数 (可用, 正在完善中)setclear[清除] 正在被使用的已禁用物品会被清除 true->false; false->true (可用, 正在完善中)
block子命令get <namespace>[返回] 注册的方块列表<namespace>非必选参数disable <block>[禁用] 指定 adm 方块<block>必选参数 (可用, 正在完善中)enable <block>[启用] 指定 adm 方块<block>必选参数 (可用, 正在完善中)
debug子命令 [设置] debug 模式 true->false; false->truereload子命令 [重载] mod 数据 (正在开发)
Datapack格式
在数据包的 data/<namespace>/item 目录下新建 <item_name>.json 文件以定义物品。
这是一个示例
{
"food": {
"canAlwaysEat": true,
"nutrition": 80,
"saturation": 3.0,
"effects":[
["minecraft:night_vision",10,1]
]
},
"tool": {
"type": "axe",
"level": "stone",
"attackDamage": 999,
"attackSpeed": 0.1,
"durability": 1
},
"replace": "barrier"
}
其中 food、tool 和 replace 是可选的。
food定义了物品的食物属性。canAlwaysEat:是否总是可以食用。nutrition:食物的饱食度。saturation:食物的饱和度。effects:食用后给予的效果,格式为[效果ID, 持续时间(tick), 效果等级]。
tool定义了物品的工具属性。type:工具类型,如axe、pickaxe、shovel、hoe、sword。level:工具等级,如wood、stone、iron、diamond、netherite。attackDamage:工具的攻击伤害。attackSpeed:工具的攻击速度。durability:工具的耐久度。
replace定义了物品在客户端的展示物品,必须是一个(客户端)存在的物品 ID,如minecraft:stone、minecraft:iron_ingot等(developing)。
在数据包的 data/<namespace>/block 目录下新建 <block_name>.json 文件以定义方块。
这是一个示例
{
"hardness": 1.0,
"resistance": 10.0,
"lightLevel": 0,
"replace": "minecraft:stone",
"require_tool": true,
"has_item": true,
"replaceable": false
}
其中 hardness、resistance、lightLevel、replace、require_tool、tool 和 has_item 是可选的。
hardness:方块的硬度。resistance:方块的爆炸抗性。lightLevel:方块的光照等级。has_item:方块是否有对应的物品形式。(若有,则在data/<namespace>/item目录下新建同名的物品定义文件)replace定义了方块在客户端的展示方块,必须是一个(客户端)存在的方块 ID,如minecraft:stone、minecraft:oak_planks等(developing)。require_tool:是否需要工具才能破坏方块。
ADM API
cn.gcte.adm.api.ResReloadManager资源重载管理器public static void register(Consumer<ResourceManager> consumer)注册 listener,该 listener 会在数据包刚开始加载时被调用。ResReloadManager.register(resourceManager -> { // 在这里处理资源刚加载 // 举个例子 LOGGER.info("Resource manager has been reloaded!"); });
cn.gcte.adm.api.GetBlockData获得方块数据包资源(即data/<namespace>/block/<block_name>.json文件)。public static String getAllData()获得 DataList(json 字符串)
cn.gcte.adm.api.GetItemData获得物品数据包资源(即data/<namespace>/item/<item_name>.json文件)。public static String getAllData()获得 DataList(json 字符串)
还没有人评论,去客户端里说两句吧。
评论在新手盒子客户端中发表,这里同步展示。