# 变量符

## 关于

TAB 内部提供多个变量符以显示一些常用的信息。它也支持 [PlaceholderAPI ](https://github.com/PlaceholderAPI/PlaceholderAPI/wiki/Placeholders)的变量符。

## 内部变量符

内部变量符是由 TAB 插件本身提供的。大部分的它们是由于有的人不愿再安装插件来显示它们需要的变量。其中一些已经在 config.yml 的 `Placeholders` 部分写出。没有使用的变量符不会以任何形式占用你的服务器的资源。&#x20;

如果要在外部使用内部变量符，请参考最下面的介绍。

### 通用

```
%online%         - 除隐身玩家外的服务器总在线人数
%world%          - 玩家所在的世界的名称
%worldonline%    - 玩家当前世界的玩家名称，要求启用 per-world-playerlist 
%ping%           - 服务器的 ping (由服务器测量)
%player%         - 玩家的真实名称，通过 .getName() 得到的，不会受到其他插件的修改而影响
%time%           - 真实时间，格式可以在 config.yml 修改
%date%           - 真实日期，格式可以在 config.yml 修改
%staffonline%    - 拥有 tab.staff 权限的在线玩家数
%nonstaffonline% - 没有 tab.staff 权限的在线玩家数 ( online - staffonline )
%memory-used%    - 已使用的服务器内存，以 MB 为单位
%memory-max%     - 总的服务器内存，以 MB 为单位
%memory-used-gb% - 已使用的服务器内存，以 GB 为单位
%memory-max-gb%  - 总的服务器内存，以 GB 为单位
%player-version% - 玩家的客户端版本号，例如 "1.14.4"
%player-version-id% - 玩家的客户端协议号
%luckperms-prefix%  - LuckPerms 的前缀
%luckperms-suffix%  - LuckPerms 的后缀
%displayname%       - 由权限组插件通过的玩家名称，通常是 prefix（前缀） + name（名称） + suffix（后缀）
```

### 仅限 Bukkit

```
%health%            - 玩家的血量
%tps%               - 最后一分钟的服务器 TPS 信息
%mspt%              - 服务器每刻的延迟
%vault-prefix%      - Vault 的前缀
%vault-suffix%      - Vault 的后缀
%afk%               - 玩家挂机的状态，支持 Essentials / Purpur
%mspt%              - 服务器当前的 MSPT (需要 Paper)
```

### 仅限 Bungee

```
%server%                    - 玩家所在的服务器
%serveronline%              - 玩家所在的BC服务器的人数
%online_<servername>%       - 指定子服的人数
```

## PlaceholderAPI

PlaceholderAPI 是支持的，并且外部变量符也是受到支持的。

TAB 同样也提供 PlaceholderAPI 的变量符，要获得对应的拓展，请修改：

```
placeholders:
  register-tab-expansion: true
```

在 config.yml。

完整的变量符列表:

```
%tab_tabprefix% - 玩家的 TAB 前缀
%tab_tabsuffix% - 玩家的 TAB 后缀
%tab_tagprefix% - 玩家的名称标签前缀
%tab_tagsuffix% - 玩家的名称标签后缀
%tab_customtabname% - 玩家的自定义 TAB 名称
%tab_customtagname% - 玩家的自定义名称标签
%tab_belowname% - 玩家的名称标签下方
%tab_abovename% - 玩家的名称标签上方

# 以下同上，但是不会解析其包含的各个变量符，即会显示出原有样子
%tab_tabprefix_raw%
%tab_tabsuffix_raw%
%tab_tagprefix_raw%
%tab_tagsuffix_raw%
%tab_customtabname_raw%
%tab_customtagname_raw%
%tab_belowname_raw%
%tab_abovename_raw%

%tab_scoreboard_visible% - 玩家当前是否看到计分板
%tab_bossbar_visible% - 玩家当前是否看到 Boss条
%tab_nametag_preview% - 玩家当前是否 /tab nametag 以通过盔甲架形式查看自己的名称标签
%tab_nametag_visibility%- 玩家是否看到名称标签
%tab_replace_<替换变量符>% - 在外部使用替换变量符
%tab_placeholder_<内部变量符>% - 在外部使用内部变量符
%tab_scoreboard_name% - 玩家当前看到的计分板的名称
```

## 刷新

### 刷新间隔

TAB 会定期刷新变量符显示。对于内部变量符，它使用的是我找到的最佳值并直接在插件中设置。PlaceholderAPI 变量占位符的刷新间隔同样也可以 [配置](/tab-wiki/advanced/you-hua-cha-jian.md)。

### 异步刷新

默认情况下，所有的变量符都会异步刷新，这样它们就不会堵塞主线程。但是有一些变量符，必须在主线程刷新，这时这可能会导致一些问题或者错误。这样的话，你只需将它们替换为 `%sync:<原本的变量符>%` 然后它们就只会在主线程中被刷新，例如 `%sync:server_total_entities%`。\
需要注意的是你需要设置有理由的间隔时间，不要过于频繁，否则将会可能导致 TPS 下降。需要了解其对服务器 CPU 的占用情况，请输入指令 `/tab cpu`。

## 变量符不显示变量

你要确保这是一个真正的变量符：TAB 的内部变量符或者是 PlaceholderAPI 的变量符。如果不是，这就是问题所在。

**注意:** 不要忘记在变量符的开头和末尾使用 `%` 符号。如果您需要使用这个符号，尝试使用 `%%` 替换。

### 内部变量符没有正常显示

所有的 TAB 内部变量符已经在上方列出。它们中的一些只能在 Bukkit 使用）对于内部占位符，它使用我找到的最佳值并直接在插件中设置。 可以配置 PlaceholderAPI 占位符的刷新间隔。（这意味着在 BC 上它们不会正常工作），还有的只能在 Bungee 上使用。**尝试将仅限 Bukkit 使用的变量符或者将 Bukkit 的 TAB 配置直接复制到 BC上是导致此问题的关键因素。**

### PlaceholderAPI 变量符没有正常显示

如果你在 BungeeCord 上安装 TAB，请确保你按照 BungeeCord上的变量符 指示去做，因为没有将一个服务器数据直接转送到另一个服务器的办法。&#x20;

如果你在 Bukkit 上安装 TAB 并遵循了上面介绍的步骤仍不正常显示，请使用If  `/papi parse me <placeholder>` 指令检查这个变量符到底能否正常显示。如果这个指令反馈的值仍是异常的，那么这就不是 TAB 的问题。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.superiormc.cn/tab-wiki/functions/bian-liang-fu.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
