有序玩家列表

有序玩家列表

此模组添加了可配置的玩家列表顺序!

管理

有序玩家列表

配置

{
  // 每隔多少刻检查并更新一次排序
  "updateRate": 5,
  // 在玩家上方显示前缀元数据
  "displayPrefix": true,
  // 在玩家上方显示后缀元数据
  "displaySuffix": true,
  // 比较器列表,从上到下依次应用。
  // 在此示例中,将首先检查段位权重,然后相同段位权重的玩家将按游戏时长排序...
  "order": [
    {
      "key": "weight",
      "reversed": true,
      "mode": "integer",
      "type": "metadata"
    },
    {
      "placeholder": "player:statistic",
      "argument": "play_time",
      "reversed": true,
      "mode": "integer",
      "type": "placeholder"
    },
    {
      "placeholder": "player:pos_y",
      "reversed": false,
      "mode": "double",
      "type": "placeholder"
    },
    {
      "placeholder": "player:statistic",
      "argument": "deaths",
      "reversed": false,
      "mode": "integer",
      "type": "placeholder"
    },
    {
      "placeholder": "player:name",
      "reversed": false,
      "mode": "string",
      "type": "placeholder"
    }
  ]
}

(在 Minecraft 1.21.2 及更高版本的所有版本中,displayPrefix 和 displaySuffix 已被移除。)

比较器

比较器允许定义玩家在玩家列表中的排序方式。它们从上到下依次应用。也就是说,如果某个比较器对两名玩家评估为相等,则将使用下一个比较器来确定玩家顺序。

有时将数据解释为整数或浮点数而不是字符串比较可能会更有益。解析模式用于告诉模组它应如何解释字符串以应用正确的比较方法。可用的解析模式有 integer、string、double、long 和 boolean!

目前有两种不同的比较类型可用:

元数据

适用于基于来自 luckperms 等模组的元数据进行玩家比较

{
  // 应检查的元数据键
  "key": "<key>",
  // 是否应反转比较
  "reversed": false,
  // 解析模式
  "mode": "<mode>",
  "type": "metadata"
}

占位符

允许使用 占位符 进行玩家比较

{
  // 占位符 id(不带 %)
  "placeholder": "<placeholder>",
  // 占位符中使用的可选参数
  "argument": "<argument>",
  // 是否应反转比较
  "reversed": false,
  // 解析模式
  "mode": "<mode>",
  "type": "placeholder"
}