SnowyGems

语言与文案自定义

使用 lang/ 多语言文件、Lang 配置、扁平键名和消息前缀自定义插件文案。

语言与文案自定义

当前版本使用 plugins/SnowyGems/lang/ 目录,内置 zh_CN.ymlzh_TW.ymlen_US.yml。旧版根目录的 lang.yml 已不再是当前语言入口。

config.yml 中选择服务器语言,然后执行 /sgem reload

Lang: zh_CN

所有玩家与控制台统一使用此语言,不按玩家客户端语言分别选择。指定的文件不存在时,插件优先回退到简体中文,并在控制台说明。

修改文案

编辑选中的 lang/<语言代码>.yml,保留键名与占位符,仅修改文本。语言文件由 TabooLib 语言模块托管;保存后支持自动重读,需要立即确认结果时可执行 /sgem reload,重新打开菜单查看。

语言节点采用扁平键名,用横杠分隔:

prefix: '&8[&bSnowyGems&8] &f'
command-give: '&f已给予 &b{player} &f{amount} 个 &a{gem}'
gem-embed-success: '&a镶嵌成功!'

不要改写成嵌套的 command: { give: ... }。代码里的 command.give 会转换为 command-give 查找,这不表示语言文件支持嵌套结构。

从旧 lang.yml 迁移

  1. 备份旧 lang.yml 和当前 lang/
  2. 在新生成的 lang/zh_CN.yml 中找到对应节点,例如旧 gem.embed-success 对应新 gem-embed-success
  3. 将自定义文案复制到新节点,保留新版本增加的占位符与节点。
  4. 设置 Lang: zh_CN,执行 /sgem reload 并验证消息和界面。

根目录旧文件的自定义内容不会由插件自动搬到新语言文件。更新后新增的语言节点由语言模块补全,已有自定义值会保留;仍建议更新前备份。

颜色与占位符

支持 &0&f 颜色码、&l 粗体、&o 斜体、&n 下划线、&m 删除线、&k 随机字符与 &r 重置,也可使用 §

占位符采用 {player}{gem}{amount} 等形式。可用名称见对应语言节点旁的注释;没有传入值的占位符会原样保留。

command-reload: '&a配置已重载 &7({time}ms)'

消息发送方式

对通过消息发送接口发出的文本,可在最前面指定:

前缀效果
无前缀聊天栏消息
actionbar:动作栏;控制台退化为普通文本
title:大标题,以竖线分隔主标题和副标题
none:不发送
gem-embed-success: 'title:&a镶嵌成功!|&7装备已强化'
command-reload: 'actionbar:&a配置已重载'
command-give: 'none:'

prefix 用于命令的普通聊天回执,动作栏、标题和静默消息不会附加该前缀。不支持 bossbar:

菜单标题、物品名字、图标 lore 等只是读取文本的场景,不会解析发送前缀;不要在这些节点里写 title:none:。宝石 SuccessTip: none 是宝石配置的特殊值,与这里的 none: 发送前缀分属不同入口。

还需要同步修改的文案

内容位置
宝石显示名、描述、结果提示gems/*.ymlDisplayTipsSuccessTip
自定义菜单标题与图标gui/*.ymlTitleDisplayTips
技能触发标记与技能消息skills/*.ymlLore 和技能行

技能 Lore 同时是装备上的绑定标记。修改它时必须同步修改相关宝石奖励和旧装备,否则旧装备无法匹配新标记。内置通用台的匹配键仍是 宝石镶嵌台,改界面标题不会改变宝石 Gui 的匹配规则。

排错

  • 出现 gem-embed-successgem.embed-success 等裸键名:检查当前语言文件的键名与节点类型。
  • 改文件不生效:确认 Lang 选中的是该文件,再执行 /sgem reload
  • 更新后仍只有旧文案:确认没有继续编辑根目录的 lang.yml
  • 需要恢复默认文件:先备份,将对应语言文件移出 lang/,重启后检查重新释放的版本。
Copyright © 2026