Skip to content

核心配置逐字段参考

本页给出 SealItems 1.0.0 随 JAR 交付的完整默认配置。先完整启动一次生成文件,再对照修改;不要把本页整段覆盖到未来版本。

正确修改流程

  1. 停服并备份 plugins/SealItems/
  2. 一次只修改一个配置域,保持 YAML 空格缩进。
  3. 数据库连接变化必须重启;普通配置用 /si admin system reload all
  4. 执行 /si admin system status,确认状态为 READY
  5. 用测试玩家完成一次成功操作和一次失败操作,确认材料、货币与物品都没有异常。

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: 5

messages.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}"