AdventureCraftings
高级自定义合成插件 — 全 GUI 编辑器、条件合成、合成时间、随机配方、物品交互命令
🔨 6种配方类型
🖥️ 全GUI编辑器
⏳ 合成时间+BossBar
🎲 随机配方
🔗 NBT完全兼容
📦 Spigot/Paper 1.20.1~1.21.5
核心功能
全 GUI 配方编辑
/acraft create 打开图形编辑器,拖放物品即可创建配方
配方菜单系统
分类浏览、翻页、详情页、一键合成
合成时间
BossBar 进度 + GUI 进度面板 + 可取消
随机配方
权重随机结果、随机附魔等级、随机 Lore 池
条件系统
等级、金钱(Vault)、职业(SkillAPI)、PAPI变量
完全NBT兼容
药水、怪物蛋、彩色盔甲、头颅、盾牌、附魔书、烟花
下一篇安装 →
安装
环境要求
| 项目 | 要求 |
|---|---|
| 服务端 | Spigot / Paper 1.20.1 ~ 1.21.5 |
| Java | Java 17+ |
| 可选依赖 | Vault, PlaceholderAPI, SkillAPI/ProSkillAPI, MythicMobs, AdventureManage |
安装步骤
- 将
AdventureCraftings-1.1.0.jar放入plugins/ - 重启服务器,自动生成配置文件和
recipes/目录 - 编辑
config.yml调整全局设置 - 使用
/acraft create <ID>通过 GUI 创建配方 - 使用
/acraft menu打开配方菜单
目录结构
plugins/AdventureCraftings/
├── config.yml # 全局配置
├── messages.yml # 消息配置
└── recipes/ # 配方文件夹
├── example.yml # 示例配方
└── *.yml # 自定义配方文件
提示: 插件首次启动自动生成
example.yml 示例配方,包含有序、无序和随机配方三个完整示例。上一篇← 概览
下一篇更新日志 →
更新日志
v1.1.0 LATEST
- NEW AdventureManage 绑定物品过滤 — 合成时自动检测并跳过 AdventureManage 绑定物品,防止绑定物品被用作合成材料消耗。通过反射调用
ItemBindManager,无编译依赖 - CONFIG softdepend 更新 — plugin.yml 新增 AdventureManage 为可选依赖
v1.0.0
- NEW 完整配方系统 — 支持有序(SHAPED)、无序(SHAPELESS)、熔炉(FURNACE)、烟熏炉(SMOKING)、高炉(BLASTING)、锻造台(SMITHING) 六种类型
- NEW GUI 配方编辑器 —
/acraft create和/acraft edit,3×3 材料格 + 结果槽 + 可视化设置面板 - NEW 配方分类菜单 — 分类浏览、翻页、详情页、一键合成
- NEW 合成时间系统 — BossBar 进度 + GUI 进度面板 + 可取消
- NEW 条件系统 — 等级、金钱(Vault)、职业(SkillAPI)、变量(PAPI)
- NEW 随机配方 — 权重随机结果、随机附魔等级、随机 Lore 池
- NEW 物品交互命令 — 右键物品执行命令系统(冷却/消耗/权限)
- NEW 完全物品兼容 — NBT、药水、怪物蛋、彩色盔甲、头颅、盾牌、附魔书、烟花
- NEW 原版配方注册 — 自动注册 Bukkit 配方,工作台即可合成
- NEW 外部插件集成 — Vault 经济、PlaceholderAPI 变量、SkillAPI 职业
上一篇← 安装
下一篇命令总表 →
命令总表
基础命令
| 命令 | 说明 | 权限 |
|---|---|---|
/acraft help | 显示帮助信息 | 无 |
/acraft menu | 打开配方菜单 | adventurecraftings.menu |
/acraft info | 插件信息(版本/配方数/Hook状态) | 无 |
/acraft info <ID> | 查看指定配方详情 | 无 |
/acraft reload | 重载所有配置和配方 | adventurecraftings.reload |
编辑器命令
| 命令 | 说明 | 权限 |
|---|---|---|
/acraft create <ID> | 打开 GUI 编辑器创建新配方 | adventurecraftings.create |
/acraft edit <ID> | 打开 GUI 编辑器编辑已有配方 | adventurecraftings.edit |
管理命令
| 命令 | 说明 | 权限 |
|---|---|---|
/acraft list [页码] | 列出所有配方(分页) | adventurecraftings.list |
/acraft delete <ID> | 删除指定配方 | adventurecraftings.delete |
/acraft give <玩家> <ID> [数量] | 给予玩家配方结果物品 | adventurecraftings.give |
别名:
/acraft 可简写为 /ac 或 /adventurecraftings上一篇← 更新日志
下一篇配方浏览菜单 →
配方编辑器
编辑器布局 (54格)
行1: [黑] [黑] [黑] [黑] [黑] [黑] [黑] [黑] [黑]
行2: [黑] [格1][格2][格3] [黑] [类型][权限][分类]
行3: [黑] [格4][格5][格6] [黑] [→] [结果] [黑]
行4: [黑] [格7][格8][格9] [黑] [时间][概率][条件]
行5: [黑] [黑] [黑] [黑] [黑] [命令][1次] [无限]
行6: [保存][黑] [黑] [黑] [黑] [黑] [黑] [黑] [取消]
设置按钮
| 按钮 | 材质 | 功能 |
|---|---|---|
| 配方类型 | 工作台 | 切换 SHAPED / SHAPELESS / FURNACE / SMOKING / BLASTING / SMITHING |
| 权限 | 铁门 | 设置合成所需权限节点(聊天输入) |
| 分类 | 书 | 设置所属分类 ID(聊天输入) |
| 合成时间 | 时钟 | 设置合成耗时秒数(聊天输入) |
| 成功概率 | 经验瓶 | 设置成功率 0-100(聊天输入) |
| 额外条件 | 红石比较器 | 依次设置等级、金钱、职业(聊天输入) |
| 完成命令 | 命令方块 | 添加合成完成后执行的命令(多行输入) |
| 一次性配方 | 染料 | 点击切换开/关 |
| 无限材料 | 染料 | 点击切换开/关 |
| 保存 | 绿色羊毛 | 保存配方到文件 |
| 取消 | 红色羊毛 | 取消并关闭编辑器 |
聊天输入模式: 点击权限/分类/时间/概率/条件/命令按钮后,GUI 关闭进入聊天输入模式。输入完成后 GUI 自动重新打开。输入
cancel 可取消。上一篇← 配方浏览菜单
下一篇合成进度界面 →
合成进度界面
当配方设置了合成时间 (craft-time > 0) 时,点击合成按钮后打开进度界面:
┌──────────────────────────────┐
│ │
│ [红] [红] [红] [结果] [红] [红] [红] │
│ │
│ [取消] │
└──────────────────────────────┘
进度条从红色逐渐变为绿色
同时显示 BossBar 进度条
- 材料在开始合成时立即消耗
- BossBar 显示剩余秒数,实时更新
- 点击底部取消按钮可取消合成(材料已消耗不退还)
- 关闭 GUI 或下线会自动取消合成
- 合成完成后自动判定成功率,给予结果物品
上一篇← 配方编辑器
下一篇配方类型 →
配方类型
| 类型 | 说明 | 原版注册 |
|---|---|---|
SHAPED | 有序合成 — 材料必须按指定位置排列(3×3 格) | ✔ |
SHAPELESS | 无序合成 — 材料放在任意位置即可 | ✔ |
FURNACE | 熔炉 — 熔炼配方 | ✘ (仅 GUI) |
SMOKING | 烟熏炉 — 烟熏配方 | ✘ (仅 GUI) |
BLASTING | 高炉 — 高炉冶炼配方 | ✘ (仅 GUI) |
SMITHING | 锻造台 — 锻造配方 (1.20+) | ✘ (仅 GUI) |
原版注册: 当
settings.register-vanilla-recipes: true 时,SHAPED 和 SHAPELESS 的简单配方(无合成时间、无随机结果)会自动注册为 Bukkit 原版配方。上一篇← 合成进度界面
下一篇配方配置格式 →
配方配置格式
配方存储在 plugins/AdventureCraftings/recipes/ 目录下的 YAML 文件中。每个文件可包含多个配方。
有序合成 (SHAPED) 示例
recipes:
diamond_hammer:
enabled: true
display-name: "&b&l钻石锤"
category: "tool"
type: SHAPED
shape:
- "DDD"
- " S "
- " S "
ingredients:
D: { material: DIAMOND }
S: { material: STICK }
result:
material: DIAMOND_PICKAXE
amount: 1
name: "&b&l钻石锤"
enchantments: { efficiency: 5, unbreaking: 3 }
craft-time: 0
success-chance: 100
配方字段详解
| 字段 | 类型 | 说明 |
|---|---|---|
enabled | boolean | 是否启用此配方 |
display-name | string | 配方显示名称(支持 & 颜色代码) |
category | string | 所属分类 ID |
type | enum | SHAPED / SHAPELESS / FURNACE / SMOKING / BLASTING / SMITHING |
permission | string | 合成所需权限(空=无限制) |
shape | list | 有序合成 3 行排列模式 |
ingredients | section | 有序合成材料映射(字符→物品) |
ingredients-list | list | 无序合成材料列表 |
result | section | 合成结果物品 |
conditions | section | 额外合成条件 |
craft-time | int | 合成时间(秒),0=即时 |
success-chance | double | 成功概率 0-100 |
commands | list | 合成成功后执行命令列表 |
one-time | boolean | 一次性配方(每人只能合成一次) |
hidden | boolean | 隐藏配方(不满足条件时不显示) |
infinite-materials | boolean | 无限材料模式 |
物品格式
| 字段 | 说明 |
|---|---|
material | 材质名称 (如 DIAMOND_SWORD) |
amount | 数量(默认1) |
name | 自定义显示名称 |
lore | 自定义 Lore 列表 |
enchantments | 附魔表(附魔ID: 等级) |
custom-model-data | 自定义模型数据 |
skull-owner | 头颅拥有者 |
leather-color | 皮革颜色 (#RRGGBB) |
potion-effects | 药水效果列表 |
stored-enchantments | 附魔书存储附魔 |
patterns | 旗帜/盾牌图案列表 |
firework-power | 烟花飞行高度 |
firework-effects | 烟花效果列表 |
GUI 创建的配方: 通过 GUI 编辑器创建的配方自动保存原生 ItemStack 数据(
_native 字段),确保 100% 保留所有 NBT 信息。上一篇← 配方类型
下一篇合成条件 →
合成条件
| 条件 | 配置 | 说明 |
|---|---|---|
| 权限 | permission: "node" | 需要指定权限节点 |
| 等级 | conditions.level: 10 | 经验等级需达到指定值 |
| 金钱 | conditions.money: 500.0 | Vault 余额需达到(合成时扣除) |
| 职业 | conditions.class: "warrior" | SkillAPI 职业需匹配 |
| 变量 | conditions.variables | PlaceholderAPI 占位符条件 |
PAPI 变量条件
conditions:
variables:
"%player_level%": ">=30"
"%vault_eco_balance%": ">=1000"
"%player_world%": "==world"
支持的运算符
| 运算符 | 说明 |
|---|---|
>= | 大于等于 |
<= | 小于等于 |
> | 大于 |
< | 小于 |
== | 等于(字符串) |
!= | 不等于 |
上一篇← 配方配置格式
下一篇随机配方 →
随机配方
权重随机结果
random-results:
- weight: 50
material: DIAMOND
amount: 5
name: "&b钻石奖励"
- weight: 30
material: NETHERITE_INGOT
amount: 1
name: "&4下界合金"
- weight: 20
material: ENCHANTED_GOLDEN_APPLE
amount: 3
name: "&6&l终极奖励"
注意: 设置了
random-results 的配方不会注册为原版 Bukkit 配方,只能通过 GUI 菜单合成。随机附魔等级
random-enchant-levels:
sharpness: "3-5" # 锋利 3-5 级随机
unbreaking: "1-3" # 耐久 1-3 级随机
fire_aspect: "1-2" # 火焰附加 1-2 级随机
随机 Lore 池
random-lore-pool:
- ["&7普通品质", "&7攻击力 +10"]
- ["&a优秀品质", "&a攻击力 +20"]
- ["&6&l传说品质", "&6攻击力 +50", "&e暴击率 +15%"]
上一篇← 合成条件
下一篇高级特性 →
高级特性
一次性配方
设置 one-time: true 后,每个玩家只能合成该配方一次。记录在内存中,服务器重启后重置。
无限材料模式
设置 infinite-materials: true 后,合成不消耗材料。适用于展示、测试或特殊活动。
隐藏配方
设置 hidden: true 后,不满足条件的玩家在菜单中看不到该配方。全局设置 settings.hide-no-permission: true 会隐藏无权限的所有配方。
合成命令
commands:
- "effect give %player% regeneration 30 2"
- "broadcast &e%player% &6合成了一个传说物品!"
- "title %player% title {\"text\":\"合成成功!\",\"color\":\"gold\"}"
支持 %player% 占位符,命令以控制台身份执行。
上一篇← 随机配方
下一篇config.yml →
config.yml
settings 全局设置
| 配置项 | 默认值 | 说明 |
|---|---|---|
settings.prefix | &8[&6ACraft&8] &r | 消息前缀 |
settings.default-category | general | 默认分类 |
settings.register-vanilla-recipes | true | 注册原版 Bukkit 配方 |
settings.hide-no-permission | true | 隐藏无权限配方 |
settings.hide-no-conditions | false | 隐藏不满足条件的配方 |
settings.debug | false | 调试模式 |
crafting-gui 合成 GUI
| 配置项 | 默认值 | 说明 |
|---|---|---|
crafting-gui.title | &8&l自定义合成 | 合成界面标题 |
crafting-gui.progress.use-bossbar | true | 使用 BossBar 进度 |
crafting-gui.progress.bossbar-color | GREEN | BossBar 颜色 |
crafting-gui.progress.bossbar-style | SEGMENTED_10 | BossBar 样式 |
menu 配方菜单
| 配置项 | 默认值 | 说明 |
|---|---|---|
menu.title | &0&l配方菜单 | 配方列表标题 |
menu.items-per-page | 28 | 每页显示数量 |
menu.category-title | &0&l配方分类 | 分类选择页标题 |
menu.detail-title | &0&l%name% | 详情页标题 |
上一篇← 高级特性
下一篇messages.yml →
messages.yml
所有消息支持 & 颜色代码和 %placeholder% 占位符。
| 分组 | 说明 |
|---|---|
general.* | 通用消息(重载、无权限、未知命令、找不到配方) |
recipe.* | 合成相关(成功、失败、开始、取消、材料不足等) |
editor.* | 编辑器消息(创建、保存、删除、输入提示等) |
admin.* | 管理命令(give 成功/失败) |
占位符变量
| 变量 | 说明 |
|---|---|
%id% | 配方 ID |
%item% | 物品名称 |
%count% | 配方数量 |
%chance% | 成功概率 |
%time% | 合成时间 |
%player% | 玩家名 |
%level% / %money% / %class% | 条件值 |
上一篇← config.yml
下一篇分类配置 →
分类配置
在 config.yml 的 categories 节点定义配方分类:
categories:
general:
display-name: "&f通用"
icon: CRAFTING_TABLE
description: ["&7通用配方分类"]
priority: 0
weapon:
display-name: "&c武器"
icon: DIAMOND_SWORD
description: ["&7武器类配方"]
priority: 1
tool:
display-name: "&a工具"
icon: DIAMOND_PICKAXE
description: ["&7工具类配方"]
priority: 3
| 字段 | 说明 |
|---|---|
display-name | 分类显示名称(支持颜色代码) |
icon | 分类图标材质名 |
description | 分类描述(图标 Lore) |
priority | 排序优先级(数字越小越靠前) |
上一篇← messages.yml
下一篇交互命令 →
交互命令配置
在 config.yml 的 interact-commands 节点配置物品交互命令:
interact-commands:
enabled: true
items:
magic_wand:
material: BLAZE_ROD
name: "&d&l魔法棒"
lore: ["&7右键使用"]
commands:
- "effect give %player% speed 30 1"
cooldown: 60
consume: false
permission: "adventurecraftings.interact.magic_wand"
| 字段 | 说明 |
|---|---|
material | 物品材质 |
name | 物品名称(必须匹配) |
lore | 物品 Lore(需包含) |
commands | 命令列表(player: 前缀=玩家身份执行) |
cooldown | 冷却时间(秒),0=无冷却 |
consume | 使用后是否消耗物品 |
permission | 使用权限(空=无限制) |
上一篇← 分类配置
下一篇兼容性 →
物品与插件兼容
完全兼容的物品类型
| 物品类型 | 说明 |
|---|---|
| NBT 标签 | 所有自定义 NBT 数据 |
| 药水 | 自定义药水效果、颜色 |
| 怪物蛋 | 所有版本的生物类型 |
| 彩色盔甲 | 自定义 RGB 颜色 |
| 玩家头颅 | 指定玩家/自定义皮肤 |
| 盾牌 | 自定义旗帜图案 |
| 附魔书 | 存储的附魔数据 |
| 烟花 | 飞行高度、爆炸效果 |
| 自定义模型 | CustomModelData |
外部插件集成
| 插件 | 用途 | 说明 |
|---|---|---|
| Vault | 经济系统 | 合成条件金钱检查和扣费 |
| PlaceholderAPI | 变量条件 | 支持所有 PAPI 占位符 |
| SkillAPI / ProSkillAPI | 职业条件 | 反射调用,无硬依赖 |
| MythicMobs | Boss 物品 | 完全兼容自定义物品(通过 NBT 保存) |
| AdventureManage | 绑定物品过滤 | 合成时自动跳过AM绑定物品,反射调用无编译依赖 v1.1 |
所有外部插件都是软依赖,不安装时对应功能自动跳过,不影响插件运行。
上一篇← 交互命令
下一篇权限节点 →
权限节点
| 权限 | 说明 | 默认 |
|---|---|---|
adventurecraftings.admin | 完整管理权限(包含所有子权限) | op |
adventurecraftings.menu | 打开配方菜单 | true |
adventurecraftings.craft | 使用自定义合成 | true |
adventurecraftings.create | 通过 GUI 创建配方 | op |
adventurecraftings.edit | 通过 GUI 编辑配方 | op |
adventurecraftings.delete | 删除配方 | op |
adventurecraftings.reload | 重载插件 | op |
adventurecraftings.give | 给予玩家配方结果 | op |
adventurecraftings.list | 列出所有配方 | op |
配方权限: 每个配方可通过
permission 字段设置独立的合成权限节点。上一篇← 兼容性