Skip to content

GUI 完整配置参考

GUI 文件只控制标题、槽位、按钮、Lore 和声音;费用、概率、产物等业务规则必须写在 rules/ 或物品定义中。

修改和验收

  1. 备份 gui/,只修改一个界面。
  2. 不要让输入槽、输出槽和按钮槽重叠;行数必须容纳所有槽位。
  3. 重载对应 GUI 或执行 /si admin system reload all
  4. 玩家打开界面,依次检查空状态、合法物品、非法物品、材料不足、确认、取消、关闭背包和背包满。
  5. GUI 外观不能代替服务端权限与事务校验。

gui/identification.yml

yaml
# 装备鉴定界面;修改后执行 /si admin system reload identification gui。

# 界面标题;支持 <gray>、<gold> 等颜色标签。
title: '<dark_gray>装备鉴定'
# 界面行数;可填 1 到 6,本布局使用 6 行。
rows: 6
# 放入未鉴定装备的格子;第一格是 0,数量就是单批可放的组数。
input-slots: [10, 11, 12, 13, 14, 15, 16, 19, 20, 21, 22, 23, 24, 25, 28, 29, 30, 31, 32, 33, 34]

# 装备未鉴定时显示的说明;不会提前显示品质和词条。
unidentified-lore:
  # 第一行提醒玩家当前状态。
  - '<yellow>✦ 该装备尚未鉴定'
  # 第二行说明处理入口。
  - '<gray>前往鉴定界面查看隐藏词条'

# 功能按钮的位置;不能与 input-slots 重复。
slots:
  # 鉴定说明按钮的位置。
  info: 4
  # 材料清单按钮的位置。
  cost: 39
  # 当前是否可以鉴定的提示位置。
  status: 41
  # 一键取回全部装备按钮的位置。
  return-all: 47
  # 确认鉴定或收取结果按钮的位置。
  confirm: 49
  # 关闭界面按钮的位置。
  close: 51

# 按钮外观;material 填原版物品英文名,name 和 lore 支持颜色标签。
items:
  # 没有功能的背景格。
  background:
    # 背景格图标。
    material: GRAY_STAINED_GLASS_PANE
    # 背景格名称;保留空白可隐藏名称。
    name: '<gray>'
  # 鉴定说明按钮。
  info:
    # 按钮图标。
    material: BOOK
    # 按钮名称。
    name: '<yellow>鉴定说明'
    # 玩家看到的操作说明。
    lore:
      # 说明允许放入的装备数量。
      - '<gray>放入 1~21 组未鉴定装备'
      # 说明整批处理结果。
      - '<gray>材料不足时,本批装备都不会改变'
  # 本批鉴定的材料清单。
  cost:
    # 按钮图标。
    material: PAPER
    # 按钮名称。
    name: '<yellow>材料清单'
    # 材料清单内容。
    lore:
      # {costs} 显示全部材料和数量。
      - '<gray>{costs}'
  # 还没有放入装备时的状态。
  status-empty:
    # 状态图标。
    material: LIGHT_GRAY_DYE
    # 状态名称。
    name: '<gray>请放入未鉴定装备'
  # 装备和材料都满足要求时的状态。
  status-ready:
    # 状态图标。
    material: LIME_DYE
    # 状态名称。
    name: '<green>材料充足'
    # 当前批次说明。
    lore:
      # {count} 显示本批装备数量。
      - '<gray>本批共 {count} 件'
  # 有装备无法鉴定或材料不足时的状态。
  status-missing:
    # 状态图标。
    material: RED_DYE
    # 状态名称。
    name: '<red>暂时无法鉴定'
    # 阻止原因说明。
    lore:
      # {missing} 显示具体缺少内容。
      - '<gray>{missing}'
      # 告诉玩家失败时装备不会改变。
      - '<red>本批装备都不会改变'
  # 一键取回全部装备按钮。
  return-all:
    # 按钮图标。
    material: HOPPER
    # 按钮名称。
    name: '<yellow>全部取回'
  # 可以鉴定时的确认按钮。
  confirm-ready:
    # 按钮图标。
    material: LIME_CONCRETE
    # 按钮名称。
    name: '<green>确认鉴定'
    # 本批数量和材料说明。
    lore:
      # {count} 显示本批装备数量。
      - '<gray>一次鉴定 {count} 件装备'
      # {costs} 显示本批需要的材料。
      - '<gray>{costs}'
  # 暂时不能鉴定时的确认按钮。
  confirm-blocked:
    # 按钮图标。
    material: BARRIER
    # 按钮名称。
    name: '<red>无法鉴定'
    # 阻止原因说明。
    lore:
      # {missing} 显示具体缺少内容。
      - '<gray>{missing}'
  # 鉴定完成后的一键收取按钮。
  take-all:
    # 按钮图标。
    material: CHEST
    # 按钮名称。
    name: '<green>全部收取'
  # 关闭界面按钮。
  close:
    # 按钮图标。
    material: RED_CONCRETE
    # 按钮名称。
    name: '<red>关闭界面'

# 操作完成时播放的声音;name 填原版声音名,volume 为音量,pitch 为音调。
sounds:
  # 鉴定成功时播放。
  success:
    name: BLOCK_AMETHYST_BLOCK_CHIME
    volume: 1.0
    pitch: 1.0
  # 鉴定失败时播放。
  failure:
    name: BLOCK_NOTE_BLOCK_BASS
    volume: 0.8
    pitch: 0.8

# 玩家点击确认后收到的聊天提示。
messages:
  # 鉴定成功提示;{count} 是数量,{costs} 是实际消耗。
  success: '<green>成功鉴定 {count} 件装备;消耗 {costs}'
  # 鉴定失败提示;{missing} 显示具体原因。
  failure: '<red>无法鉴定:{missing};本批装备均未改变'

gui/modification.yml

yaml
# 重铸与洗炼界面;修改后执行 /si admin system reload modification gui。

# 界面标题;支持 <gray>、<gold> 等颜色标签。
title: '<dark_gray>词条改造'
# 界面行数;可填 1 到 6,本布局使用 6 行。
rows: 6
# 词条按钮的位置;数量决定一页最多显示多少条词条。
affix-slots: [10, 11, 12, 13, 14, 15, 16, 19, 20, 21, 22, 23, 24, 25, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42, 43]

# 装备、模式和功能按钮的位置;不能与 affix-slots 重复。
slots:
  # 改造说明按钮的位置。
  info: 0
  # 重铸模式按钮的位置。
  reforge: 2
  # 当前装备预览的位置。
  input: 4
  # 洗炼模式按钮的位置。
  refine: 6
  # 关闭界面按钮的位置。
  close: 8
  # 词条上一页按钮的位置。
  previous-page: 45
  # 当前是否可以改造的提示位置。
  status: 47
  # 本次费用说明的位置。
  cost: 49
  # 确认改造按钮的位置。
  confirm: 51
  # 词条下一页按钮的位置。
  next-page: 53

# 按钮外观;material 填原版物品英文名,name 和 lore 支持颜色标签。
items:
  # 没有功能的背景格。
  background:
    # 背景格图标。
    material: GRAY_STAINED_GLASS_PANE
    # 背景格名称;保留空白可隐藏名称。
    name: '<gray>'
  # 改造操作说明按钮。
  info:
    # 按钮图标。
    material: BOOK
    # 按钮名称。
    name: '<yellow>词条改造说明'
    # 重铸和洗炼的区别。
    lore:
      # 只有已鉴定的独立装备可以改造。
      - '<gray>放入一件已鉴定的独立装备'
      # 重铸会重新生成所选词条的类型、等级和数值。
      - '<gray>重铸:重新生成所选词条'
      # 洗炼只重抽数值,未锁定的词条都会改变。
      - '<gray>洗炼:重抽未锁定词条的数值'
  # 还没有选择装备时的提示。
  input-empty:
    # 提示图标。
    material: HOPPER
    # 提示名称。
    name: '<yellow>放入装备'
  # 当前装备可以重铸时的模式按钮。
  reforge-available:
    # 按钮图标。
    material: ANVIL
    # 按钮名称。
    name: '<yellow>选择重铸'
    # 本次重铸范围说明。
    lore:
      # {scope} 显示需要选择词条或当前已选数量。
      - '<gray>{scope}'
  # 已选中重铸模式时的按钮。
  reforge-selected:
    # 已选模式图标。
    material: CHIPPED_ANVIL
    # 已选模式名称。
    name: '<green>当前:重铸'
    # 本次重铸范围说明。
    lore:
      # {scope} 显示当前已选词条数量。
      - '<gray>{scope}'
  # 当前装备不能重铸时的按钮。
  reforge-unavailable:
    # 不可用模式图标。
    material: BARRIER
    # 不可用模式名称。
    name: '<red>重铸不可用'
    # 不可用原因说明。
    lore:
      # {reason} 显示装备或配置不满足的原因。
      - '<gray>{reason}'
  # 当前装备可以洗炼时的模式按钮。
  refine-available:
    # 按钮图标。
    material: AMETHYST_SHARD
    # 按钮名称。
    name: '<yellow>选择洗炼'
    # 本次洗炼范围说明。
    lore:
      # {scope} 显示默认全洗或当前锁定数量。
      - '<gray>{scope}'
  # 已选中洗炼模式时的按钮。
  refine-selected:
    # 已选模式图标。
    material: ECHO_SHARD
    # 已选模式名称。
    name: '<green>当前:洗炼'
    # 本次洗炼范围说明。
    lore:
      # {scope} 显示默认全洗或当前锁定数量。
      - '<gray>{scope}'
  # 当前装备不能洗炼时的按钮。
  refine-unavailable:
    # 不可用模式图标。
    material: BARRIER
    # 不可用模式名称。
    name: '<red>洗炼不可用'
    # 不可用原因说明。
    lore:
      # {reason} 显示装备或配置不满足的原因。
      - '<gray>{reason}'
  # 尚未选择的主词条。
  primary-normal:
    # 主词条图标。
    material: IRON_NUGGET
    # 词条名称;{affix} 显示实际名称。
    name: '<yellow>{affix}'
    # 等级、结果预览和保底说明。
    lore:
      # {tier} 显示当前词条等级。
      - '<gray>等级:<white>{tier}'
      # {result-comparison} 显示改造前后数值对比。
      - '{result-comparison}'
      # {pity} 是当前保底次数,{pity-max} 是触发上限。
      - '<gray>保底:<white>{pity}/{pity-max}'
      # 重铸时点击选中;洗炼时点击锁定。
      - '<green>点击选择'
  # 重铸时已经选中的主词条。
  primary-selected:
    # 已选主词条图标。
    material: GOLD_NUGGET
    # 已选词条名称;{affix} 显示实际名称。
    name: '<green>已选:{affix}'
    # 等级、结果预览和保底说明。
    lore:
      # {tier} 显示当前词条等级。
      - '<gray>等级:<white>{tier}'
      # {result-comparison} 显示改造前后数值对比。
      - '{result-comparison}'
      # {pity} 是当前保底次数,{pity-max} 是触发上限。
      - '<gray>保底:<white>{pity}/{pity-max}'
  # 洗炼时已经锁定的主词条。
  primary-locked:
    # 已锁主词条图标。
    material: TRIPWIRE_HOOK
    # 已锁词条名称;{affix} 显示实际名称。
    name: '<aqua>已锁:{affix}'
    # 等级、结果预览和保底说明。
    lore:
      # {tier} 显示当前词条等级。
      - '<gray>等级:<white>{tier}'
      # {result-comparison} 显示锁定后不会改变。
      - '{result-comparison}'
      # {pity} 是当前保底次数,{pity-max} 是触发上限。
      - '<gray>保底:<white>{pity}/{pity-max}'
  # 当前不能选择或锁定的主词条。
  primary-unavailable:
    # 不可操作主词条图标。
    material: GRAY_DYE
    # 不可操作词条名称;{affix} 显示实际名称。
    name: '<gray>不可操作:{affix}'
    # 等级、结果预览和不可用原因。
    lore:
      # {tier} 显示当前词条等级。
      - '<gray>等级:<white>{tier}'
      # {result-comparison} 显示这条词条是否会改变。
      - '{result-comparison}'
      # {reason} 显示不能操作的原因。
      - '<red>{reason}'
  # 尚未选择的副词条。
  secondary-normal:
    # 副词条图标。
    material: PRISMARINE_CRYSTALS
    # 词条名称;{affix} 显示实际名称。
    name: '<yellow>{affix}'
    # 等级、结果预览和保底说明。
    lore:
      # {tier} 显示当前词条等级。
      - '<gray>等级:<white>{tier}'
      # {result-comparison} 显示改造前后数值对比。
      - '{result-comparison}'
      # {pity} 是当前保底次数,{pity-max} 是触发上限。
      - '<gray>保底:<white>{pity}/{pity-max}'
      # 重铸时点击选中;洗炼时点击锁定。
      - '<green>点击选择'
  # 重铸时已经选中的副词条。
  secondary-selected:
    # 已选副词条图标。
    material: EMERALD
    # 已选词条名称;{affix} 显示实际名称。
    name: '<green>已选:{affix}'
    # 等级、结果预览和保底说明。
    lore:
      # {tier} 显示当前词条等级。
      - '<gray>等级:<white>{tier}'
      # {result-comparison} 显示改造前后数值对比。
      - '{result-comparison}'
      # {pity} 是当前保底次数,{pity-max} 是触发上限。
      - '<gray>保底:<white>{pity}/{pity-max}'
  # 洗炼时已经锁定的副词条。
  secondary-locked:
    # 已锁副词条图标。
    material: TRIPWIRE_HOOK
    # 已锁词条名称;{affix} 显示实际名称。
    name: '<aqua>已锁:{affix}'
    # 等级、结果预览和保底说明。
    lore:
      # {tier} 显示当前词条等级。
      - '<gray>等级:<white>{tier}'
      # {result-comparison} 显示锁定后不会改变。
      - '{result-comparison}'
      # {pity} 是当前保底次数,{pity-max} 是触发上限。
      - '<gray>保底:<white>{pity}/{pity-max}'
  # 当前不能选择或锁定的副词条。
  secondary-unavailable:
    # 不可操作副词条图标。
    material: LIGHT_GRAY_DYE
    # 不可操作词条名称;{affix} 显示实际名称。
    name: '<gray>不可操作:{affix}'
    # 等级、结果预览和不可用原因。
    lore:
      # {tier} 显示当前词条等级。
      - '<gray>等级:<white>{tier}'
      # {result-comparison} 显示这条词条是否会改变。
      - '{result-comparison}'
      # {reason} 显示不能操作的原因。
      - '<red>{reason}'
  # 词条上一页按钮。
  previous-page:
    # 按钮图标。
    material: ARROW
    # 按钮名称。
    name: '<yellow>上一页'
    # 页码说明。
    lore:
      # {page} 是当前页,{pages} 是总页数。
      - '<gray>{page}/{pages}'
  # 词条下一页按钮。
  next-page:
    # 按钮图标。
    material: ARROW
    # 按钮名称。
    name: '<yellow>下一页'
    # 页码说明。
    lore:
      # {page} 是当前页,{pages} 是总页数。
      - '<gray>{page}/{pages}'
  # 还没有选择装备时的状态。
  status-empty:
    # 状态图标。
    material: LIGHT_GRAY_DYE
    # 状态名称。
    name: '<gray>请先放入装备'
  # 还没有选择重铸或洗炼时的状态。
  status-select-operation:
    # 状态图标。
    material: YELLOW_DYE
    # 状态名称。
    name: '<yellow>请选择重铸或洗炼'
  # 重铸模式还没有选择词条时的状态。
  status-select-affix:
    # 状态图标。
    material: YELLOW_DYE
    # 状态名称。
    name: '<yellow>请选择至少一条词条'
  # 装备、选择和费用都满足要求时的状态。
  status-ready:
    # 状态图标。
    material: LIME_DYE
    # 状态名称。
    name: '<green>可以确认'
    # 本次操作和范围说明。
    lore:
      # {operation} 显示重铸或洗炼,{scope} 显示改变范围。
      - '<gray>{operation} · {scope}'
  # SealItems 材料不足时的状态。
  status-material-missing:
    # 状态图标。
    material: RED_DYE
    # 状态名称。
    name: '<red>改造材料不足'
    # 缺少内容说明。
    lore:
      # {reason} 显示缺少的材料和数量。
      - '<gray>{reason}'
  # 金币不足时的状态。
  status-vault-missing:
    # 状态图标。
    material: GOLD_NUGGET
    # 状态名称。
    name: '<red>金币不足'
    # 缺少内容说明。
    lore:
      # {reason} 显示需要和已有的金币。
      - '<gray>{reason}'
  # 点数不足时的状态。
  status-playerpoints-missing:
    # 状态图标。
    material: SUNFLOWER
    # 状态名称。
    name: '<red>点数不足'
    # 缺少内容说明。
    lore:
      # {reason} 显示需要和已有的点数。
      - '<gray>{reason}'
  # 服务器暂时不能收取金币或点数时的状态。
  status-economy-unavailable:
    # 状态图标。
    material: BARRIER
    # 状态名称。
    name: '<red>货币功能暂不可用'
    # 不可用原因说明。
    lore:
      # {reason} 显示暂时不能收取哪种费用。
      - '<gray>{reason}'
  # 当前装备或选择不允许操作时的状态。
  status-rule-blocked:
    # 状态图标。
    material: RED_DYE
    # 状态名称。
    name: '<red>当前装备不能这样改造'
    # 阻止原因说明。
    lore:
      # {reason} 显示具体限制。
      - '<gray>{reason}'
  # 改造成功后的状态。
  status-success:
    # 成功状态图标。
    material: LIME_DYE
    # 成功状态名称。
    name: '<green>改造完成'
    # 改变数量、消耗和保底结果。
    lore:
      # {changed} 显示实际改变的词条数。
      - '<gray>改变:<white>{changed} 条'
      # {cost-item} 显示实际消耗的改造材料。
      - '<gray>材料:<white>{cost-item}'
      # {currency-formatted} 显示实际消耗的金币或点数。
      - '<gray>金币或点数:<white>{currency-formatted}'
      # {pity-triggered} 显示本次触发保底的词条数。
      - '<gray>触发保底:<white>{pity-triggered} 条'
  # 本次改造费用说明。
  cost:
    # 费用图标。
    material: PAPER
    # 按钮名称。
    name: '<yellow>本次费用'
    # 材料和货币费用。
    lore:
      # {cost-item} 显示需要的改造材料。
      - '<gray>材料:<white>{cost-item}'
      # {currency-formatted} 显示需要的金币或点数。
      - '<gray>金币或点数:<white>{currency-formatted}'
  # 条件满足时的确认按钮。
  confirm-ready:
    # 按钮图标。
    material: LIME_CONCRETE
    # 按钮名称;{operation} 显示重铸或洗炼。
    name: '<green>确认{operation}'
    # 本次改变范围说明。
    lore:
      # {changed} 显示本次会改变的词条数。
      - '<gray>本次改变 {changed} 条'
  # 条件不满足时的确认按钮。
  confirm-blocked:
    # 按钮图标。
    material: BARRIER
    # 按钮名称。
    name: '<red>无法确认'
    # 阻止原因说明。
    lore:
      # {reason} 显示缺少的材料、费用或选择。
      - '<gray>{reason}'
  # 关闭界面按钮。
  close:
    # 按钮图标。
    material: RED_CONCRETE
    # 按钮名称。
    name: '<red>关闭界面'

# 操作完成或点击选择时播放的声音。
sounds:
  # 改造成功时播放。
  success:
    # 原版声音英文名。
    name: BLOCK_AMETHYST_BLOCK_CHIME
    # 音量;0 为静音,通常填 1。
    volume: 1.0
    # 音调;1 为原调,可填 0.5 到 2。
    pitch: 1.0
  # 改造失败或条件不足时播放。
  failure:
    # 原版声音英文名。
    name: BLOCK_NOTE_BLOCK_BASS
    # 音量;0 为静音,通常填 1。
    volume: 1.0
    # 音调;1 为原调,可填 0.5 到 2。
    pitch: 1.0
  # 选择模式、词条或锁定词条时播放。
  select:
    # 原版声音英文名。
    name: UI_BUTTON_CLICK
    # 音量;0 为静音,通常填 1。
    volume: 1.0
    # 音调;1 为原调,可填 0.5 到 2。
    pitch: 1.0

# 改造完成后发送给玩家的聊天提示。
messages:
  # 成功提示;{operation} 是重铸或洗炼,{changed} 是实际改变数量。
  success: '<green>{operation}完成,已改变 {changed} 条词条。'
  # 失败提示;{operation} 是重铸或洗炼,{reason} 是失败原因。
  failure: '<red>无法完成{operation}:{reason}'
  # 锁定数量超出上限时的提示;{max-locks} 显示最多可锁数量。
  lock-limit: '<red>最多只能锁定 {max-locks} 条词条。'

gui/sockets.yml

yaml
# 宝石工作台界面;修改后执行 /si admin system reload sockets gui。

# 界面标题;支持 <gray>、<gold> 等颜色标签。
title: '<dark_gray>宝石工作台'
# 界面行数;可填 1 到 6,本布局使用 6 行。
rows: 6
# 装备、孔位、宝石和动作列表的位置;数量决定一页显示多少项。
option-slots: [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44]

# 分类和功能按钮的位置;第一格是 0,不能与 option-slots 重复。
slots:
  # 装备列表入口的位置。
  equipment: 0
  # 孔位列表入口的位置。
  sockets: 1
  # 可用动作列表入口的位置。
  operations: 2
  # 宝石列表入口的位置。
  gems: 3
  # 开孔类型列表入口的位置。
  socket-types: 4
  # 关闭界面按钮的位置。
  close: 8
  # 上一页按钮的位置。
  previous-page: 45
  # 当前选择状态的位置。
  status: 47
  # 本次操作结果预览的位置。
  preview: 48
  # 重新查看背包内容按钮的位置。
  refresh: 49
  # 确认操作按钮的位置。
  confirm: 51
  # 下一页按钮的位置。
  next-page: 53

# 按钮外观;material 填原版物品英文名,name 和 lore 支持颜色标签。
items:
  # 没有功能的背景格。
  background:
    # 背景格图标。
    material: GRAY_STAINED_GLASS_PANE
    # 背景格名称;保留空白可隐藏名称。
    name: '<gray>'
  # 未选中的分类按钮。
  category:
    # 分类按钮图标。
    material: PAPER
    # 分类名称;{category} 显示装备、孔位、宝石或动作。
    name: '<yellow>{category}'
    # 分类按钮说明。
    lore:
      # 告诉玩家点击可以查看该分类。
      - '<gray>点击查看'
  # 当前选中的分类按钮。
  category-selected:
    # 当前分类按钮图标。
    material: LIME_DYE
    # 当前分类名称;{category} 显示分类名。
    name: '<green>{category}'
    # 当前分类说明。
    lore:
      # 标明这一分类已经选中。
      - '<gray>当前列表'
  # 列表中可以选择的项目。
  option:
    # 项目图标;无法直接显示装备或宝石时使用。
    material: LIGHT_BLUE_STAINED_GLASS_PANE
    # 项目名称;{label} 显示装备、孔位、宝石或动作名称。
    name: '<yellow>{label}'
  # 列表中已经选中的项目。
  option-selected:
    # 已选项目图标。
    material: LIME_STAINED_GLASS_PANE
    # 已选项目名称;{label} 显示项目名。
    name: '<green>{label}'
  # 当前分类没有内容时的提示。
  option-empty:
    # 空列表图标。
    material: LIGHT_GRAY_STAINED_GLASS_PANE
    # 空列表提示。
    name: '<gray>当前没有可选项'
  # 当前选择状态。
  status:
    # 状态图标。
    material: COMPASS
    # 状态名称。
    name: '<yellow>当前状态'
    # 当前已选装备、孔位和宝石说明。
    lore:
      # {status} 显示下一步需要选择什么。
      - '<gray>{status}'
  # 本次操作结果预览。
  preview:
    # 预览图标。
    material: BOOK
    # 预览名称。
    name: '<yellow>结果预览'
    # 开孔、镶嵌、替换或拆卸后的结果说明。
    lore:
      # {preview} 显示将发生的变化和所需费用。
      - '<gray>{preview}'
  # 上一页按钮。
  previous-page:
    # 按钮图标。
    material: ARROW
    # 按钮名称。
    name: '<yellow>上一页'
    # 页码说明。
    lore:
      # {page} 是当前页,{pages} 是总页数。
      - '<gray>{page}/{pages}'
  # 下一页按钮。
  next-page:
    # 按钮图标。
    material: ARROW
    # 按钮名称。
    name: '<yellow>下一页'
    # 页码说明。
    lore:
      # {page} 是当前页,{pages} 是总页数。
      - '<gray>{page}/{pages}'
  # 重新查看背包内容的按钮。
  refresh:
    # 按钮图标。
    material: CHEST
    # 按钮名称。
    name: '<yellow>刷新背包'
  # 条件满足时的确认按钮。
  confirm-ready:
    # 按钮图标。
    material: LIME_CONCRETE
    # 按钮名称。
    name: '<green>确认操作'
  # 条件不满足时的确认按钮。
  confirm-blocked:
    # 按钮图标。
    material: BARRIER
    # 按钮名称。
    name: '<red>条件未满足'
  # 关闭界面按钮。
  close:
    # 按钮图标。
    material: RED_CONCRETE
    # 按钮名称。
    name: '<red>关闭界面'

# 点击和操作结果使用的声音。
sounds:
  # 选择装备、孔位、宝石或动作时播放。
  select:
    # 原版声音英文名。
    name: UI_BUTTON_CLICK
    # 音量;0 为静音,通常填 1。
    volume: 1.0
    # 音调;1 为原调,可填 0.5 到 2。
    pitch: 1.0
  # 操作成功时播放。
  success:
    # 原版声音英文名。
    name: BLOCK_AMETHYST_BLOCK_CHIME
    # 音量;0 为静音,通常填 1。
    volume: 1.0
    # 音调;1 为原调,可填 0.5 到 2。
    pitch: 1.0
  # 条件不足或操作失败时播放。
  failure:
    # 原版声音英文名。
    name: ENTITY_VILLAGER_NO
    # 音量;0 为静音,通常填 1。
    volume: 1.0
    # 音调;1 为原调,可填 0.5 到 2。
    pitch: 1.0

gui/enhancement.yml

yaml
# 装备强化界面;修改后执行 /si admin system reload enhancement gui。

# 界面标题;支持 <gray>、<gold> 等颜色标签。
title: '<dark_gray>装备强化'
# 界面行数;可填 1 到 6,本布局使用 6 行。
rows: 6
# 强化方式按钮的位置;数量决定一页最多显示多少种方式。
scheme-slots: [10, 11, 12, 13, 14, 15, 16]

# 二次确认提醒;避免玩家在高成功率时误用幸运或保护材料。
confirmation:
  # 最终成功率达到该数值时提醒;可填 1 到 100,填 0 关闭提醒。
  auxiliary-success-threshold: 80

# 功能按钮的位置;第一格是 0,6 行界面最后一格是 53。
slots:
  # 当前强化阶段说明的位置。
  stage: 2
  # 玩家所选装备预览的位置。
  equipment: 4
  # 保底进度说明的位置。
  progress: 6
  # 关闭界面按钮的位置。
  close: 8
  # 减少幸运材料按钮的位置。
  luck-minus: 28
  # 当前幸运材料按钮的位置。
  luck: 29
  # 增加幸运材料按钮的位置。
  luck-plus: 30
  # 直升材料按钮的位置。
  boost: 31
  # 减少保护材料按钮的位置。
  protection-minus: 32
  # 当前保护材料按钮的位置。
  protection: 33
  # 增加保护材料按钮的位置。
  protection-plus: 34
  # 强化结果预览的位置。
  result: 45
  # 本次费用说明的位置。
  costs: 47
  # 当前是否可以强化的提示位置。
  status: 49
  # 确认强化按钮的位置。
  confirm: 51
  # 操作说明按钮的位置。
  help: 53

# 按钮外观;material 填原版物品英文名,name 和 lore 支持颜色标签。
items:
  # 没有功能的背景格。
  background:
    # 背景格图标。
    material: GRAY_STAINED_GLASS_PANE
    # 背景格名称;保留空白可隐藏名称。
    name: '<gray>'
  # 还没有选择装备时的提示。
  equipment-empty:
    # 提示图标。
    material: BARRIER
    # 提示名称。
    name: '<red>请点击背包中的装备'
    # 装备选择说明。
    lore:
      # 告诉玩家装备仍留在原背包格。
      - '<gray>装备不会被移入界面'
  # 当前强化阶段说明。
  stage:
    # 阶段图标。
    material: NETHER_STAR
    # 阶段名称;{stage} 显示目标等级所属阶段。
    name: '<yellow>{stage}'
    # 当前等级、目标等级和检查点说明。
    lore:
      # {level} 是当前等级,{target} 是本次目标等级。
      - '<gray>当前 +{level} / 目标 +{target}'
      # {breakthrough} 显示本次是否为突破等级。
      - '<gray>突破等级:{breakthrough}'
      # {checkpoint} 显示已经保住的最高等级。
      - '<gray>失败最低保留:+{checkpoint}'
  # 当前保底进度说明。
  progress:
    # 进度图标。
    material: CLOCK
    # 按钮名称。
    name: '<aqua>保底进度'
    # 保底次数和归属说明。
    lore:
      # {progress} 显示各目标等级的失败次数。
      - '<gray>{progress}'
      # {progress-group} 显示这份保底由哪类装备共用。
      - '<gray>保底归属:{progress-group}'
      # {hard-remaining} 显示距离必定成功还差几次。
      - '<gray>距离必定成功:{hard-remaining} 次'
  # 可以选择的强化方式。
  scheme:
    # 方式图标。
    material: PAPER
    # 方式名称;{scheme} 显示配置的方式名。
    name: '<yellow>{scheme}'
    # 选择提示。
    lore:
      # 告诉玩家点击可以选择。
      - '<gray>点击选择'
  # 当前选中的强化方式。
  scheme-selected:
    # 当前方式图标。
    material: LIME_DYE
    # 当前方式名称;{scheme} 显示配置的方式名。
    name: '<green>{scheme}'
    # 当前方式说明。
    lore:
      # 标明这项已经选中。
      - '<gray>当前方式'
  # 当前装备不能使用的强化方式。
  scheme-unavailable:
    # 不可用方式图标。
    material: BARRIER
    # 不可用方式名称;{scheme} 显示配置的方式名。
    name: '<red>{scheme}'
    # 不可用原因说明。
    lore:
      # {reason} 显示这件装备不能使用的原因。
      - '<gray>{reason}'
  # 当前选择的幸运材料。
  luck:
    # 幸运材料图标。
    material: GLOWSTONE_DUST
    # 按钮名称;{amount} 显示投入数量。
    name: '<yellow>幸运材料 ×{amount}'
    # 材料名称和成功率加成。
    lore:
      # {material} 显示已选材料;未选择时显示提示。
      - '<gray>{material}'
      # {bonus} 显示这些材料增加的成功率。
      - '<gray>额外成功率:{bonus}'
  # 当前选择的保护材料。
  boost:
    # 直升材料图标。
    material: EXPERIENCE_BOTTLE
    # 按钮名称。
    name: '<gold>直升材料'
    # 当前材料和目标等级。
    lore:
      # {material} 显示已选材料;没有可用材料时会说明原因。
      - '<gray>{material}'
      # {target} 显示使用后到达的强化等级。
      - '<gray>直接升至 +{target}'
  # 当前选择的保护材料。
  protection:
    # 保护材料图标。
    material: SHIELD
    # 按钮名称;{amount} 显示投入数量。
    name: '<aqua>保护材料 ×{amount}'
    # 材料名称和保护效果。
    lore:
      # {material} 显示已选材料;未选择时显示提示。
      - '<gray>{material}'
      # {protection} 显示失败时可以抵消的掉级数。
      - '<gray>{protection}'
  # 减少材料数量的通用按钮。
  decrement:
    # 按钮图标。
    material: RED_DYE
    # 按钮名称。
    name: '<red>减少'
  # 增加材料数量的通用按钮。
  increment:
    # 按钮图标。
    material: LIME_DYE
    # 按钮名称。
    name: '<green>增加'
  # 本次成功或失败的结果预览。
  result:
    # 预览图标。
    material: BOOK
    # 按钮名称。
    name: '<yellow>结果预览'
    # 普通强化显示失败损失与成功收益;直升只显示确定结果。
    lore:
      # {result-lines} 由插件按普通强化或直升自动生成。
      - '{result-lines}'
  # 本次强化需要的全部费用。
  costs:
    # 费用图标。
    material: CHEST
    # 按钮名称。
    name: '<gold>本次费用'
    # 费用明细。
    lore:
      # {costs} 显示材料、经验和货币需求。
      - '<gray>{costs}'
  # 当前是否可以强化的状态。
  status:
    # 状态图标。
    material: COMPASS
    # 按钮名称。
    name: '<yellow>当前状态'
    # 状态说明。
    lore:
      # {status} 显示可强化或被阻止的原因。
      - '<gray>{status}'
  # 条件满足时的确认按钮。
  confirm-ready:
    # 按钮图标。
    material: LIME_CONCRETE
    # 按钮名称。
    name: '<green>确认强化'
    # 本次成功率组成。
    lore:
      # {base-chance} 显示该等级的基础成功率。
      - '<gray>基础成功率:{base-chance}'
      # {failure-bonus} 显示连续失败增加的成功率。
      - '<gray>失败累积:{failure-bonus}'
      # {luck-bonus} 显示幸运材料增加的成功率。
      - '<gray>幸运加成:{luck-bonus}'
      # {chance} 显示本次最终成功率。
      - '<green>实际成功率:{chance}'
  # 条件不满足时的确认按钮。
  confirm-blocked:
    # 按钮图标。
    material: RED_CONCRETE
    # 按钮名称。
    name: '<red>暂时无法强化'
    # 阻止原因说明。
    lore:
      # {reason} 显示缺少的装备、材料或费用。
      - '<gray>{reason}'
  # 强化操作说明按钮。
  help:
    # 按钮图标。
    material: KNOWLEDGE_BOOK
    # 按钮名称。
    name: '<yellow>操作说明'
    # 简短操作步骤。
    lore:
      # 第一步先选择需要强化的装备。
      - '<gray>先点击背包中的装备,再选择方式与材料'
      # 点击确认前会再次检查所需内容。
      - '<gray>确认前会再次检查装备、材料和费用'
  # 关闭界面按钮。
  close:
    # 按钮图标。
    material: BARRIER
    # 按钮名称。
    name: '<red>关闭界面'

# 强化提示、音效和完成反馈。
messages:
  # 玩法暂停时显示。
  disabled: '<red>装备强化玩法当前未启用。'
  # 打开界面后显示。
  opened: '<gray>请点击背包中的一件可强化装备。'
  # 强化成功;{item} 为装备,{before}/{after} 为前后等级。
  success: '<green>强化成功:{item} <gray>+{before} → <green>+{after}'
  # 强化失败。
  failure: '<red>强化失败:{item} <gray>+{before} → <red>+{after}'
  # 当前条件不足;{reason} 为原因。
  blocked: '<red>无法强化:{reason}'
  # 确认前物品或费用发生变化时显示。
  conflict: '<yellow>装备、材料或费用已经变化,请重新确认。'
  # 金币结果暂时无法确认时显示。
  economy-unknown: '<red>金币结果暂待核对,请联系管理员。'
  # 达到提醒成功率且放入幸运或保护材料时显示;{chance} 为本次成功率,{threshold} 为提醒线。
  auxiliary-confirmation: '<yellow>本次成功率为 {chance},辅助材料可能没有必要;再次点击确认强化。'
  # 各操作使用的声音;name 填原版声音英文名,volume 是音量,pitch 是音调。
  sounds:
    # 选择按钮时播放。
    select:
      # 原版声音英文名。
      name: UI_BUTTON_CLICK
      # 音量;0 为静音,通常填 1。
      volume: 1.0
      # 音调;1 为原调,可填 0.5 到 2。
      pitch: 1.0
    # 强化成功时播放。
    success:
      # 原版声音英文名。
      name: ENTITY_PLAYER_LEVELUP
      # 音量;0 为静音,通常填 1。
      volume: 1.0
      # 音调;1 为原调,可填 0.5 到 2。
      pitch: 1.0
    # 强化失败时播放。
    failure:
      # 原版声音英文名。
      name: BLOCK_ANVIL_LAND
      # 音量;0 为静音,通常填 1。
      volume: 1.0
      # 音调;1 为原调,可填 0.5 到 2。
      pitch: 1.0
    # 条件不满足时播放。
    error:
      # 原版声音英文名。
      name: ENTITY_VILLAGER_NO
      # 音量;0 为静音,通常填 1。
      volume: 1.0
      # 音调;1 为原调,可填 0.5 到 2。
      pitch: 1.0
  # 操作结束后的屏幕反馈;不需要的字段可删除。
  feedback:
    # 强化成功反馈。
    success:
      title: '<green>强化成功'
      subtitle: '<gray>{item} <white>+{before} → <green>+{after}'
      action-bar: '<green>装备已强化至 +{after}'
      particle: { type: HAPPY_VILLAGER, count: 20 }
      broadcast: { audience: none, radius: 32, max-recipients: 100 }
    # 强化失败反馈。
    failure:
      action-bar: '<red>强化失败,当前 +{after}'
      broadcast: { audience: none, radius: 32, max-recipients: 100 }
    # 金币结果暂待核对时的反馈。
    economy-unknown:
      action-bar: '<red>金币结果待管理员核对'
      broadcast: { audience: none, radius: 32, max-recipients: 100 }

gui/binding.yml

yaml
# 界面标题;支持 <gray>、<gold> 等颜色标签。
title: '<dark_gray>装备解绑'
# 玩家第一次确认后打开的独立确认页标题。
confirmation-title: '<dark_gray>确认装备解绑'
# 界面行数。可填 1~6。
rows: 3
# 首次确认后,玩家要在多少秒内再次点击。可填 2~30。
confirmation-seconds: 5

slots:
  # 放入待解绑物品的位置。第一格是 0。
  input: 10
  # 显示物品名称、主人和数量的位置。
  info: 12
  # 显示本次总费用的位置。
  costs: 14
  # 显示能否解绑及原因的位置。
  status: 16
  # 两次确认按钮的位置。
  confirm: 22
  # 关闭界面的位置。
  close: 26

items:
  background:
    # 空白区域使用的物品材质。
    material: GRAY_STAINED_GLASS_PANE
    # 空白区域显示的名称。
    name: '<gray>'
    # 空白区域的说明。空列表表示不显示。
    lore: []
  input-empty:
    # 未放入物品时,解绑槽显示的材质。
    material: LIGHT_GRAY_STAINED_GLASS_PANE
    # 未放入物品时,解绑槽显示的名称。
    name: '<gray>放入自己的绑定物品'
    # 未放入物品时,解绑槽显示的说明。
    lore: []
  info:
    # 物品信息按钮的材质。
    material: BOOK
    # 物品信息按钮的名称。
    name: '<gold>解绑说明'
    # 物品信息。可用 {item}、{owner}、{stack}。
    lore: ['<gray>物品:<white>{item}', '<gray>归属:<white>{owner}', '<gray>数量:<white>{stack}', '<dark_gray>强化、词条与宝石不会改变']
  costs:
    # 费用按钮的材质。
    material: PAPER
    # 费用按钮的名称。
    name: '<gold>本次费用'
    # 总费用。{costs} 会自动合并材料、金币或点券。
    lore: ['<gray>{costs}']
  status-empty:
    # 尚未放入物品时的状态材质。
    material: LIGHT_GRAY_DYE
    # 尚未放入物品时的状态名称。
    name: '<gray>请先放入物品'
    # 尚未放入物品时的状态说明。
    lore: []
  status-ready:
    # 费用充足时的状态材质。
    material: LIME_DYE
    # 费用充足时的状态名称。
    name: '<green>可以解绑'
    # 费用充足时的状态说明。
    lore: ['<gray>材料与货币均充足']
  status-blocked:
    # 无法解绑时的状态材质。
    material: RED_DYE
    # 无法解绑时的状态名称。
    name: '<red>暂时无法解绑'
    # 无法解绑的原因。使用 {missing}。
    lore: ['<gray>{missing}']
  confirm-ready:
    # 第一次确认按钮的材质。
    material: ORANGE_CONCRETE
    # 第一次确认按钮的名称。
    name: '<gold>确认解绑'
    # 第一次确认按钮的说明。
    lore: ['<gray>点击后还需再次确认', '<red>解绑费用较高,请仔细核对']
  confirm-again:
    # 第二次确认按钮的材质。
    material: RED_CONCRETE
    # 第二次确认按钮的名称。
    name: '<red>再次点击,正式解绑'
    # 第二次确认按钮的说明。可用 {seconds}、{costs}。
    lore: ['<gray>{seconds} 秒内有效', '<gray>将消耗:{costs}']
  confirm-blocked:
    # 无法确认时的按钮材质。
    material: BARRIER
    # 无法确认时的按钮名称。
    name: '<red>无法解绑'
    # 无法确认的原因。使用 {missing}。
    lore: ['<gray>{missing}']
  close:
    # 关闭按钮的材质。
    material: BARRIER
    # 关闭按钮的名称。
    name: '<gray>关闭并取回物品'
    # 关闭按钮的说明。
    lore: []

sounds:
  armed:
    # 第一次确认时播放的音效名称。
    name: BLOCK_NOTE_BLOCK_HAT
    # 音量;0 为静音,1 为正常,可填 0~4。
    volume: 1.0
    # 音调;1 为正常,可填 0.5~2。
    pitch: 1.0
  success:
    # 解绑成功时播放的音效名称。
    name: BLOCK_AMETHYST_BLOCK_CHIME
    # 成功音效的音量;可填 0~4。
    volume: 1.0
    # 成功音效的音调;可填 0.5~2。
    pitch: 1.0
  failure:
    # 无法解绑时播放的音效名称。
    name: BLOCK_NOTE_BLOCK_BASS
    # 失败音效的音量;可填 0~4。
    volume: 1.0
    # 失败音效的音调;可填 0.5~2。
    pitch: 1.0

messages:
  # 第一次确认后的提示。可用 {seconds}。
  armed: '<gold>请再次点击确认;{seconds} 秒后本次确认失效。'
  # 解绑成功后的提示。可用 {item}、{costs}。
  success: '<green>已解除 {item} 的绑定;消耗 {costs}。'
  # 无法解绑时的提示。使用 {missing}。
  failure: '<red>无法解绑:{missing}'

admin:
  # 管理员绑定页面的标题。
  title: '<dark_gray>绑定管理'
  # 管理员绑定页面的行数。可填 1~6。
  rows: 4
  # 管理员首次点击后,再次确认的有效秒数。可填 2~30。
  confirmation-seconds: 5
  slots:
    # 显示当前选中物品的位置。
    selected: 10
    # 显示当前绑定状态的位置。
    current: 12
    # 选择目标玩家的位置。
    target: 14
    # 显示当前操作状态的位置。
    status: 16
    # 绑定按钮的位置。
    bind: 28
    # 转移按钮的位置。
    transfer: 30
    # 清除按钮的位置。
    clear: 32
    # 关闭按钮的位置。
    close: 35
  items:
    background:
      # 管理员页面空白区域的材质。
      material: GRAY_STAINED_GLASS_PANE
      # 管理员页面空白区域的名称。
      name: '<gray>'
      # 管理员页面空白区域的说明。
      lore: []
    selected-empty:
      # 尚未选择物品时的材质。
      material: LIGHT_GRAY_STAINED_GLASS_PANE
      # 尚未选择物品时的名称。
      name: '<gray>点击背包中的物品'
      # 尚未选择物品时的说明。
      lore: []
    current:
      # 当前绑定信息按钮的材质。
      material: BOOK
      # 当前绑定信息按钮的名称。
      name: '<gold>当前绑定'
      # 当前绑定信息。可用 {item}、{state}、{owner}。
      lore: ['<gray>物品:<white>{item}', '<gray>状态:<white>{state}', '<gray>主人:<white>{owner}']
    target-empty:
      # 尚未选择目标玩家时的材质。
      material: PLAYER_HEAD
      # 尚未选择目标玩家时的名称。
      name: '<gray>选择目标玩家'
      # 目标玩家的填写提示。
      lore: ['<gray>点击后在聊天中输入玩家名或 UUID']
    target-selected:
      # 已选择目标玩家时的材质。
      material: PLAYER_HEAD
      # 已选择目标玩家时的名称。使用 {target}。
      name: '<green>目标:{target}'
      # 已选择目标玩家时的说明。
      lore: ['<gray>点击可重新选择']
    status:
      # 当前操作状态的材质。
      material: PAPER
      # 当前操作状态的名称。
      name: '<gold>操作状态'
      # 当前操作状态。使用 {operation}。
      lore: ['<gray>{operation}']
    bind:
      # 绑定按钮的材质。
      material: LIME_DYE
      # 绑定按钮的名称。
      name: '<green>绑定给目标玩家'
      # 绑定按钮的说明。
      lore: ['<gray>只适用于未绑定物品']
    transfer:
      # 转移按钮的材质。
      material: ORANGE_DYE
      # 转移按钮的名称。
      name: '<gold>转移给目标玩家'
      # 转移按钮的说明。
      lore: ['<gray>适用于已绑定或绑定异常物品']
    clear:
      # 清除按钮的材质。
      material: RED_DYE
      # 清除按钮的名称。
      name: '<red>清除绑定'
      # 清除按钮的说明。
      lore: ['<gray>清除后按物品原规则重新触发']
    confirm:
      # 二次确认时替换操作按钮的材质。
      material: RED_CONCRETE
      # 二次确认时替换操作按钮的名称。
      name: '<red>再次点击确认'
      # 二次确认说明。可用 {seconds}、{operation}。
      lore: ['<gray>{seconds} 秒内有效', '<gray>{operation}']
    close:
      # 管理员页面关闭按钮的材质。
      material: BARRIER
      # 管理员页面关闭按钮的名称。
      name: '<gray>关闭界面'
      # 管理员页面关闭按钮的说明。
      lore: []
  sounds:
    armed:
      # 管理员第一次确认时播放的音效名称。
      name: BLOCK_NOTE_BLOCK_HAT
      # 音量;可填 0~4。
      volume: 1.0
      # 音调;可填 0.5~2。
      pitch: 1.0
    success:
      # 管理员操作成功时播放的音效名称。
      name: BLOCK_AMETHYST_BLOCK_CHIME
      # 音量;可填 0~4。
      volume: 1.0
      # 音调;可填 0.5~2。
      pitch: 1.0
    failure:
      # 管理员操作失败时播放的音效名称。
      name: BLOCK_NOTE_BLOCK_BASS
      # 音量;可填 0~4。
      volume: 1.0
      # 音调;可填 0.5~2。
      pitch: 1.0
  messages:
    # 打开页面后提示管理员选择安全背包格中的物品。
    select-item: '<gold>请点击背包第 10~36 格中的 SealItems 物品。'
    # 点击目标玩家后显示的输入提示。
    target-prompt: '<gold>请在聊天中输入目标玩家名或 UUID;输入 <white>cancel</white> 取消。'
    # 无法可靠找到目标玩家时的提示。使用 {target}。
    invalid-target: '<red>无法可靠找到玩家:{target};在线玩家可填名称,离线玩家可填已缓存名称或 UUID。'
    # 第一次确认后的提示。可用 {operation}、{seconds}。
    armed: '<gold>请再次点击 {operation};{seconds} 秒后失效。'
    # 操作成功后的提示。可用 {operation}、{item}、{owner}。
    success: '<green>已完成 {operation}:{item},当前主人 {owner}。'
    # 操作失败后的提示。使用 {missing}。
    failure: '<red>绑定管理失败:{missing}'

gui/crafting.yml

yaml
# 合成界面。修改后执行 /si admin system reload crafting gui。

player:
  # 玩家界面标题;支持 <gray>、<gold> 等颜色标签。
  title: '<dark_gray>万物合成'
  # 界面行数;可填 1..6。
  rows: 6
  # 格子从 0 开始;列表可填写多个格子。
  slots:
    categories: [0, 9, 18, 27, 36]
    recipes: [10, 11, 12, 13, 14, 15, 16, 19, 20, 21, 22, 23, 24, 25, 28, 29, 30, 31, 32, 33, 34]
    previous-page: 45
    search: 49
    next-page: 53
    close: 46
    detail-output: 13
    detail-ingredients: [28, 29, 30, 31, 32, 33, 34]
    quantity-decrease: 47
    quantity: 49
    quantity-increase: 51
    craft: 52
  # 按钮字段:material=原版材质;amount=数量;name/lore=文字;custom-model-data=模型编号;glow=附魔光效。
  items:
    filler:
      material: GRAY_STAINED_GLASS_PANE
      name: '<gray> '
      lore: []
    category:
      material: BOOK
      name: '<yellow>{category}'
      lore: ['<gray>点击筛选']
    category-selected:
      material: ENCHANTED_BOOK
      name: '<gold>{category}'
      lore: ['<green>当前分类']
    recipe:
      material: PAPER
      name: '<white>{recipe}'
      lore: ['<gray>{status}', '<dark_gray>点击查看']
    recipe-locked:
      material: BARRIER
      name: '<red>{recipe}'
      lore: ['<red>{status}']
    previous-page:
      material: ARROW
      name: '<yellow>上一页'
      lore: ['<gray>{page}/{pages}']
    search:
      material: OAK_SIGN
      name: '<aqua>搜索配方'
      lore: ['<gray>当前:{search}', '<yellow>点击后在聊天栏输入']
    next-page:
      material: ARROW
      name: '<yellow>下一页'
      lore: ['<gray>{page}/{pages}']
    close:
      material: BARRIER
      name: '<red>关闭'
      lore: []
    back:
      material: ARROW
      name: '<yellow>返回列表'
      lore: []
    detail-output:
      material: CHEST
      name: '<gold>{recipe}'
      lore: ['<gray>固定产物']
    ingredient:
      material: LIME_STAINED_GLASS_PANE
      name: '<green>{ingredient}'
      lore: ['<gray>需要:<white>{amount} <dark_gray>/ <gray>当前:<white>{owned}', '<green>{status}']
    ingredient-missing:
      material: RED_STAINED_GLASS_PANE
      name: '<red>{ingredient}'
      lore: ['<gray>需要:<white>{amount} <dark_gray>/ <gray>当前:<white>{owned}', '<red>{status}']
    quantity-decrease:
      material: RED_DYE
      name: '<red>减少数量'
      lore: ['<gray>左键 -1', '<gray>Shift 点击 -10']
    quantity:
      material: CLOCK
      name: '<gold>制作 {quantity} 份'
      lore: ['<gray>上限:{maximum}', '<yellow>右键选择可制作上限']
    quantity-increase:
      material: LIME_DYE
      name: '<green>增加数量'
      lore: ['<gray>左键 +1', '<gray>Shift 点击 +10']
    craft:
      material: ANVIL
      name: '<green>确认制作'
      lore: ['<gray>{status}', '<yellow>点击制作']
    loading:
      material: CLOCK
      name: '<yellow>正在读取配方…'
      lore: ['<gray>请稍候']

categories:
  general:
    name: '<yellow>通用合成'
    order: 100

# 玩家提示;支持颜色标签和对应占位符。
messages:
  disabled: '<red>合成玩法当前未启用。'
  recipe-unavailable: '<red>该配方不可用。'
  materials-missing: '<red>材料或工具不足:<white>{details}'
  conditions-failed: '<red>尚未满足制作条件:<white>{details}'
  no-space: '<red>背包空间不足。'
  experience-missing: '<red>经验不足,还需要 <white>{amount}</white>。'
  economy-unavailable: '<red>费用服务暂不可用。'
  conflict: '<yellow>物品或配置刚刚变化,请重试。'
  success: '<green>制作完成:<white>{recipe}</white> × {amount}'
  normal-failure: '<red>制作没有完成。'
  blueprint-learned: '<green>已学习配方:<white>{recipe}'
  blueprint-known: '<yellow>图纸中的配方已经全部学会。'
  database-busy: '<yellow>配方知识暂时无法读取,请稍后重试。'
  loading: '<yellow>正在读取配方知识。'
  search-prompt: '<aqua>请在聊天栏输入关键词;输入 <white>cancel</white> 取消。'
  stopped: '<red>合成服务正在停止。'
  blueprint-invalid: '<red>该图纸已损坏或没有可学习的配方。'
  blueprint-use: '<yellow>右键使用图纸。'

# 声音名填原版 Sound 枚举;volume 是音量,pitch 可填 0..2。
sounds:
  click:
    name: UI_BUTTON_CLICK
    volume: 0.6
    pitch: 1.0
  success:
    name: ENTITY_PLAYER_LEVELUP
    volume: 0.8
    pitch: 1.1
  failure:
    name: BLOCK_NOTE_BLOCK_BASS
    volume: 0.7
    pitch: 0.8

gui/decomposition.yml

yaml
# 分解界面;玩家界面和提示文字都在这里。
# 修改后执行 /si admin system reload decomposition gui。

# 玩家使用的分解界面。
player:
  # 界面标题;支持颜色标签。
  title: '<dark_gray>物品分解'
  # 界面行数;可填 1 到 6。
  rows: 6
  # 左侧放待分解物品;固定 9 格。
  input-slots: [10, 11, 12, 19, 20, 21, 28, 29, 30]
  # 右侧显示预计产物;固定 12 格,超出后翻页。
  output-slots: [14, 15, 16, 17, 23, 24, 25, 26, 32, 33, 34, 35]
  # 功能按钮位置;第一格为 0。
  slots:
    # 操作说明。
    info: 4
    # 上一个方案。
    previous-profile: 37
    # 当前方案。
    profile: 38
    # 下一个方案。
    next-profile: 39
    # 预计产物上一页。
    previous-page: 45
    # 选择背包内所有匹配物品。
    select-all: 46
    # 清空选择。
    clear: 47
    # 预计产物下一页。
    next-page: 48
    # 确认分解。
    confirm: 49
    # 关闭界面。
    close: 53
  # 按钮外观;每个按钮都支持 material、amount、name、lore、custom-model-data、glow。
  items:
    # 空白背景。
    background:
      material: GRAY_STAINED_GLASS_PANE
      name: '<gray> '
      lore: []
    # 操作说明。
    info:
      material: BOOK
      name: '<yellow>分解说明'
      lore: ['<gray>左侧放入待分解物品', '<gray>右侧查看预计产物', '<gray>超过一页时使用下方箭头翻页', '<gray>{risks}']
    # 上一个方案。
    previous-profile:
      material: ARROW
      name: '<yellow>上一个方案'
      lore: []
    # 当前方案。
    profile:
      material: ANVIL
      name: '<gold>方案:{profile}'
      lore: ['<gray>已选:<white>{count}/{maximum}', '<gray>费用:<white>{costs}', '<gray>预计:<white>{rewards}']
    # 下一个方案。
    next-profile:
      material: ARROW
      name: '<yellow>下一个方案'
      lore: []
    # 预计产物上一页。
    previous-page:
      material: SPECTRAL_ARROW
      name: '<yellow>上一页 <gray>{page}/{pages}'
      lore: []
    # 选择背包内所有匹配物品。
    select-all:
      material: HOPPER
      name: '<green>选择全部匹配物品'
      lore: []
    # 清空选择。
    clear:
      material: BUCKET
      name: '<yellow>清空选择'
      lore: []
    # 预计产物下一页。
    next-page:
      material: SPECTRAL_ARROW
      name: '<yellow>下一页 <gray>{page}/{pages}'
      lore: []
    # 可以分解时的确认按钮。
    confirm-ready:
      material: LIME_CONCRETE
      name: '<green>确认分解 {count} 件'
      lore: ['<gray>{costs}', '<yellow>分解后无法撤销']
    # 暂时不能分解时的确认按钮。
    confirm-blocked:
      material: BARRIER
      name: '<red>暂时无法分解'
      lore: ['<gray>{reason}']
    # 关闭界面。
    close:
      material: RED_CONCRETE
      name: '<red>关闭界面'
      lore: []
  # 界面音效;name 填原版声音名,volume 为音量,pitch 为音调。
  sounds:
    # 分解成功。
    success:
      name: BLOCK_AMETHYST_BLOCK_CHIME
      volume: 1.0
      pitch: 1.0
    # 分解失败。
    failure:
      name: BLOCK_NOTE_BLOCK_BASS
      volume: 0.8
      pitch: 0.8
    # 选择物品或翻页。
    select:
      name: UI_BUTTON_CLICK
      volume: 0.8
      pitch: 1.0

# 管理员的
messages:
  # 分解成功;{count} 是数量,{actual-rewards} 是实际产物。
  success: '<green>已分解 {count} 件物品;获得:{actual-rewards}'
  # 联网金币结果暂时无法确认时的提示;{operation} 是核对编号。
  unknown: '<yellow>物品已分解,联网金币暂待核对。操作号:{operation}'
  # 分解失败;{reason} 是原因。
  failure: '<red>无法分解:{reason}'

gui/sets.yml

yaml
# 套装图鉴界面;修改后执行 /si admin system reload sets gui。

# 图鉴分类;只影响整理和展示,不改变套装属性。
categories:
  # 默认分类。
  - id: general
    enabled: true
    order: 100
    display-name: '<gold>通用套装'
    description: ['<gray>服务器中的通用装备套装。']
    icon:
      material: NETHER_STAR
      custom-model-data: null

# 两层页面的标题;支持 <gray>、<gold> 等颜色标签。
titles:
  # 套装列表页标题。
  catalog: '<dark_gray>全服套装图鉴'
  # 单个套装详情页标题。
  set: '<dark_gray>套装详情'
# 界面行数;可填 1 到 6,本布局使用 6 行。
rows: 6

# 列表和功能按钮的位置;第一格是 0,6 行界面最后一格是 53。
slots:
  # 套装或部件按钮的位置;数量决定一页显示多少项。
  entries: [10, 11, 12, 13, 14, 15, 16, 19, 20, 21, 22, 23, 24, 25, 28, 29, 30, 31, 32, 33, 34]
  # 上一页按钮的位置。
  previous-page: 45
  # 分类按钮的位置。
  category: 46
  # 搜索按钮的位置。
  search: 47
  # 收藏筛选按钮的位置。
  filter: 49
  # 返回上一层按钮的位置。
  back: 50
  # 关闭界面按钮的位置。
  close: 52
  # 下一页按钮的位置。
  next-page: 53

# 按钮外观;material 填原版物品英文名,name 和 lore 支持颜色标签。
items:
  # 没有功能的背景格。
  filler:
    # 背景格图标。
    material: GRAY_STAINED_GLASS_PANE
    # 背景格名称;保留空白可隐藏名称。
    name: '<gray> '
    # 背景格不显示说明。
    lore: []
  # 套装列表中的套装按钮。
  set:
    # 套装按钮图标。
    material: NETHER_STAR
    # 套装名称;{set} 显示套装名。
    name: '<gold>{set}'
    # 套装收集状态说明。
    lore:
      # {status} 显示已发现和已收藏进度。
      - '<gray>{status}'
  # 套装详情中的部件按钮。
  member:
    # 部件按钮图标。
    material: CHEST
    # 部件名称;{member} 显示部件名。
    name: '<white>{member}'
    # 部件收藏状态说明。
    lore:
      # {status} 显示是否已经收藏该部件。
      - '<gray>{status}'
  # 上一页按钮。
  previous-page:
    # 按钮图标。
    material: ARROW
    # 按钮名称。
    name: '<yellow>上一页'
    # 页码说明。
    lore:
      # {page} 是当前页,{pages} 是总页数。
      - '<gray>{page}/{pages}'
  # 搜索套装按钮。
  search:
    # 按钮图标。
    material: OAK_SIGN
    # 按钮名称。
    name: '<aqua>搜索套装'
    # 当前关键词说明。
    lore:
      # {search} 显示当前关键词;没有关键词时显示全部。
      - '<gray>当前:{search}'
  # 收藏状态筛选按钮。
  filter:
    # 按钮图标。
    material: HOPPER
    # 按钮名称;{filter} 显示当前筛选条件。
    name: '<gold>筛选:{filter}'
    # 操作说明。
    lore:
      # 点击会切换到下一个筛选条件。
      - '<gray>点击切换'
  # 下一页按钮。
  next-page:
    # 按钮图标。
    material: ARROW
    # 按钮名称。
    name: '<yellow>下一页'
    # 页码说明。
    lore:
      # {page} 是当前页,{pages} 是总页数。
      - '<gray>{page}/{pages}'
  # 关闭界面按钮。
  close:
    # 按钮图标。
    material: BARRIER
    # 按钮名称。
    name: '<red>关闭'
    # 关闭按钮不显示说明。
    lore: []
  # 返回上一层按钮。
  back:
    # 按钮图标。
    material: ARROW
    # 按钮名称。
    name: '<yellow>返回'
    # 返回按钮不显示说明。
    lore: []
  # 收藏记录还在准备时的提示。
  loading:
    # 等待状态图标。
    material: CLOCK
    # 等待状态名称。
    name: '<yellow>正在准备收藏记录'
    # 等待状态说明。
    lore:
      # 收藏记录未显示时,已穿戴套装仍会正常生效。
      - '<gray>不影响已穿戴套装的属性'
  # 暂时无法查看收藏记录时的提示。
  unavailable:
    # 不可用状态图标。
    material: REDSTONE_TORCH
    # 不可用状态名称。
    name: '<red>收藏记录暂不可用'
    # 不可用状态说明。
    lore:
      # 收藏记录不可用时,已穿戴套装仍会正常生效。
      - '<gray>不影响已穿戴套装的属性'
  # 重新尝试读取收藏记录的按钮。
  retry:
    # 按钮图标。
    material: LIME_DYE
    # 按钮名称。
    name: '<green>重新加载收藏记录'
    # 重试按钮不显示说明。
    lore: []
# 图鉴按钮声音。
sounds:
  # 点击分页、筛选或条目时播放。
  click:
    # 原版声音英文名。
    name: UI_BUTTON_CLICK
    # 音量;0 为静音,通常填 1。
    volume: 1.0
    # 音调;1 为原调,可填 0.5 到 2。
    pitch: 1.0

# 套装图鉴提示。
messages:
  disabled: '<yellow>套装玩法当前未启用。'
  not-ready: '<yellow>套装图鉴正在准备,请稍后再试。'
  loading: '<yellow>正在读取收藏进度…'
  unavailable: '<red>收藏记录暂不可用;套装属性不受影响。'
  search-prompt: '<yellow>请在聊天栏输入套装关键词;输入“取消”放弃。'
  search-cancelled: '<gray>已取消搜索。'
  search-timeout: '<gray>套装搜索已超时,请重新打开图鉴。'
  retrying: '<yellow>正在重新读取收藏进度…'
  stopped: '<red>套装图鉴服务已停止。'
  state-changed: '<aqua>套装状态:</aqua>{activated}{deactivated}'
  first-discovery: '<green>首次收藏:</green><white>{items}</white>'
  completed-set: '<gold>套装收藏完成:</gold><white>{sets}</white>'
  login-import: '<green>已同步套装收藏:</green><white>{count}</white><gray> 件</gray>{sets}'