Hook 联动
Baikiruto 当前和 Hook 插件相关的功能,主要分成 4 类:
MythicMobs:怪物出生时自动装备 Baikiruto 物品,死亡时掉落 Baikiruto 物品AttributePlus:把物品里的运行时属性同步到 AttributePlusHeadDatabase:把 HDB ID 自动转换成头颅贴图PlaceholderAPI:在物品最终显示阶段自动替换 PAPI 变量
如果你只是想知道总开关写在哪,看 config.yml;如果你想知道每个 Hook 的物品写法、怪物写法、诊断方式,就看这页。
总开关
源码真实读取的 Hook 开关路径是:
operations:
hook:
mythic:
enabled: true
attribute-plus:
enabled: true
head-database:
enabled: true
说明:
MythicMobs、AttributePlus、HeadDatabase都挂在operations.hook.*.enabled下PlaceholderAPI没有独立的operations.hook.placeholderapi.enabled开关PlaceholderAPI只要物品显示阶段拿得到玩家上下文,就会自动尝试替换变量
1. MythicMobs
作用
开启后,你可以在 MythicMobs 的怪物配置里直接:
- 给怪物装备 Baikiruto 物品
- 给怪物配置 Baikiruto 掉落
怪物装备写法
Baikiruto:
equipments:
mainhand: "example:all_features"
offhand: "example:guardian_totem"
helmet: "air"
规则:
- 值直接写 Baikiruto 物品 ID
- 写
air可以清空该槽位 - 槽位支持这些别名:
mainhand/main_hand/handoffhand/off_handhead/helmetchest/chestplatelegs/leggingsfeet/boots
怪物掉落写法
Baikiruto:
drops:
- "example:all_features 1-3 0.5"
- "example:remainder 1 1.0"
每一行的格式是:
物品ID 数量或范围 概率
例如:
example:all_features 1-3 0.5= 掉落1~3个,概率50%example:remainder 1 1.0= 固定掉落1个,概率100%
使用提示
- 如果是玩家击杀,Baikiruto 会把
player、sender、killer一起塞进掉落构建上下文 - 所以掉落物也可以继续吃脚本变量、绑定逻辑和显示替换
- 如果某个掉落没生效,优先检查物品 ID 是否真的能通过
/baikiruto list查到
2. AttributePlus
作用
开启后,Baikiruto 会在 AttributePlus 刷新玩家属性时,扫描:
- 主手
- 副手
- 头盔
- 胸甲
- 护腿
- 靴子
只要这些装备里有 Baikiruto 物品,且运行时数据里带了 attribute-plus,就会同步给 AttributePlus。
物品写法
最常见写法是放在 data: 里:
data:
attribute-plus:
critChance: 1.0
finalDamage: "2.0-4.0"
skillDamage:
min: 3
max: 6
也支持这些键名:
attribute-plusattribute_plusattributePlus
数值写法
每个属性值都可以写成:
# 单值
critChance: 1.0
# 范围字符串
finalDamage: "2.0-4.0"
# 列表
skillDamage: [3, 6]
# Map
skillDamage:
min: 3
max: 6
说明:
- 单值会被当成固定值
- 范围值会被解析成最小值 / 最大值
- 具体属性名是否有效,要跟随你自己的 AttributePlus 配置体系,不由 Baikiruto 再做一层白名单校验
meta.attribute是 Baikiruto 自己的内置属性快捷写法,不等于 AttributePlus Hook
3. HeadDatabase
作用
开启后,Baikiruto 会把头颅配置里的 HDB ID 自动转换成真正的头颅贴图。
物品写法
meta:
skull:
hdb: "12345"
也支持:
head-databasehead_databasehdb
这两种都能用:
hdb: "12345"
hdb: "hdb:12345"
源码会自动去掉 hdb: 前缀。
适合场景
- 菜单按钮头颅
- Boss 掉落头颅
- 收集品 / 图鉴头颅
- 头像类兑换道具
使用提示
- 前提是服务端安装了
HeadDatabase - 前提是
operations.hook.head-database.enabled: true - Hook 命中后,会把 HDB ID 转成真正的
skull-texture,并覆盖旧的skull-url
4. PlaceholderAPI
作用
Baikiruto 会在物品最终显示阶段,对名称和 Lore 自动做 PlaceholderAPI 替换。
典型写法
name: "&6%player_name% 的试炼之刃"
lore:
item_description:
- "&7当前玩家: %player_name%"
- "&7职业: %player_class%"
使用提示
- 这一步没有独立 Hook 开关
- 必须拿得到玩家上下文,替换才有意义
- 更准确地说,它发生在物品最终显示阶段,而不是加载配置时
- 如果你在控制台、离线构建或无玩家上下文的路径里看不到替换结果,通常是正常现象
联动示例速查
Boss 装备 + 掉落
Baikiruto:
equipments:
mainhand: "example:all_features"
offhand: "example:guardian_totem"
drops:
- "example:all_features 1-2 0.35"
- "example:remainder 1 1.0"
适合:
- RPG 怪物专属武器
- Boss 固定装备
- 概率掉落自定义道具
AttributePlus + PlaceholderAPI 武器
name: "&6%player_name% 的试炼之刃"
lore:
item_description:
- "&7暴击加成已同步到 AttributePlus"
- "&7当前主人: %player_name%"
data:
attribute-plus:
critChance: 2.0
finalDamage: "4.0-8.0"
效果:
attribute-plus会在 AttributePlus 刷新属性时生效%player_name%会在物品最终显示阶段自动替换
HeadDatabase 菜单头颅
meta:
skull:
hdb: "12345"
效果:
- 适合做菜单按钮头颅
- 不需要手动找 base64 贴图
排错
1. 先看配置开关
确认 config.yml 里:
operations:
hook:
mythic:
enabled: true
attribute-plus:
enabled: true
head-database:
enabled: true
2. 用自检或诊断命令确认状态
可以用:
/baikiruto selfcheck
/baikiruto reload debug
你会看到这类诊断键:
hookMythicConfiguredhookMythicAvailablehookAttributePlusConfiguredhookAttributePlusAvailablehookHeadDatabaseConfiguredhookHeadDatabaseAvailablehookHeadDatabaseLoaded
常见判断方式:
Configured=true但Available=false:通常是目标插件没装,或对应类没加载到HeadDatabaseAvailable=true但HeadDatabaseLoaded=false:通常是 HDB 已装,但数据库还没准备好
3. 物品侧再检查一次
- Mythic 掉落或装备不生效:先用
/baikiruto list确认物品 ID 存在 - AttributePlus 不生效:确认你写的是
data.attribute-plus,不是meta.attribute - HeadDatabase 不生效:确认写的是
meta.skull.hdb/head-database - PlaceholderAPI 不替换:确认当前是玩家实际看到的显示阶段,而不是纯后台构建阶段