# 布局

## 关于

这个功能允许你配置所有 80 个 TAB 列表槽位。目前不支持显示小于 4 列。这个功能目前可以通过 **layout.yml** 启用或者配置。

## 创建一个布局

这个功能可以在 **layout.yml** 文件下的 `layouts` 部分配置。所有布局包括 3 个设置：  Fixed slots, player groups 和 display condition (可选)。

### Display condition（显示条件）

玩家必须满足条件才会显示该布局。如果玩家不满足该布局的所有条件，那么插件会检查是否满足下一个布局的条件。如果玩家不满足所有布局的条件，那么他将会显示默认的 TAB 列表。该设置是可选的，你也可以不设置它。

### Fixed slots（修复槽位）

这些是通过修改位置实现的空白玩家槽位，它们可以自定义文本和显示的皮肤。它们可以在各个布局下的 `fixed-slots` 选项配置。定义的语法是 `SLOT|TEXT|SKIN`。如果你不想要定义自定义皮肤，请直接使用 `SLOT|TEXT`。\
`SLOT` - 修复槽位所在的位置。它可以是 1 到 80。默认情况下，槽位数是按列增长的，因此第一列即是 0 到 20。\
`TEXT` - 文本内容。支持变量符。\
`SKIN` - 布局的皮肤，具体见下。

### 玩家组

这些是满足指定条件的玩家组。

#### 显示条件

显示条件是这个组的玩家必须满足的要求。如果一个玩家不能满足这个组的条件，那么下一个组的条件将会被检查（根据配置文件中各个组的顺序）。如果玩家无法满足所有组的条件，那么他将不会在布局中显示。显示条件不是必须的（可以用于默认组）。

#### 槽位

这个组在布局中显示的槽位间隔。间隔 `1-5` 代表 1 到 5 的所有槽位。如果你想要多个间隔下的槽位，只需要根据格式另起一行即可。\
从 41 到 80 间隔的槽位而不包括 61，62 和 63 槽位的示例:

```
        slots:
          - '41-60'
          - '64-80'
```

## 通过条件管理多布局

你可以通过为各个布局设置显示条件的方法创建多布局。要想这么做，你需要为各个布局设置 `condition` 选项。在配置中的各个布局在显示前都会被检查其显示条件。如果一个布局没有设置其条件，它将无条件显示。如果玩家不满足所有布局的条件，那么它将会看到正常的 TAB 列表。

## 皮肤

玩家所处的槽位可以显示他们的皮肤。如果是修复槽位（即空白玩家槽位），如果它们在配置中被指定了皮肤，该皮肤将会显示，否则将会使用 `default-skin` 的皮肤。该选项的皮肤也会用于无效皮肤时的玩家槽位。

### 样式

目前，TAB支持 3 种皮肤样式:\
`mineskin:ID` - 使用来自 [MineSkin](https://mineskin.org/) 的UUID。你可以在下方找到一些已经配置好的皮肤。\
`player:名称` - 显示该 `名称` 正版玩家的皮肤。\
`texture:<材质>` - 使用皮肤材质纹理。你可以使用 [Minecraft-Heads](https://minecraft-heads.com/custom-heads) 中自定义皮肤的 `Minecraft-URL` 区域所给的值。\
![](https://camo.githubusercontent.com/e5750106f8ad233b4d0f5cb7b87346dc5cc8d3c9a967a012ce0ff945b541630e/68747470733a2f2f63646e2e646973636f72646170702e636f6d2f6174746163686d656e74732f3831373738393232393437393632343732382f3931363337333839323233373531323731352f756e6b6e6f776e2e706e67)

## 额外设置

`direction: COLUMNS`\
槽位统计的方式，可以选择 COLUMNS 和 ROWS。（即按列排和按行排）\
![](https://camo.githubusercontent.com/a9ac7d7d6698de1588e03c6f608c5dc2c1896684a0d2cb4e4c64a0f83109ee6f/68747470733a2f2f6d656469612e646973636f72646170702e6e65742f6174746163686d656e74732f3931353930303731383535393339353839302f3931353930303732383134333338383637322f756e6b6e6f776e2e706e67) ![](https://camo.githubusercontent.com/4e14154d4fe53cd278ac88e9e52463c2775edab14caf27c08614a3d1dcd6a3e9/68747470733a2f2f6d656469612e646973636f72646170702e6e65742f6174746163686d656e74732f3931353930303731383535393339353839302f3931353930303936373730313037333938302f756e6b6e6f776e2e706e67)

```
enable-remaining-players-text: true
remaining-players-text: "... and %s more"
```

如果启用，各玩家组的最后一个槽位将会显示该组有多少位玩家，而不是之前为其他玩家准备的槽位。

`default-skin: "mineskin:1753261242"`\
给修复槽位和无法检测到皮肤的玩家的默认皮肤。、

一些预置的皮肤:

```
BTLP's balance.png: 510604280
BTLP's clock.png: 2053951237
BTLP's server.png: 604037953
BTLP's ping.png: 796704708
BTLP's players.png: 1160612233
BTLP's rank.png: 527763880
Aqua: 1749359849
Black: 1551047136
Blue: 1870064311
Dark Aqua: 1893783461
Dark Blue: 899643609
Dark Gray: 383747683
Dark Green: 588254656
Dark Purple: 2061328517
Dark Red: 924139093
Gold: 1074335506
Gray: 745109047
Green: 224445819
Pink: 1818936290
Red: 1160568696
White: 1105851698
Yellow: 1307755006
```

## 额外信息

为避免在使用指令 Tab 补全时显示虚拟玩家，TAB 使用一个空白的字符作为虚拟玩家的名称。因为 Minecraft 的计分板目标只使用玩家的名称而不是玩家的UUID 来定义值，这样结果是 TAB 无法为每个虚拟位置设置不同的名称值，这使得 黄色颜色 功能无法兼容此功能。如果你希望在拥有此效果同时仍使用黄色颜色，请考虑使用 [TAB后缀对齐](https://docs.superiormc.cn/tab-wiki/core-features/tab-hou-zhui-dui-qi) 功能。
