界面配置
玩家看到的三个界面都可以自定义,文件在 plugins/StarCrate/menus/:
| 文件 | 界面 | 什么时候出现 |
|---|---|---|
preview.yml | 奖池预览(也是自选奖池的选择界面) | 点抽奖方块、右键宝箱物品、/sc open |
results.yml | 抽奖结果 | 动画结束后(config.yml 的 animation.results-menu) |
history.yml | 抽奖记录 | /sc history、预览里的「抽奖记录」按钮 |
改完 /sc reload 生效。文件被删掉时,/sc reload 或重启会重新生成默认文件。
安装了云界面 CloudUI 时
「抽奖」与「立即抽取」奖池的预览会改用云界面的全屏画面,不使用 preview.yml(自选奖池的选择界面、无法显示云界面的玩家仍使用 preview.yml)。
抽奖结果与抽奖记录界面照常使用这里的设定。见 云界面预览。
编辑器与抽奖动画的界面不在这里:编辑器的文字在 messages.yml 的 editor,动画在 animations.yml。
通用写法
title: '<dark_gray>✦ </dark_gray>{crate}'
rows: 6
content-slots: ['10-16', '19-25', '28-34']
sounds:
open: 'BLOCK_ENDER_CHEST_OPEN:0.4:1.4'
click: 'UI_BUTTON_CLICK:0.4:1.4'
decorations:
frame:
material: BLACK_STAINED_GLASS_PANE
slots: ['0-8', '36-53', 9, 17, 18, 26, 27, 35]
buttons:
close:
slot: 40
material: BARRIER
name: '<red>关闭'
| 键 | 作用 |
|---|---|
title | 界面标题,可用颜色与变量 |
rows | 行数 1 ~ 6 |
content-slots | 放奖品(或记录)的格位。被按钮占用的格位会自动跳过。没写时使用除了最后一行以外的全部格位 |
items-per-page | 每页放几个(选填,默认 = content-slots 的格数) |
sounds | 界面音效:open 打开时、click 点按钮时(预览另有 select 自选选择时)。写法同 稀有度 的音效,留空不播放 |
decorations | 装饰物品(先画,按钮与奖品盖在上面)。每一项的写法和按钮相同,名称默认空白 |
buttons | 按钮 |
格位写法
格位从 0 开始:第一行是 0 ~ 8,第二行 9 ~ 17……第六行 45 ~ 53。
slot: 4 # 一格
slots: [45, 53] # 多格
slots: ['0-8', 17, '36-44'] # 范围(要加引号)
slots: '0-8, 45-53' # 一个字符串也可以,用逗号分隔
按钮的键
| 键 | 默认 | 作用 |
|---|---|---|
slot / slots | — | 放在哪里(可以同时放好几格) |
type | 按钮名称 | 按钮的功能。按钮名称是内置功能(例如 single、close)时自动使用该功能;其他名称一律是 action(只执行 actions)。也可以写 type: 指定,例如名称叫 my-close 但 type: close |
enabled | true | false = 不显示这个按钮 |
material | STONE | 材质 |
amount | 1 | 数量(1 ~ 64) |
name | '' | 名称 |
lore | [] | 说明 |
custom-model-data | 0 | CustomModelData(0 = 不设) |
item-model | '' | item_model(1.21.4+),例如 myserver:gui/draw |
tooltip-style | '' | 提示框样式(1.21.2+) |
head | '' | 材质是 PLAYER_HEAD 时的头颅:{player} = 看界面的玩家、玩家名称、UUID,或 base64 材质值 |
glow | false | 附魔光泽 |
sound | — | 点这个按钮的音效(取代界面的 click 音效) |
permission | '' | 没有这个权限的玩家看不到这个按钮(预览与结果界面) |
states | — | 不同状态的外观,见下方 confirm 按钮 |
actions | [] | type: action 的按钮点击时执行的动作 |
按钮物品的原版提示(攻击伤害、附魔等)会自动隐藏。
自定义动作(actions)
名称不是内置功能的按钮就是自定义按钮,点击时依序执行 actions:
buttons:
warp-shop:
slot: 45
material: EMERALD
name: '<green>去商店买钥匙'
actions:
- 'close'
- 'command: warp shop'
- 'message: <gray>欢迎光临!'
| 动作 | 作用 |
|---|---|
command: 指令 | 玩家执行指令(不用 /) |
console: 指令 | 控制台执行指令 |
message: 文字 | 发一条消息给玩家 |
sound: 音效 | 播放音效 |
close | 关闭界面 |
动作里可用 {player}(玩家名称)。没有 actions 的自定义按钮就只是展示用(例如结果界面的「保底进度」)。
preview.yml(奖池预览)
变量
标题、按钮名称与说明都可以用:
| 变量 | 内容 |
|---|---|
{crate} | 奖池显示名称 |
{player} | 玩家名称 |
{cost_single} / {cost_ten} | 单抽 / 十连花费,例如 免费、100 金币、50 点券、1 × 星辉宝箱 钥匙(货币文字在 messages.yml 的 currency) |
{pity} | 保底次数 |
{pity_max} | 硬保底次数(没有时 ∞) |
{pity_left} | 再抽几次必出终极大奖(没有硬保底时 ∞) |
{pity_bar} | 20 格的保底进度条(格子样式在 messages.yml 的 pity-bar) |
{total} | 玩家在这个奖池已经抽了几次 |
{prizes} | 奖品数量 |
{ten_guarantee} | 实际生效的十连保底稀有度名称:奖池自己的设定,没设定时是 config.yml 的 defaults.ten-guarantee;都没有时显示 messages.yml 的 none「无」 |
{soft_start} | 软保底起点 |
{select_count} / {selected} | 自选奖池要选几个 / 已经选了几个 |
{daily_limit} | 每日上限(不限时 ∞) |
{key} | 钥匙名称 |
{page} / {pages} | 目前页数 / 总页数 |
{page}、{pages}、{selected} 只能用在按钮与装饰上,标题里不会替换。自选奖池使用 select-title 当标题(默认 {crate} · 选择 {select_count} 个)。