外观
核心配置逐字段参考
本页给出 SealItems 1.0.0 随 JAR 交付的完整默认配置。先完整启动一次生成文件,再对照修改;不要把本页整段覆盖到未来版本。
正确修改流程
- 停服并备份
plugins/SealItems/。 - 一次只修改一个配置域,保持 YAML 空格缩进。
- 数据库连接变化必须重启;普通配置用
/si admin system reload all。 - 执行
/si admin system status,确认状态为READY。 - 用测试玩家完成一次成功操作和一次失败操作,确认材料、货币与物品都没有异常。
config.yml
yaml
# 使用的属性插件;当前支持 SealAttributes。省略时也使用 SealAttributes。
attribute-plugin: SealAttributes
# 玩法总开关;单个物品仍需写对应 gameplay 节点。
features:
# 是否允许新的鉴定操作。
identification: true
# 是否允许重铸与洗练。
modification: true
# 是否允许宝石孔、镶嵌与共鸣。
sockets: true
# 是否允许装备强化。
enhancement: true
# 是否允许物品分解。
decomposition: true
# 是否允许配方合成与图纸学习。
crafting: true
# 是否生成 SealItems 怪物掉落。
loot: true
# 是否启用套装与图鉴。
sets: true
# 是否允许绑定与解绑。
binding: true
# 玩家看到的物品信息。
display:
# 已镶嵌宝石的 Lore。
socketed-gems:
# true 显示宝石名称和属性;false 只显示宝石名称。
show-attributes: true
# 套装图鉴设置。
sets:
# identified 为鉴定后点亮;identified-and-bound 还要求绑定给当前玩家。
collection-unlock-requirement: identified-and-bound
# 合成玩法的全局设置。
crafting:
# 配方未单独限制时,一次最多制作多少件,可填 1..64。
max-batch: 64
# 插件数据保存设置;修改后需重启服务器。
database:
# MySQL 关闭时自动使用 plugins/SealItems/sealitems.db,无需另行配置。
mysql:
# true 使用下方 MySQL;false 使用本地 SQLite。
enabled: false
# MySQL 地址;填写域名或 IP,不要填写 jdbc 开头的地址。
host: '127.0.0.1'
# MySQL 端口;通常为 3306,可填 1..65535。
port: 3306
# 数据库名称;需要提前在 MySQL 中创建。
database: 'sealitems'
# 用于连接该数据库的账号。
username: 'sealitems'
# 上方账号的密码。
password: 'change-me'
# 是否使用加密连接;数据库要求 SSL 时填写 true。
ssl: false
# 数据库时区;须使用 Asia/Shanghai、UTC 这类标准名称。省略时使用 Asia/Shanghai。
timezone: 'Asia/Shanghai'
# 最多同时建立多少个连接,可填 1..64。省略时为 4。
max-connections: 4
# 建立连接最多等待多少秒,可填 1..300。省略时为 5 秒。
connection-timeout-seconds: 5
# 本插件数据表名称的开头;多套服务器共用数据库时可修改。省略时为 sealitems_。
table-prefix: 'sealitems_'
# 全插件共用一个 Redis;当前没有跨服需求时保持关闭。
redis:
# true 使用下方 Redis,false 不连接。
enabled: false
# Redis 地址;填写域名或 IP。
host: '127.0.0.1'
# Redis 端口;通常为 6379,可填 1..65535。
port: 6379
# Redis 密码;没有密码时留空。
password: ''
# Redis 数据库编号,可填 0..15。
database: 0
# Redis 开启 TLS 时填写 true。
ssl: false
# 建立连接最多等待多少秒,可填 1..300。
connection-timeout-seconds: 5messages.yml
只修改文本,不要删除程序引用的键。MiniMessage 标签必须成对闭合。
yaml
# 插件提示语。修改后执行:/si admin system reload messages
# 支持 &a、&c 等颜色代码。花括号内容是插件自动填入的数据,请不要翻译或删除。
lifecycle:
# 插件启动、就绪、配置错误和关闭时写入控制台的消息。{count}=已加载物品数。
starting: "SealItems 正在启动。"
ready: "SealItems 已就绪,加载 {count} 个物品。"
read-only: "SealItems 配置存在错误,玩法已暂停;请查看上方控制台提示。"
stopping: "SealItems 正在关闭。"
configuration:
# 配置重载失败时显示。{count}=发现的问题数量,具体文件和字段会继续打印在控制台。
rejected: "SealItems 没有应用新配置,共发现 {count} 个问题:"
# 物品自身的固定说明;支持 MiniMessage 颜色,填空字符串即可隐藏对应一行。
item-presentation:
affixes:
# 每条词条的显示格式;{name}=名称,{values}=数值,{tier}=阶级。
line: '<gray>{name} <white>{values} <dark_gray>[T{tier}]'
# 剩余词条槽;{primary}=主词条空位,{secondary}=副词条空位,留空不显示。
empty-slots-line: '<dark_gray>空词条槽:主 {primary} / 副 {secondary}'
qualities:
unknown:
# 已发放装备引用了被删除的品质时使用的品质名称。
display-name: '<dark_gray>未知品质'
# 该装备的名称格式;{quality}=上方名称,{name}=物品原名。
item-name: '{quality} {name}'
# 该装备追加的说明;每个列表项显示一行。
lore:
- '<dark_gray>原品质定义已不存在'
binding:
# 已绑定物品的说明;{owner}=主人名称。
bound: '<dark_gray>已绑定 · <gray>{owner}'
# 绑定数据不完整时显示,并暂停该物品的玩法收益。
protected: '<red>绑定信息异常 · 请联系管理员'
# 未绑定物品将在鉴定成功时绑定。
identify: '<dark_gray>鉴定后绑定'
# 未绑定物品将在首次装备生效前绑定。
equip: '<dark_gray>装备后绑定'
# 鉴定或装备任一动作都能触发绑定。
identify-or-equip: '<dark_gray>鉴定或装备后绑定'
# 战利品提示;{amount} 会替换为本次物品数量。
loot:
# 战利品放进击杀者背包时显示。
killer-delivered: '<green>获得 <white>{amount}</white> 件战利品'
# 背包已满、物品落在击杀位置时显示。
killer-overflow: '<yellow>背包已满,<white>{amount}</white> 件战利品已落在击杀位置'
# 战利品按普通掉落物生成时显示。
ground-created: '<green><white>{amount}</white> 件战利品已掉落'
# 物品资料暂时不可用、本次没有抽取时显示。
temporarily-unavailable: '<yellow>装备资料仍在准备,本次没有抽取自定义战利品'
command:
# 命令消息的统一前缀和颜色。
style:
# 深灰括号与金色插件名;所有普通回复共用。
prefix: '&8[&6SealItems&8] &r'
# 普通说明使用灰色,避免大片亮青色。
default: '&7'
# 成功结果使用低饱和绿色。
success: '&a'
# 需要留意但未失败的结果使用黄色。
warning: '&e'
# 失败和非法输入使用红色。
error: '&c'
# 帮助页标题使用金色。
heading: '&6'
# 可复制的命令使用白色。
command: '&f'
# 命令用途说明使用灰色。
description: '&7'
# 项目符号和分隔线使用深灰色。
separator: '&8'
# 玩家执行 /si gui craft 但合成玩法尚未启用或服务暂不可用时显示。
craft-unavailable: "无法打开合成界面:{reason}"
decomposition-unavailable: "无法打开分解界面:{reason}"
# grant 要求配方当前已发布;revoke 允许输入已删除配方的旧稳定 ID,以便清理数据库记录。
recipe-id-invalid: "配方 ID 格式无效:{recipe}"
recipe-id-unavailable: "配方不存在或未发布:{recipe}"
learned-list: "{player} 已学习 {count} 个配方:{recipes}"
learned-mutated: "已为 {player} {action}配方 {recipe};状态={status}。"
learned-failed: "配方知识操作失败:{reason}"
learned-player-ambiguous: "无法唯一确定玩家;候选:{players}"
enhance-unavailable: "无法打开装备强化界面:{reason}"
health-summary: "SealItems 健康状态:运行={runtime};配置快照={configuration};物品定义快照={definitions};物品={count};品质={qualities};词条={affixes};方案={schemes}。"
health-services: "装备属性联动={equipment};自动迁移={migration}。"
health-modification: "词条改造:规则={rules};物品={items};重铸={reforge};洗炼={refine};GUI={gui};Vault={vault};PlayerPoints={points}。"
health-enhancement: "装备强化:快照={snapshot};启用={enabled};物品={bindings};规则={rules};方案={schemes};GUI={gui};会话={sessions};未结案经济事件={incidents};冻结 provider={frozen}。"
health-crafting: "万物合成:快照={snapshot};启用={enabled};配方={recipes};玩家GUI={gui};跨服知识={knowledge}。"
health-decomposition: "物品分解:快照={snapshot};启用={enabled};方案={profiles};GUI={gui};会话={sessions}。"
health-sets: "套装玩法:快照={snapshot};启用={enabled};套装={sets};图鉴={catalog};GUI={gui};会话={sessions};收藏={collection};待同步={pending};outbox保护={protected}。"
health-sets-protected: "套装收藏 outbox 保护详情:{detail}"
# 外部经济核账命令的列表与结果。
economy-none: "当前没有未结案经济事件。"
economy-list: "未结案经济事件:{count} 个"
economy-entry: "- {id} | {time} | {provider} | {detail}"
economy-incident-invalid: "incident-id 格式无效。"
economy-reconcile-success: "经济事件 {id} 已结案;同一 provider 没有其他事件时已解除冻结。"
economy-reconcile-failed: "经济事件结案失败:{reason}"
# 配置受保护或旧装备缺少品质时的排错消息。
health-modification-protected: "词条改造保护警告:{reasons}{truncated}"
health-missing-qualities: "当前快照期间观察到缺失品质定义:{ids}{truncated}"
sets-unavailable: "无法打开套装图鉴:{reason}"
collection-recovered: "套装收藏 outbox 已移除损坏尾行 {line},待处理记录已重放且在线缓存已刷新。"
collection-retried: "套装收藏 outbox 已通过完整性复验,待处理记录已重放且在线缓存已刷新。"
collection-recover-failed: "套装收藏 outbox 修复失败:{reason}"
# 重载、物品列表和发放命令的回复。
reload-success: "SealItems 的 {target} 配置已发布,共 {count} 个物品定义。"
reload-failed: "{target} 配置未发布,共 {count} 个问题;详细信息见控制台。"
list-empty: "当前没有已发布的物品定义。"
list-result: "已加载 {count} 个物品:{items}"
invalid-amount: "数量必须是 1 到 64 的整数。"
invalid-identification-state: "鉴定状态只能填写 identified 或 unidentified。"
invalid-give-options: "发放参数无效:{reason}"
player-only: "该命令只能由玩家执行。"
player-offline: "目标玩家不在线:{player}"
identify-unavailable: "无法打开鉴定界面:{reason}"
modify-unavailable: "无法打开词条改造界面:{reason}"
socket-unavailable: "无法打开宝石工作台:{reason}"
give-success: "已向 {player} 发放 {amount} 个 {item}。"
give-partial: "请求 {requested} 个,实际发放 {delivered} 个;{reason}"
inspect-ignore: "手持物品不是 SealItems 物品(IGNORE)。"
migrate-queued: "已将玩家 {player} 的在线背包加入迁移队列。"
migrate-unavailable: "迁移当前不可用;请确认插件与装备属性联动已就绪。"
migrate-status: "迁移队列:玩家={players},槽位={slots};累计 applied={applied},unchanged={unchanged},conflict={conflicts},protected={protected},blocked={blocked},failed={failed}。"
# /si admin item inspect 的管理员排错信息。一般服主无需修改这些字段。
inspect-ready: "识别结果:READY;ID={id};schema={schema};revision={revision};品质状态={quality-state};品质={quality};实际槽位={quality-slots};品质定义={quality-definition};词条状态={affix-state};词条数={affix-count};鉴定={identification};定义={definition};升级={upgrade};实例={uuid}"
inspect-protected: "识别结果:PROTECTED;ID={id};原因={reason}"
inspect-equipment-sync: "装备属性同步:{status}"
inspect-modification: "词条改造状态:{status}{reason}"
inspect-modification-entry: "- {entry}"
inspect-enhancement: "强化状态:{status};等级={level};rule={rule};growth={growth};贡献={contributions};保底记录={progress}{reason}"