config.yml 原文逐行批注
所属:参考 · 相关:配置文件(分段说明版)
本页贴出 plugins/QinhItems/config.yml 的完整默认原文,并在每段后逐行批注。想看按主题归类的说明版,看 config.yml 全配置。
改完执行
/qi reload生效。注释行(#开头)是 QI 内置的中文说明,可保留。
顶部:语言与目录
yaml
# QinhItems 主配置
language: zh_CN
# 物品定义目录(相对插件目录)
items-folder: items
# 已废弃 — Action 仅写在 items/*.yml 的 actions.triggers 内
# actions-folder: actions
# 无 type 字段的物品归入此类型
default-type: misc
# 发放物品时是否尝试补满玩家背包空格
give-overflow-drop: true| 键 | 默认 | 说明 |
|---|---|---|
language | zh_CN | 消息语言代码 |
items-folder | items | 物品 YAML 目录(相对插件数据目录) |
default-type | misc | 无 type 字段物品的默认类型 |
give-overflow-drop | true | /qi give 背包满时溢出自然掉落 |
actions-folder已废弃:动作只写在items/*.yml的actions.triggers内。
写域隔离 write-domains
yaml
# Write Domain Isolation — 分离 runtime / layer / instance 写入源
write-domains:
strict: true
runtime-owners:
- qi_admin
- qi_ui
- admin
runtime-prefixes:
- buff_
- temp_
- ui_
layer-owners:
- strengthen
- forge
- gem
- enchant
- socket
- refine
- embed
- upgrade
layer-prefixes:
- sys_
- layer_strict: true— 严格域隔离,越权写入报错;false仅警告。runtime-owners/runtime-prefixes— 允许写 RUNTIME 域(临时 buff / UI)的 owner / 前缀。layer-owners/layer-prefixes— 允许写 LAYER 域(打孔 / 强化 / 镶嵌)的 owner / 前缀。
机制见 层与装配 → 写域策略,相关报错见 校验报错速查 §9。
动作路由与提示
yaml
# Action 路由红线 — 禁止 conditions / if / flow 等逻辑字段
action-routing:
strict: true
# Action 运行时玩家提示(自测 / 排错)
actions:
notify-cooldown: true
notify-handler-unavailable: trueaction-routing.strict: true— 动作里出现逻辑字段(if/when/switch…)报错;false仅警告。见 动作系统 → 设计。actions.notify-cooldown— 冷却中触发时提示玩家。actions.notify-handler-unavailable— 处理器不可用时提示。
宝石桥 gem / legendinlay / magicgem
yaml
# 宝石桥(Legendinlay / MagicGem 二选一或并存,见 integrations/*_guide.yml)
gem:
inject-sockets: true
inject-on-rebuild: false
legendinlay:
enabled: true
# 固定模板种子,使 /qi give 与 LegendCore getHookItem 生成的物品 PDC 一致(镶嵌 GUI 识别宝石)
stable-item-compare: true
socket-catalog: integrations/legendinlay_sockets.yml
inject-sockets: true
inject-on-rebuild: false
# 自动写入 plugins/LegendCore/groovy/QinhItemsModule.groovy 并 lce reload
auto-deploy-lc-script: true
magicgem:
enabled: true
socket-catalog: integrations/magicgem_sockets.yml
inject-sockets: true
inject-on-rebuild: falsegem.inject-sockets— 渲染孔 Lore。gem.inject-on-rebuild—rebuild()时是否重新同步 provider(默认关)。legendinlay.stable-item-compare— 固定模板种子,保证 PDC 一致(镶嵌 GUI 识别宝石)。legendinlay.auto-deploy-lc-script— 自动部署 LegendCore groovy 兜底脚本。*.socket-catalog— 各后端孔目录路径。
战斗模块 combat
yaml
# Combat 模块(并入 QI)— false 时纯物品库模式
combat:
enabled: true
attribute-backend: auto # auto | attributeplus | noop
swing:
vanilla-hit: true # 挥击时 Bukkit attack(),伤害由 AP 结算combat.enabled—false= 纯物品库模式(不加属性)。attribute-backend—auto(检测 AP)/attributeplus/noop。swing.vanilla-hit— 挥击调 Bukkitattack(),伤害交 AP 结算。
见 属性与数值。
灵魂绑定 soulbound
yaml
soulbound:
enabled: true
lore-format: "&7{owner}的物品"
auto-bind-on-pickup: true
scan-containers: true
bypass-permission: "qinhitems.bypass.soulbound"
message-cooldown-ticks: 20
messages:
drop: "&c该物品已被灵魂绑定,无法丢弃。"
pickup: "&c该物品属于 {owner},你无法拾取。"
move: "&c该物品属于 {owner},你无法移动。"
container: "&c该容器内存放着已绑定的物品,无法破坏。"
container-drop: "&c「{container}」中存有绑定物品,不可丢弃。"逐项:
| 键 | 说明 |
|---|---|
enabled | 总开关 |
lore-format | 绑定 Lore 行;{owner} 主人名、{level} 绑定等级;留空不显示 |
auto-bind-on-pickup | 拾取带 bind_on_acquire 的未绑定物品时自动绑定 |
scan-containers | 递归扫潜影盒:死亡取回盒内绑定物、阻止夹带丢弃 / 破坏 |
bypass-permission | 拥有此权限无视全部绑定限制 |
message-cooldown-ticks | 拒绝提示冷却(tick),防刷屏;0 = 不限 |
messages.drop | 丢弃绑定物 |
messages.pickup | 拾取他人绑定物 |
messages.move | 背包 / 容器移动绑定物 |
messages.container | 破坏含绑定物的容器 |
messages.container-drop | 丢弃含绑定物的容器;{container} = 潜影盒名 |
见 灵魂绑定。
属性映射 attribute-mapping
yaml
attribute-mapping:
attack_damage: "物理伤害"
health: "生命"
defense: "防御"
attack_speed: "攻击速度"
magic_damage: "魔法伤害"
armor_penetration: "护甲穿透"
max_mana: "最大魔法"
mana_regen: "魔法恢复"- 左边是 QI 内部属性键(ICVM),右边填你 AttributePlus 里的真实属性显示名。
- 前三项是核心键(base 编辑器 / 成长底值用);其余为导入 MMOItems 等的非核心映射。
- 没列到的键按原样作为 lore 行交给 AP(AP 不认则不生效)。
- AP 属性名由服主在
plugins/AttributePlus/attribute.yml自定义。
见 属性与数值。