# TAB 列表名称样式

## 启用

要启用该功能，请在 **config.yml** 设置

```
tablist-name-formatting:
  enabled: true
```

将 `enabled` 设置为 `false` 将会禁用该功能。

## 配置

### 介绍

玩家在 **TAB** 显示名称由以下部分组成:\
`tabprefix` - 位于显示名称的前面，一般是玩家名称的前缀。\
`customtabname` - 显示名称的中间部分，它一般用于显示你在配置文件设置的自定义的名称。如果我们无法检查到 customtabname 的值，将会显示玩家的真实名称。\
`tabsuffix` -位于显示名称的后面，一般是玩家名称的后缀。

### 分组和玩家

玩家具体显示哪个 **TAB** 显示名称将可以由 **2** 种方式决定: 分组和单独给玩家本身。玩家可以是由他们的玩家名称或者 **UUID** 来定义，单独给玩家本身的值权重值比玩家所在的组设置的 **TAB** 显示名称高。\
**groups.yml**

```
admin:
  tabprefix: "&4&lAdmin &r"
```

你也可以通过指令来配置，以这个配置为例，则为 `/tab group admin tabprefix "&4&lAdmin &r"`。

**users.yml**

```
_NEZNAMY_:
  tabprefix: "&6&lTAB &r"

# 使用 UUID 单独给玩家
237d8b55-3f97-4749-aa60-e9fe97b45062:
  tabprefix: "&6&lTAB &r"
```

你也可以通过指令来配置，以这个配置为例，则为 `/tab player _NEZNAMY_ tabprefix "&4&lAdmin &r"` 或者 `/tab playeruuid _NEZNAMY_ tabprefix "&4&lAdmin &r"`。

你也可以通过 `_DEFAULT_` 来给没有任何分组，也没被单独给予 TAB 名称标签的玩家单独的标签。\
**groups.yml**

```
admin:
  tabprefix: "&4&lAdmin &r"
_DEFAULT_:
  tabprefix: "&7" # 在这个配置中，这代表除了 admin 分组外玩家全部给予这个 TAB 名称标签
```

### 分世界/分服务器

TAB 名称标签的值可以根据玩家所在的世界（或者 BC 所在的服务器）来分开。这里设置的值将比通用的 TAB 名称标签高。

示例:\
**groups.yml**

```
per-world:
  world1:
    _DEFAULT_:
      tabprefix: "&a" # 所有在 "world1" 世界的玩家将有这个 TAB 标签
per-server:
  server1:
    _DEFAULT_:
      tabprefix: "&a" # 所有在 "server1" 服务器的玩家将要这个 TAB 标签
```

多个世界或者服务器使用同一个配置，可以使用`;` 符号分开。\
如果多个服务器或者世界使用相同的开头，那么你可以用 `*` 符号代替不同时的位置。\
示例:

```
per-world:
  world1;world2:
    _DEFAULT_:
      tabsuffix: "world1 和 world2 通用的配置"
  lobby-*:
    _DEFAULT_:
      tabsuffix: "以 lobby- 开头的世界通用的配置"
```

### 权重值相同

整个权重值的列表如下:

1. 单独通过玩家名称给玩家的分世界/分服务器的 TAB 名称标签
2. 单独通过UUID给玩家的分世界/分服务器的 TAB 名称标签
3. 单独通过玩家名称给玩家的通用的 TAB 名称标签
4. 单独通过UUID给玩家的通用的 TAB 名称标签
5. 分组的分世界/分服务器 TAB 名称标签
6. 分组中 `_DEFAULT_` 的分世界/分服务器 TAB 名称标签
7. 分组的通用 TAB 名称标签
8. 分组中 `_DEFAULT_` 的通用 TAB 名称标签

一旦玩家拥有列表中最优先的一种 TAB 名称标签，那么玩家将会直接显示它。如果没有找到，将会返回空值（除了 `customtabname`，它将返回玩家的名称）。\
各个不同的值是互相独立的，这意味着您可以设置多个分世界/分服务器的 TAB 名称标签（因为您的服务器有多个世界、您的 BC 有多个服务器），但同种的通用的 TAB 名称标签只能有一个。

### Placeholder 支持

所有的 TAB 名称标签全部支持 [TAB 的内部变量符](https://docs.superiormc.cn/tab-wiki/functions/bian-liang-fu#nei-bu-bian-liang-fu) 和 [PlaceholderAPI ](https://github.com/PlaceholderAPI/PlaceholderAPI/wiki/Placeholders)变量符。变量符的数量不受限制，它们也可以和文本一起使用。

### 在指定世界/服务器禁用

```
tablist-name-formatting:
  disable-in-worlds:
    - disabledworld
  disable-in-servers:
    - disabledserver
```

要在除了所列的世界外禁用，只需添加 `WHITELIST` 关键词到列表中，这回导致该功能只会在所列的世界中启用。示例：

```
tablist-name-formatting:
  disable-in-worlds:
    - WHITELIST
    - enabledworld
```

**注意**: 在指定服务器关闭只能在 BungeeCord 上使用，并且还需安装 [TAB-Bridge](https://www.mc-market.org/resources/21641) 插件到所有子服上。

## 提示

如果你想让 TAB 只显示权限组插件的权限组信息，删除 **groups.yml** 中的所有组并只保留如下内容:

```
_DEFAULT_:
  tabprefix: "%vault-prefix%"
  tabsuffix: "%vault-suffix%"
```

这代表着与 Vault 挂钩的权限组插件的前缀和后缀变量符。对于LuckPerms，你可以使用 `%luckperms-prefix%` 和 `%luckperms-suffix%` 替代。&#x20;

## 附加信息

如果你禁用了该功能，**TAB** 列表将会显示名称标签的前缀和后缀。这是 MC 原版的机制。如果你不想要在 **TAB** 列表显示前缀和后缀，请开启该功能，但保持前缀和后缀空白即可。关闭此功能只在你需要其他插件管理该功能时有用。
