Skip to content

MemoriesOfTime/CustomCraft

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

CustomCraft

一个适用于Nukkit-MOT的自定义合成配方和熔炉配方插件

功能特性

  • 支持无序合成(类似染料合成)
  • 支持有序合成(类似工具合成,需要按照特定形状摆放)
  • 支持设置合成次数限制
  • 支持额外输出物品
  • 支持 NBT 物品作为合成材料或产物
  • 提供便捷的游戏内命令添加物品配置

下载地址

安装方法

  1. 下载 CustomCraft 插件的 jar 文件
  2. 将 jar 文件放入你的 Nukkit-MOT 服务器的 plugins 文件夹中
  3. 重启服务器
  4. 插件会自动在 plugins/CustomCraft 目录下生成配置文件

配置文件说明

craft.json - 合成配方配置

配置文件位置: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
  • 使用步骤:
    1. 在游戏中手持物品,执行 /craft add <名称> 保存到配置
    2. 在配方中使用 名称@nbt 引用
  • 示例:
    • 配置中引用:"input": ["神剑@nbt"]
    • 作为输出:"output": "神剑@nbt"

说明:NBT 物品的实际数据存储在 nbtItems.json 文件中,格式为 物品ID:特殊值:数量:NBT数据(自动生成,无需手动编辑)
如果物品发生了改变(如附魔、自定义名称、Lore 等),需要重新执行 /craft add <名称> 保存到配置文件中,否则插件将无法识别为同一物品。
如果不知道普通物品的ID或特殊值,也可在游戏中手持物品执行 /craft add <名称> 保存到配置文件中,当作NBT物品使用。

3. 命名空间物品格式(自定义物品)

用于新版本的命名空间 ID 物品:

  • 格式:命名空间ID:数量
  • 示例:minecraft:diamond_sword:1minecraft: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"
}

上面的例子表示用木板和木棍合成木镐。

nbtItems.json - NBT 物品配置

如果你需要使用带有特殊属性(如附魔、自定义名称等)的物品作为材料或产物,可以使用游戏内命令添加到此配置文件。

配置文件位置:plugins/CustomCraft/nbtItems.json

NBT 物品配置格式

此文件由插件自动维护,通常不需要手动编辑。格式如下:

{
  "物品名称": "物品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"
}

使用方法:

  1. 通过命令添加(推荐):
/craft add 神剑

系统会自动保存手中物品的所有 NBT 数据

  1. 在配方中引用:
{
  "type": 0,
  "input": ["神剑@nbt", "diamond:0:8"],
  "output": "超级神剑@nbt"
}

注意事项:

  • NBT 数据包含了物品的所有特殊属性(附魔、自定义名称、Lore、隐藏标志等)
  • 带 NBT 的物品必须完全匹配才能用于合成(包括附魔等级、名称等)
  • 建议使用命令添加 NBT 物品,避免手动编辑出错

使用教程

1. 添加简单配方

直接编辑 craft.json 文件,按照上面的格式添加配方,然后使用 /reload 重载插件。

2. 使用 NBT 物品创建高级配方

NBT 物品可以保存物品的所有特殊属性,包括:

  • 附魔(锋利、耐久等)
  • 自定义名称和描述(Lore)
  • 隐藏的标志
  • 其他 NBT 数据

操作步骤:

  1. 准备你的特殊物品

    • 在游戏中制作或获取一个带有特殊属性的物品
    • 例如:一把附魔了锋利 V 的钻石剑,重命名为"神剑"
  2. 保存物品到配置

    • 手持该物品
    • 执行命令:/craft add <名称>
    • 例如:/craft add 神剑
    • 系统会提示保存成功
  3. 在配方中引用 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 物品

3. 测试配方

  1. 保存配置文件
  2. 在游戏中使用 /reload 命令重载插件
  3. 打开合成台测试你的配方

命令说明

命令 说明 权限
/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 文件,所有通过命令保存的物品都会列在这里。

反馈与支持

如果你在使用过程中遇到问题或有建议,欢迎通过以下方式反馈:

About

A custom crafting and furnace recipe plugin for Nukkit-MOT

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages