AdventureCraft
套装技能触发系统 — 穿戴装备释放 MythicMobs 技能
这是什么?
AdventureCraft 是一个套装技能触发系统插件。玩家穿戴指定套装后,通过右键/左键/Shift+点击/潜行等操作触发对应的 MythicMobs 技能。支持多层级套装、CraftEngine 自定义物品、BossBar 冷却显示、自动技能套装生成等功能。
核心功能
安装与依赖
环境要求
| 项目 | 要求 |
|---|---|
| 服务端 | Paper / Purpur 1.21+ |
| Java | Java 21+ |
| 可选依赖 | MythicMobs (技能释放) |
| 可选依赖 | CraftEngine (自定义物品匹配) |
| 可选依赖 | AdventureManage |
安装步骤
- 将
AdventureCraft-2.3.jar放入plugins/文件夹 - 重启服务器
- 插件自动生成
plugins/AdventureCraft/目录及默认配置 - 在
sets/文件夹中配置你的套装 - 使用
/ac reload重载配置
文件结构
plugins/AdventureCraft/
├── config.yml # 主配置 (消息、调试)
├── auto_skills.yml # 自动技能套装生成配置
└── sets/ # 套装配置文件夹
├── guardian_set.yml # 示例: 守护者套装
├── forest_guardian_set.yml # 示例: 森林守护者套装
├── vital_beam_set.yml # 示例: 生命光束套装
├── lifeweavers_grace_set.yml # 示例: 生命织者套装
└── auto_generated_*.yml # 自动生成的套装文件
套装系统
概览
套装系统是 AdventureCraft 的核心。每个套装定义了一组装备匹配条件和对应的技能触发配置。玩家穿戴匹配的装备后,执行指定动作即可触发技能。
匹配机制
套装匹配检查玩家的 5 个装备槽:头盔、胸甲、护腿、靴子和主手武器。
| 匹配方式 | 配置键 | 说明 |
|---|---|---|
| 材质匹配 | material | 匹配物品材质类型,如 DIAMOND_HELMET |
| 名称匹配 | name-contains | 物品名包含指定文字 (支持颜色代码) |
| Lore 匹配 | lore-contains | 物品 Lore 包含指定文字 |
| CraftEngine | craftengine-id | 匹配 CraftEngine 自定义物品 ID |
层级系统
每个套装支持多个层级 (Tier)。层级编号越大越优先匹配。适用于同一套装不同品质/进化阶段的场景。
tiers:
1:
display-name: "&a初级守护者"
armor:
helmet: { material: IRON_HELMET }
chestplate: { material: IRON_CHESTPLATE }
leggings: { material: IRON_LEGGINGS }
boots: { material: IRON_BOOTS }
weapon:
required: true
type: any
triggers:
RIGHT_CLICK:
skill: guardian_shield
cooldown: 8
damage: 0
heal: 20
message: "&a释放了守护之盾!"
2:
display-name: "&b高级守护者"
armor:
helmet: { craftengine-id: "default:guardian_helmet_t2" }
chestplate: { craftengine-id: "default:guardian_chestplate_t2" }
leggings: { craftengine-id: "default:guardian_leggings_t2" }
boots: { craftengine-id: "default:guardian_boots_t2" }
weapon:
required: true
type: specific
craftengine-id: "default:guardian_sword_t2"
triggers:
RIGHT_CLICK:
skill: guardian_shield_ex
cooldown: 5
damage: 0
heal: 40
message: "&b释放了高级守护之盾!"
武器要求
| 配置 | 说明 |
|---|---|
required: false | 不要求主手持有武器 |
required: true, type: any | 主手必须持有任意物品 |
required: true, type: specific | 主手必须持有指定物品 (通过 material/craftengine-id 匹配) |
触发方式
支持的触发类型
| 触发类型 | 操作 | 说明 |
|---|---|---|
RIGHT_CLICK | 右键 (空气/方块) | 不按 Shift 的右键 |
LEFT_CLICK | 左键 (空气/方块/攻击) | 不按 Shift 的左键或攻击实体 |
SHIFT_RIGHT_CLICK | Shift + 右键 | 潜行状态下右键 |
SHIFT_LEFT_CLICK | Shift + 左键 | 潜行状态下左键或攻击实体 |
SNEAK | 按下 Shift | 开始潜行时触发 (非持续) |
触发配置
triggers:
RIGHT_CLICK:
skill: fire_storm # MythicMobs 技能 ID
cooldown: 10 # 冷却时间 (秒)
damage: 50 # 伤害值 → 写入记分板 ac_damage
heal: 25 # 治疗百分比 → 写入记分板 ac_heal
message: "&c释放了火焰风暴!" # 释放提示消息
记分板传参
技能触发时,插件会将 damage 和 heal 值写入 Bukkit 记分板,供 MythicMobs 技能读取:
| 记分板 | 说明 |
|---|---|
ac_damage | 伤害值 (int),可在 MM 技能中通过 <score.ac_damage> 引用 |
ac_heal | 治疗百分比 (int),可在 MM 技能中通过 <score.ac_heal> 引用 |
插件通过 mm test cast <skillId> 命令释放技能,并临时赋予玩家 mythicmobs.command.test.cast 权限 (1 tick)。
技能与冷却
冷却机制
每个触发动作有独立的冷却计时。冷却按 玩家 + 套装ID + 层级 + 触发方式 唯一标识。
- 冷却期间触发同一技能会收到冷却提示消息
- 不同套装、不同层级、不同触发方式的冷却互不影响
- 使用
/ac reload会清除所有冷却
BossBar 冷却显示
技能释放后,玩家会看到一个 BossBar 实时显示冷却进度:
- 标题显示技能名称 + 剩余秒数
- 进度条从满到空递减
- 颜色动态变化:黄色(>25%) → 红色(≤25%)
- 冷却结束自动消失
- 新技能释放会覆盖当前 BossBar
技能消息
每个触发可配置独立的 message。如果设置了消息,触发时会同时:
- 在聊天栏显示
[前缀] + message - BossBar 标题使用 message 文本 (而非技能ID)
自动技能套装
概览
自动技能功能允许你在 auto_skills.yml 中简单列出技能ID和参数,插件会自动在 sets/ 文件夹中生成完整的套装配置文件。适合快速测试或批量配置简单技能。
配置格式
# auto_skills.yml
defaults:
trigger: RIGHT_CLICK # 默认触发方式
armor_material: IRON # 默认护甲材质
weapon_required: true # 是否要求手持武器
set_id_prefix: auto_skill # 生成的套装ID前缀
skills:
- id: my_custom_skill_001 # MythicMobs 技能ID
enabled: true # 是否启用
cooldown: 5 # 冷却秒数
damage: 10 # 伤害值
heal: 25 # 治疗百分比
range: 12 # 范围 (元数据)
duration: 60 # 持续时间 (元数据)
message: "&a释放了技能!" # 触发消息
- id: my_custom_skill_002
enabled: true
cooldown: 8
damage: 15
heal: 0
range: 18
duration: 80
message: "&b释放了技能!"
自动生成的套装都使用相同的护甲材质匹配条件。如果同时启用多个自动技能,可能只会触发其中一个(因为匹配条件相同)。建议一次只启用一个自动技能,或改用手动套装配置区分不同装备。
生成结果
执行 /ac reload 后,插件会:
- 删除旧的
auto_generated_*.yml文件 - 根据
skills列表重新生成 - 生成文件名:
auto_generated_<skill_id>.yml - 生成的文件包含完整的套装结构,可直接使用
config.yml 主配置
调试模式
debug: false # 开启后控制台输出触发详情
消息配置
messages:
prefix: "&6[冒险] &r" # 消息前缀
cooldown: "&c技能冷却中!剩余 {time} 秒" # 冷却提示
no-permission: "&c你没有权限使用此命令!" # 无权限
reload-success: "&a配置已重载!已加载 {count} 个套装" # 重载成功
# /ac list
list-header: "&6===== 已加载的套装 ====="
list-empty: "&7 暂无已加载的套装"
list-item: "&e - {name} &7({id}) [{tiers} 个层级]"
# /ac info
info-header: "&6===== {name} &6====="
info-tier: "&e T{tier}: {name}"
info-trigger: "&7 {trigger} -> &f{skill} &7(CD: {cd}s, DMG: {damage}, Heal: {heal}%)"
# /ac give
give-usage: "&c用法: /ac give <玩家> <套装ID> [层级]"
give-success: "&a已给予 {player} {name} &a({count} 件物品)"
give-no-items: "&e该套装层级没有配置 craftengine-id,无法自动给予物品"
give-no-tier: "&c套装 {id} 没有层级 T{tier}"
# /ac help
help-header: "&6===== AdventureCraft 冒险插件 ====="
help-reload: "&e/ac reload &7- 重载配置"
help-list: "&e/ac list &7- 列出所有套装"
help-info: "&e/ac info <套装ID> &7- 查看套装详情"
help-give: "&e/ac give <玩家> <套装ID> [层级] &7- 给予整套装备"
修改配置后使用 /ac reload 即可生效,同时清除所有冷却和 BossBar 显示。
套装配置文件详解
完整结构
# sets/guardian_set.yml
id: guardian_set # 套装唯一ID
display-name: "&6守护者套装" # 显示名称
tiers:
1: # 层级编号 (高优先)
display-name: "&a初级守护者" # 层级显示名
armor:
helmet:
material: IRON_HELMET # 材质匹配
# craftengine-id: "ns:item" # CraftEngine 匹配
# name-contains: "守护" # 名称包含
# lore-contains: "守护者" # Lore 包含
chestplate:
material: IRON_CHESTPLATE
leggings:
material: IRON_LEGGINGS
boots:
material: IRON_BOOTS
weapon:
required: true # 是否要求武器
type: any # any / specific
# craftengine-id: "ns:sword" # specific 时匹配
triggers:
RIGHT_CLICK:
skill: guardian_shield # MM技能ID
cooldown: 8 # 冷却秒
damage: 0 # 伤害值
heal: 20 # 治疗%
message: "&a释放了守护之盾!"
装备匹配优先级
每个装备槽支持多种匹配方式,可组合使用。所有指定的条件都必须满足(AND 关系):
craftengine-id— 最精确,推荐自定义物品使用name-contains— 按物品显示名匹配lore-contains— 按 Lore 文本匹配material— 按原版材质匹配
命令列表
| 命令 | 说明 | 权限 |
|---|---|---|
/ac | 显示帮助信息 | adventurecraft.admin |
/ac reload | 重载所有配置文件并清除冷却 | adventurecraft.admin |
/ac list | 列出所有已加载的套装 | adventurecraft.admin |
/ac info <套装ID> | 查看套装详细信息(层级、触发、技能) | adventurecraft.admin |
/ac give <玩家> <套装ID> [层级] | 给予玩家整套装备(需 CraftEngine ID) | adventurecraft.admin |
命令 /ac 的别名为 /adventurecraft。
权限节点
| 权限 | 说明 | 默认 |
|---|---|---|
adventurecraft.admin | 管理 AdventureCraft 插件(所有命令) | OP |
套装技能触发不需要任何权限,所有玩家穿戴匹配装备即可触发。权限仅用于管理命令。
更新日志
v2.3 LATEST
- NEW 自动技能套装生成 —
auto_skills.yml快速生成套装配置 - NEW /ac give 命令 — 给予玩家整套 CraftEngine 装备
- IMPROVED 层级匹配优化 — 高层级优先匹配 (TreeMap 逆序)
- CONFIG softdepend — 新增 AdventureManage 为可选依赖
v2.2
- NEW BossBar 冷却显示 — 技能释放后实时显示冷却进度
- NEW CraftEngine 集成 — 支持 craftengine-id 匹配装备
- IMPROVED 记分板传参 — damage/heal 写入记分板供 MM 读取
v2.1
- NEW 多触发方式 — 支持 5 种触发类型
- NEW 消息自定义 — 所有消息可在 config.yml 中配置
v2.0
- NEW 全新套装系统 — 基于 YAML 配置的灵活套装定义
- NEW 多层级支持 — 每个套装支持多个层级
- NEW 多匹配方式 — material / name / lore / CraftEngine