一个适用于Nukkit-MOT的自定义合成配方和熔炉配方插件
- 支持无序合成(类似染料合成)
- 支持有序合成(类似工具合成,需要按照特定形状摆放)
- 支持设置合成次数限制
- 支持额外输出物品
- 支持 NBT 物品作为合成材料或产物
- 提供便捷的游戏内命令添加物品配置
- 下载 CustomCraft 插件的 jar 文件
- 将 jar 文件放入你的 Nukkit-MOT 服务器的
plugins文件夹中 - 重启服务器
- 插件会自动在
plugins/CustomCraft目录下生成配置文件
配置文件位置:plugins/CustomCraft/craft.json
| 字段 | 类型 | 说明 |
|---|---|---|
| type | 整数 | 配方类型:0 = 无序合成,1 = 有序合成 |
| maxCraftCount | 整数 | 最大合成次数:-1 = 无限次,其他数字为具体次数(此功能仍未完成) |
| input | 数组/对象 | 输入材料(格式见下方) |
| output | 字符串 | 输出物品(格式:物品ID:特殊值:数量) |
| shape | 数组 | 仅有序合成需要,定义合成台的摆放形状 |
| extraOutput | 数组 | 可选,额外输出的物品列表 |
插件支持三种物品格式:
1. 普通物品格式
- 格式:
物品ID:特殊值:数量 - 示例:
58:0:1表示 1 个工作台(ID:58,特殊值:0) - 示例:
3:0表示泥土(ID:3,特殊值:0),数量默认为 1 - 示例:
35:14:5表示 5 个红色羊毛(ID:35,特殊值:14)
2. NBT 物品格式(带特殊属性)
用于使用带有附魔、自定义名称、Lore 等 NBT 数据的物品:
- 引用格式:
物品名称@nbt - 使用步骤:
- 在游戏中手持物品,执行
/craft add <名称>保存到配置 - 在配方中使用
名称@nbt引用
- 在游戏中手持物品,执行
- 示例:
- 配置中引用:
"input": ["神剑@nbt"] - 作为输出:
"output": "神剑@nbt"
- 配置中引用:
说明:NBT 物品的实际数据存储在 nbtItems.json 文件中,格式为 物品ID:特殊值:数量:NBT数据(自动生成,无需手动编辑)
如果物品发生了改变(如附魔、自定义名称、Lore 等),需要重新执行 /craft add <名称> 保存到配置文件中,否则插件将无法识别为同一物品。
如果不知道普通物品的ID或特殊值,也可在游戏中手持物品执行 /craft add <名称> 保存到配置文件中,当作NBT物品使用。
3. 命名空间物品格式(自定义物品)
用于新版本的命名空间 ID 物品:
- 格式:
命名空间ID:数量 - 示例:
minecraft:diamond_sword:1、minecraft:netherite_ingot:1
在配方中混合使用示例:
{
"type": 1,
"maxCraftCount": -1,
"input": {
"A": "神剑@nbt",
"B": "minecraft:diamond:0:1",
"C": "minecraft:netherite_ingot:1"
},
"shape": [
"ABA",
"BCB",
"ABA"
],
"output": "超级神剑@nbt"
}无序合成示例(将泥土合成为工作台):
{
"recipes": [
{
"type": 0,
"maxCraftCount": -1,
"input": [
"3:0"
],
"output": "58:0:1"
}
]
}有序合成示例(9 个泥土按 3x3 摆放合成工作台,并额外获得 1 个泥土):
{
"recipes": [
{
"type": 1,
"maxCraftCount": -1,
"input": {
"A": "3:0"
},
"shape": [
"AAA",
"AAA",
"AAA"
],
"output": "58:0:1",
"extraOutput": [
"3:0:1"
]
}
]
}有序合成形状说明:
shape 数组定义了物品在合成台中的摆放形状,每个字符代表一个格子:
"AAA"= 第一行三个格子都放 A 材料"A A"= 第二行左右两边放 A 材料,中间空着" A "= 第三行只有中间放 A 材料
你可以定义多种材料:
{
"type": 1,
"input": {
"A": "5:0",
"B": "280:0"
},
"shape": [
"AAA",
" B ",
" B "
],
"output": "269:0:1"
}上面的例子表示用木板和木棍合成木镐。
如果你需要使用带有特殊属性(如附魔、自定义名称等)的物品作为材料或产物,可以使用游戏内命令添加到此配置文件。
配置文件位置:plugins/CustomCraft/nbtItems.json
此文件由插件自动维护,通常不需要手动编辑。格式如下:
{
"物品名称": "物品ID:特殊值:数量:NBT数据"
}字段说明:
物品名称:自定义的物品标识符,用于在配方中引用物品ID:Minecraft 物品 ID(数字)或命名空间 ID(如minecraft:diamond_sword)特殊值:物品的特殊值/损害值(如钻石剑的耐久)数量:物品数量NBT数据:物品的 NBT 标签数据(Base64 编码),如果没有 NBT 数据则为not
{
"神剑": "276:0:1:CgAACQQAZW5jaAoBAAAAAgIAaWQJAAIDAGx2bAMAAA==",
"普通钻石": "264:0:1:not",
"自定义物品": "minecraft:diamond_sword:1:nbt"
}使用方法:
- 通过命令添加(推荐):
/craft add 神剑
系统会自动保存手中物品的所有 NBT 数据
- 在配方中引用:
{
"type": 0,
"input": ["神剑@nbt", "diamond:0:8"],
"output": "超级神剑@nbt"
}注意事项:
- NBT 数据包含了物品的所有特殊属性(附魔、自定义名称、Lore、隐藏标志等)
- 带 NBT 的物品必须完全匹配才能用于合成(包括附魔等级、名称等)
- 建议使用命令添加 NBT 物品,避免手动编辑出错
直接编辑 craft.json 文件,按照上面的格式添加配方,然后使用 /reload 重载插件。
NBT 物品可以保存物品的所有特殊属性,包括:
- 附魔(锋利、耐久等)
- 自定义名称和描述(Lore)
- 隐藏的标志
- 其他 NBT 数据
操作步骤:
-
准备你的特殊物品
- 在游戏中制作或获取一个带有特殊属性的物品
- 例如:一把附魔了锋利 V 的钻石剑,重命名为"神剑"
-
保存物品到配置
- 手持该物品
- 执行命令:
/craft add <名称> - 例如:
/craft add 神剑 - 系统会提示保存成功
-
在配方中引用 NBT 物品
- 格式:
物品名称@nbt - 作为输入材料:
"input": ["神剑@nbt"] - 作为输出物品:
"output": "神剑@nbt"
- 格式:
完整示例 - 用普通材料合成特殊物品:
{
"type": 1,
"maxCraftCount": 1,
"input": {
"A": "diamond:0",
"B": "emerald:0"
},
"shape": [
"AAA",
"ABA",
"AAA"
],
"output": "神剑@nbt"
}完整示例 - 升级特殊物品:
{
"type": 0,
"maxCraftCount": -1,
"input": ["神剑@nbt", "nether_star:0:1"],
"output": "超级神剑@nbt"
}重要提示:
- 使用 NBT 物品作为材料时,玩家的物品必须完全匹配(附魔等级、名称等)
- 建议为每个特殊物品起一个容易识别的名称
- 可以在
nbtItems.json中查看已保存的所有 NBT 物品
- 保存配置文件
- 在游戏中使用
/reload命令重载插件 - 打开合成台测试你的配方
| 命令 | 说明 | 权限 |
|---|---|---|
/craft add <名称> |
将手中的物品添加到 nbtItems 配置中 | customcraft.craft |
权限说明:
customcraft.craft- 默认只有管理员(OP)拥有此权限
Q: 修改配置后不生效?
A: 修改配置文件后需要重启服务器。
Q: 如何使用带附魔的物品作为材料?
A: 使用 /craft add <名称> 保存带附魔的物品,然后在配方中用 名称@nbt 引用。注意:玩家的物品必须与保存的物品完全一致才能合成。
Q: NBT 物品格式 @nbt 后缀是必须的吗?
A: 是的,引用 nbtItems.json 中的物品时必须加上 @nbt 后缀,例如 神剑@nbt。这样插件才能识别这是一个 NBT 物品。
Q: 普通物品格式和命名空间格式有什么区别?
A:
- 普通格式:
物品ID:特殊值:数量(如276:0:1,适用于常规物品) - 命名空间格式:
minecraft:物品名称(如minecraft:diamond_sword,适用于自定义物品和部分高版本物品)
Q: extraOutput 有什么用?
A: 它可以让玩家在合成主要物品的同时,额外获得其他物品,适合制作"副产品"或"返还材料"的配方。
Q: maxCraftCount 设置为 1 后,是否全服玩家只能合成一次?
A: 不是,maxCraftCount配置是针对单个玩家的合成次数限制,设置为 1 表示每个玩家只能合成该配方 1 次。
Q: 如何查看已保存的 NBT 物品列表?
A: 打开 plugins/CustomCraft/nbtItems.json 文件,所有通过命令保存的物品都会列在这里。
如果你在使用过程中遇到问题或有建议,欢迎通过以下方式反馈:
- 提交 Issue:CustomCraft GitHub Issues