岛屿排行榜菜单
在这里你可以找到自定义岛屿排行榜界面的教程。
全局设置
首先,通过 title(字符串)设置为菜单赋予自定义标题。之后,你可以自行配置其他选项:previous-menu(布尔值)决定是否在关闭菜单后显示上级菜单,type(字符串)决定菜单显示的界面类型,open-sound(声音格式)可以在打开菜单时播放自定义音效。
信息
你可以在这里找到有效的界面类型。
排版设置
让我们着手研究排版。排版部分决定了菜单的显示样式。这是一系列字符串,其中的每个字符都代表着菜单中显示的一个按钮。它应当包含一至六行的字符串,每个字符串包含九个字符——空格不算作字符。如果不同格子有两个相同的字符,则这两个格子会显示相同的物品。物品的实际显示内容不在这里配置,而是在 items 部分。
分页式菜单设置
岛屿排行榜菜单是分页菜单,它会显示一列可用的物品——在这里就是岛屿。它的数量可能会大于菜单实际拥有的格子数量,这种情况下菜单就需要分成多页。
这些类型的菜单有四个额外选项:
slots- 代表着岛屿的按钮。previous-page- 代表着翻回上一页的按钮。current-page- 代表着当前页的按钮。next-page- 代表着翻到下一页的按钮。
岛屿排行榜相关设置
岛屿排行榜菜单有几个可以配置的额外选项:
| 字段 | 类型 | 描述 |
|---|---|---|
player-island | 单字符 | 显示玩家所在岛屿的特殊按钮。 |
sort-glow-when-selected | 布尔值 | 对应排序类型被选中时是否带上附魔光泽。 |
排序按钮
你可以布置改变岛屿排列顺序的按钮。这些按钮与一般物品格式相同,不过有一个额外设置:
| 字段 | 类型 | 描述 |
|---|---|---|
sorting-type | 字符串 | 切换的排序类型。可以为 WORTH、LEVEL、RATING 或 PLAYERS。 |
物品设置
这就是你配置物品的地方。你可以在这里找到如何正确配置物品的教程。
岛屿物品
岛屿按钮(slots 与 player-island 单字符)与一般的物品配置略有不同,且有如下必须设置的字段:
| 字段 | 类型 | 描述 |
|---|---|---|
island | 配置部分(物品) | 对应位置有岛屿时显示的内容。 |
no-island | 配置部分(物品) | 对应位置时无岛屿显示的内容。 |
island 与 no-island 字段也能用在声音与命令部分,可以根据对应格子是否存在岛屿执行不同的命令或播放不同的音效。
自定义变量
分页菜单(slots、previous-page 等)支持嵌入内建变量!
slots-{0}- 岛屿名称(若未设置则为其拥有者名称)。{1}- 岛屿在排行榜中的位置。{2}- 岛屿等级。{3}- 岛屿价值。{4}- 岛屿成员特殊变量(见下文)。{5}- 岛屿等级,按格式显示,K代表千,M代表百万。{6}- 岛屿价值,按格式显示,K代表千,M代表百万。{7}- 岛屿总评分,以数字显示。{8}- 岛屿总评分,以星级显示。{9}- 岛屿获得的总评分个数。{10}- 岛屿上的玩家数量。
previous-page、next-page-{0}- 若存在下一页则显示为绿色(&a),反之则为红色(&c)
current-page-{0}- 当前页码
成员变量
内建变量 {4} 可以在描述中显示成员列表。它的格式应该为 {4}:<文本格式>——这一行会为每个岛屿上的成员重复,内建变量 {} 则会替换为成员名称。也可以使用 {0} 表示成员名称,{1} 表示成员在线状态,{2} 表示成员职位。
声音设置
在这部分配置中你可以自定义玩家点击物品时发出的音效。你可以在这里找到正确配置音效的教程。
命令设置
在这部分配置中你可以自定义玩家点击物品时执行的命令。你可以在这里找到正确执行命令的教程。
权限设置
在这部分配置中你可以自定义玩家点击物品所需要的权限。你可以在这里找到正确配置权限条件的教程。
菜单示例
这是设置菜单的示例配置,涵盖了本章节教程提及的大部分技术及功能。
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
SnowCutieOwO