跳到主要内容

Hook 联动

Baikiruto 当前和 Hook 插件相关的功能,主要分成 4 类:

  • MythicMobs:怪物出生时自动装备 Baikiruto 物品,死亡时掉落 Baikiruto 物品
  • AttributePlus:把物品里的运行时属性同步到 AttributePlus
  • HeadDatabase:把 HDB ID 自动转换成头颅贴图
  • PlaceholderAPI:在物品最终显示阶段自动替换 PAPI 变量

如果你只是想知道总开关写在哪,看 config.yml;如果你想知道每个 Hook 的物品写法、怪物写法、诊断方式,就看这页。

总开关

源码真实读取的 Hook 开关路径是:

operations:
hook:
mythic:
enabled: true
attribute-plus:
enabled: true
head-database:
enabled: true

说明:

  • MythicMobsAttributePlusHeadDatabase 都挂在 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 / hand
    • offhand / off_hand
    • head / helmet
    • chest / chestplate
    • legs / leggings
    • feet / 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 会把 playersenderkiller 一起塞进掉落构建上下文
  • 所以掉落物也可以继续吃脚本变量、绑定逻辑和显示替换
  • 如果某个掉落没生效,优先检查物品 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-plus
  • attribute_plus
  • attributePlus

数值写法

每个属性值都可以写成:

# 单值
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-database
  • head_database
  • hdb

这两种都能用:

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

你会看到这类诊断键:

  • hookMythicConfigured
  • hookMythicAvailable
  • hookAttributePlusConfigured
  • hookAttributePlusAvailable
  • hookHeadDatabaseConfigured
  • hookHeadDatabaseAvailable
  • hookHeadDatabaseLoaded

常见判断方式:

  • Configured=trueAvailable=false:通常是目标插件没装,或对应类没加载到
  • HeadDatabaseAvailable=trueHeadDatabaseLoaded=false:通常是 HDB 已装,但数据库还没准备好

3. 物品侧再检查一次

  • Mythic 掉落或装备不生效:先用 /baikiruto list 确认物品 ID 存在
  • AttributePlus 不生效:确认你写的是 data.attribute-plus,不是 meta.attribute
  • HeadDatabase 不生效:确认写的是 meta.skull.hdb / head-database
  • PlaceholderAPI 不替换:确认当前是玩家实际看到的显示阶段,而不是纯后台构建阶段

下一步

  • 查看 物品配置 了解 datametacomponents 的完整结构
  • 查看 Meta 扩展 了解 Skull、Potion、Spawner 等内置能力