CustomCraft 自定义合成

二次开发 插件 CustomCraft 自定义合成 2.0.0-SNAPSHOT

请登录后获取
版权类型
二次开发
API版本
Nukkit-MOT
版权链接
https://github.com/MemoriesOfTime/CustomCraft/
语言支持
中文(简体)
[MD] # 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:1`、`minecraft:netherite_ingot:1` **在配方中混合使用示例:** ```json { "type": 1, "maxCraftCount": -1, "input": { "A": "神剑@nbt", "B": "minecraft:diamond:0:1", "C": "minecraft:netherite_ingot:1" }, "shape": [ "ABA", "BCB", "ABA" ], "output": "超级神剑@nbt" } ``` #### 配置示例 **无序合成示例**(将泥土合成为工作台): ```json { "recipes": [ { "type": 0, "maxCraftCount": -1, "input": [ "3:0" ], "output": "58:0:1" } ] } ``` **有序合成示例**(9 个泥土按 3x3 摆放合成工作台,并额外获得 1 个泥土): ```json { "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 材料 你可以定义多种材料: ```json { "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 物品配置格式 此文件由插件自动维护,通常不需要手动编辑。格式如下: ```json { "物品名称": "物品ID:特殊值:数量:NBT数据" } ``` **字段说明:** - `物品名称`:自定义的物品标识符,用于在配方中引用 - `物品ID`:Minecraft 物品 ID(数字)或命名空间 ID(如 `minecraft:diamond_sword`) - `特殊值`:物品的特殊值/损害值(如钻石剑的耐久) - `数量`:物品数量 - `NBT数据`:物品的 NBT 标签数据(Base64 编码),如果没有 NBT 数据则为 `not` #### 示例配置 ```json { "神剑": "276:0:1:CgAACQQAZW5jaAoBAAAAAgIAaWQJAAIDAGx2bAMAAA==", "普通钻石": "264:0:1:not", "自定义物品": "minecraft:diamond_sword:1:nbt" } ``` **使用方法:** 1. 通过命令添加(推荐): ``` /craft add 神剑 ``` 系统会自动保存手中物品的所有 NBT 数据 2. 在配方中引用: ```json { "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"` **完整示例 - 用普通材料合成特殊物品:** ```json { "type": 1, "maxCraftCount": 1, "input": { "A": "diamond:0", "B": "emerald:0" }, "shape": [ "AAA", "ABA", "AAA" ], "output": "神剑@nbt" } ``` **完整示例 - 升级特殊物品:** ```json { "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` 文件,所有通过命令保存的物品都会列在这里。 ## 反馈与支持 如果你在使用过程中遇到问题或有建议,欢迎通过以下方式反馈: - 提交 Issue:[CustomCraft GitHub Issues](https://github.com/MemoriesOfTime/CustomCraft/issues) [/MD]
作者
lt_name
价格
10.00金粒
下载
18
查看
704
首次发布
最后更新

评分

0.00 星 0 次评分

lt_name 的其他资源

后退
顶部 底部