Skip to content

岛屿排行榜菜单

在这里你可以找到自定义岛屿排行榜界面的教程。

全局设置

首先,通过 title(字符串)设置为菜单赋予自定义标题。之后,你可以自行配置其他选项:previous-menu(布尔值)决定是否在关闭菜单后显示上级菜单,type(字符串)决定菜单显示的界面类型,open-sound(声音格式)可以在打开菜单时播放自定义音效。

信息

你可以在这里找到有效的界面类型。

排版设置

让我们着手研究排版。排版部分决定了菜单的显示样式。这是一系列字符串,其中的每个字符都代表着菜单中显示的一个按钮。它应当包含一至六行的字符串,每个字符串包含九个字符——空格不算作字符。如果不同格子有两个相同的字符,则这两个格子会显示相同的物品。物品的实际显示内容不在这里配置,而是在 items 部分。

分页式菜单设置

岛屿排行榜菜单是分页菜单,它会显示一列可用的物品——在这里就是岛屿。它的数量可能会大于菜单实际拥有的格子数量,这种情况下菜单就需要分成多页。

这些类型的菜单有四个额外选项:

  • slots - 代表着岛屿的按钮。
  • previous-page - 代表着翻回上一页的按钮。
  • current-page - 代表着当前页的按钮。
  • next-page - 代表着翻到下一页的按钮。

岛屿排行榜相关设置

岛屿排行榜菜单有几个可以配置的额外选项:

字段 类型 描述
player-island 单字符 显示玩家所在岛屿的特殊按钮。
sort-glow-when-selected 布尔值 对应排序类型被选中时是否带上附魔光泽。

排序按钮

你可以布置改变岛屿排列顺序的按钮。这些按钮与一般物品格式相同,不过有一个额外设置:

字段 类型 描述
sorting-type 字符串 切换的排序类型。可以为 WORTHLEVELRATINGPLAYERS

物品设置

这就是你配置物品的地方。你可以在这里找到如何正确配置物品的教程。

岛屿物品

岛屿按钮(slotsplayer-island 单字符)与一般的物品配置略有不同,且有如下必须设置的字段:

字段 类型 描述
island 配置部分(物品) 对应位置有岛屿时显示的内容。
no-island 配置部分(物品) 对应位置时无岛屿显示的内容。

islandno-island 字段也能用在声音与命令部分,可以根据对应格子是否存在岛屿执行不同的命令或播放不同的音效。

自定义变量

分页菜单(slotsprevious-page 等)支持嵌入内建变量!

  • slots -
    • {0} - 岛屿名称(若未设置则为其拥有者名称)。
    • {1} - 岛屿在排行榜中的位置。
    • {2} - 岛屿等级。
    • {3} - 岛屿价值。
    • {4} - 岛屿成员特殊变量(见下文)。
    • {5} - 岛屿等级,按格式显示,K 代表千,M 代表百万。
    • {6} - 岛屿价值,按格式显示,K 代表千,M 代表百万。
    • {7} - 岛屿总评分,以数字显示。
    • {8} - 岛屿总评分,以星级显示。
    • {9} - 岛屿获得的总评分个数。
    • {10} - 岛屿上的玩家数量。
  • previous-pagenext-page -
    • {0} - 若存在下一页则显示为绿色(&a),反之则为红色(&c
  • current-page -
    • {0} - 当前页码

成员变量

内建变量 {4} 可以在描述中显示成员列表。它的格式应该为 {4}:<文本格式>——这一行会为每个岛屿上的成员重复,内建变量 {} 则会替换为成员名称。也可以使用 {0} 表示成员名称,{1} 表示成员在线状态,{2} 表示成员职位。

声音设置

在这部分配置中你可以自定义玩家点击物品时发出的音效。你可以在这里找到正确配置音效的教程。

命令设置

在这部分配置中你可以自定义玩家点击物品时执行的命令。你可以在这里找到正确执行命令的教程。

权限设置

在这部分配置中你可以自定义玩家点击物品所需要的权限。你可以在这里找到正确配置权限条件的教程。

菜单示例

这是设置菜单的示例配置,涵盖了本章节教程提及的大部分技术及功能。

YAML
title: '&l岛屿排行榜'
previous-menu: true

pattern:
  - '~ ~ ~ ~ ~ ~ ~ ~ ~'
  - '@ % @ @ @ # @ @ @'
  - '@ * @ @ # # # @ @'
  - '@ ^ @ # # # # # @'
  - '@ & @ @ @ $ @ @ @'
  - '~ ~ ! ~ - ~ + ~ ~'

slots: '#'
previous-page: '!'
current-page: '-'
next-page: '+'

player-island: '$'
sort-glow-when-selected: true

items:
  '#':
    island:
      type: SKULL_ITEM
      data: 3
      name: '&e&l[!] 岛屿: &6&n{0}&7 (#{1})'
      lore:
        - '&7'
        - '&6&l* &e&l岛屿等级 &7{2}'
        - '&7'
        - '&6&l* &e&l名次 &7#{1}'
        - '&6&l* &e&l价值 &7${3}'
        - '&6&l* &e&l评分 {8} &7({9})'
        - '&6&l* &e&l人数 &7{10}'
        - '&7'
        - '&6&l* &e&l成员列表:'
        - '{4}:&f  - &7{}'
        - '&7'
        - '&7&o(( &f&o左键点击 &7&o浏览物品. ))'
        - '&7&o(( &f&o右键点击 &7&o传送至岛屿. ))'
    no-island:
      type: SKULL_ITEM
      data: 3
      name: '&c无效岛屿'
  '%':
    type: DIAMOND
    sorting-type: 'WORTH'
    name: '&6按价值排序'
  '*':
    type: GOLD_INGOT
    sorting-type: 'LEVEL'
    name: '&6按等级排序'
  '^':
    type: EMERALD
    sorting-type: 'RATING'
    name: '&6按评分排序'
  '&':
    type: SKULL_ITEM
    data: 3
    sorting-type: 'PLAYERS'
    name: '&6按玩家数量排序'
  '!':
    type: PAPER
    name: '{0}上一页'
  '-':
    type: DOUBLE_PLANT
    name: '&a当前页'
    lore:
      - '&7第 {0} 页'
  '+':
    type: PAPER
    name: '{0}下一页'
  '~':
    type: STAINED_GLASS_PANE
    data: 15
    name: '&f'

sounds:
  '@':
    type: ORB_PICKUP
    volume: 0.2
    pitch: 0.2

贡献者

页面历史