变量符输出替换

关于

大部分变量符无法自定义它的输出内容,这使得你无法让它们显示你希望它们显示的样子。例如你需要显示玩家是否在挂机或者隐形,可这些插件的变量符只会显示 "yes" 或者 "no" 而不是一些炫酷的文本。这些插件本应该提供自定义的功能,但是它们没有,所以 TAB 为你提供这个功能。

配置

打开 config.yml 并找到如下部分:

placeholder-output-replacements:
  <placeholder>:
    <original output>: <new output>

支持的替换模式

模式 1: 准确文本

让一个变量符的输出内容准确的满足左侧内容,那么它将会被替换为右侧的内容。 示例:

placeholder-output-replacements:
  "%tps%":
    "20": "Running at perfect 20 TPS!"
  "%essentials_vanished%":
    "yes": " &7[V]"
    "no": ""

注意 1: 如果你希望替换后不显示文本,在左侧填写 "" 或者 '' 即可。

注意 2: 内容必须十分精确,包括颜色代码。要检查该变量符包含的颜色代码,你可以使用命令 /tab parse <player> <placeholder> 并查看 "无颜色"。

模式 2: 数字间隔

如果一个变量符输出的内容在一个间隔内,那么它将会被替换。 示例:

placeholder-output-replacements:
  "%tps%": #服务器TPS
    "15-20": "还可以"
    "5-15": "有的糟"
    "0-5": "糟糕"

注意: 如果一个数字包含在超过 1 个间隔中(就像上面的 5 和 15)。间隔上限大的将会被使用。这样的话,15 将会显示 还可以 并且 5 将会显示 有的糟

模式 3: else(或者)

如果变量符输出的结果不满足所设置的所有预定值(即右侧内容),并且 "else" 模式也被设置,那么替换的内容将会使用 "else" 所设置的内容。 示例:

placeholder-output-replacements:
  "%tps%":
    "20": "非常完美的 20 TPS!"
    "15-20": "还可以"
    "5-15": "有点糟"
    "else": "太糟糕了" #这种情况下else就是0-5 ,因为TPS只能是0-20

替换值中支持的内容

你可以使用其他变量符作为替换后的内容,但你不能使用与替换前相同的变量符,因为这只会导致死循环。 要避免这个问题,你可以使用 %value% 来显示该变量符本来将会显示的内容。 示例

placeholder-output-replacements:
  "%tps%":
    "20": "Running at perfect 20 TPS!"
    "15-20": "%value% (Solid)"
    "5-15": "%value% (Bad)"
    "else": "%value% (Terrible)"

在这个示例中,如果 TPS 达到 17.5,那么替换后的实际输出值是 17.5 (Solid)

在其他插件使用

这些替换将只在 TAB 内部使用,其他插件不会被替换。 如果你希望在其他插件使用这些替换变量符,你只需要 TAB 插件的变量符拓展(将会自动安装),并使用 %tab_replace_<变量符>%。例如你想要 TAB 替换后的 %player_health% 变量符,只需使用 %tab_replace_player_health% 变量符即可显示。

这只支持 PlaceholderAPI 的变量符,并且不能是 TAB 的内部变量符。要使用 TAB 的内部变量符,请使用 %tab_placeholder_<变量符>, 例如 %health% 使用 %tab_placeholder_health%

附加信息

附加注意 1

如果你使用的变量符包含 . (例如检查玩家是否有某个权限节点),以前的格式将不起作用。这是因为 . 符号被用于间隔配置文件之间选项的路径。要使得这种变量符正常工作,只需在每个带有 . 的地方拆分。示例:使用 %player_has_permission_test.permission% 权限节点

placeholder-output-replacements:
  "%player_has_permission_test":
    "permission%":
      yes: "Permission present"
      no: "No permission"

提示

如果你在 BC 服安装了 TAB 并且不希望在变量符尚未加载好之前显示它本来的样子,你可以使用这个功能来实现没加载好之前的内容自动被替换。示例:

placeholder-output-replacements:
  "%my_placeholder%":
    "%my_placeholder%": "" # 当变量符尚未加载好时,它就是空的,而不是以前的显示变量符本来的样子

最后更新于