菜单
云公会有 17 个箱子菜单,外观全部写在 plugins/CloudGuild/menus/ 里。改完执行 /cg admin reload 生效。
想恢复某个文件的默认样子:把它改名或删除,再 /cg admin reload,会重新生成默认文件(文件不存在时,也会直接使用插件内置的版本)。
| 文件 | 菜单 | 打开方式 |
|---|---|---|
main.yml | 公会主页 | /cg(有公会时;装了云界面时改用 云界面画面) |
browse.yml | 公会列表 | /cg list、没有公会时的 /cg、主页的「公会列表」 |
info.yml | 公会资讯 | 公会列表或排行里点一个公会 |
members.yml | 成员列表 | /cg members、主页的「成员」 |
member.yml | 管理一位成员 | 成员列表里点一位你能管理的成员 |
applications.yml | 入会申请 | /cg applications、成员列表的「入会申请」 |
invite.yml | 邀请玩家 | /cg invite、成员列表的「邀请玩家」 |
bank.yml | 公会银行 | /cg bank、主页的「公会银行」 |
shop.yml | 公会商店 | /cg shop |
tasks.yml | 公会任务 | /cg tasks |
notices.yml | 公告栏 | /cg notice |
settings.yml | 公会设定 | 主页的「公会设定」 |
relations.yml | 同盟与敌对 | /cg relations、/cg ally |
top.yml | 公会排行 | 主页的「公会排行」 |
buffs.yml | 公会增益 | /cg buff |
homes.yml | 公会据点 | /cg homes、主页「回到据点」右键 |
confirm.yml | 二次确认 | 退出、解散、踢人、转让、解除同盟、宣战、删除公告 / 据点 |
除了公会列表、公会资讯、公会排行与二次确认,其他菜单都需要有公会(没有时提示「你還沒有公會」)。
共通的写法
title: '&8公會銀行 &7· &6{funds}'
rows: 6
content-slots: ['28-34', '37-43']
sounds:
open: BLOCK_ENDER_CHEST_OPEN:0.5:1.4
click: UI_BUTTON_CLICK:0.5:1.2
decorations:
border:
material: GRAY_STAINED_GLASS_PANE
slots: ['0-3', '5-9', 17, 18]
entries:
in:
material: LIME_STAINED_GLASS_PANE
name: '&a{amount} &7· {action}'
empty:
material: PAPER
name: '&7還沒有紀錄'
buttons:
withdraw:
slot: 15
material: HOPPER
name: '&c提領'
| 键 | 作用 |
|---|---|
title | 菜单标题,支持 & 颜色、&#RRGGBB 与 MiniMessage,可用该菜单的变量 |
rows | 行数,1 ~ 6 |
content-slots | 放「清单」的格位(成员、公会、商品、任务、记录……),可以写数字或范围 '10-16';没写时使用除了最后一行以外的全部格位 |
items-per-page | (选填)每页最多显示几项,默认等于内容格位的数量 |
empty-slot-index | (选填)清单是空的时,entries.empty 放在第几个内容格位(从 0 算),默认 0 |
sounds | open 打开菜单、click 点击按钮或清单项目 |
decorations | 装饰(玻璃板等),可以写好几组,键名随便取,点了没反应 |
entries | 清单项目的外观,名称依菜单而定(default、online、locked……);empty = 清单是空的时显示 |
buttons | 按钮。键名就是功能(见各菜单的功能键),不认识的键名是只执行 actions 的自定义按钮 |
格位编号从 0 开始,第一行是 0 ~ 8,第二行 9 ~ 17,依此类推。
音效写法
| 写法 | 意思 |
|---|---|
UI_BUTTON_CLICK | 原版音效名称,音量与音调都是 1 |
UI_BUTTON_CLICK:0.6 | 音量 0.6 |
UI_BUTTON_CLICK:0.6:1.2 | 音量 0.6、音调 1.2 |
minecraft:block.note_block.pling | 音效 ID(资源包的自定义音效也可以,例如 myserver:ui.open:0.8:1) |
'' | 不播放 |
写错的音效会被忽略,不会让菜单出错。
按钮、装饰与清单项目的键
| 键 | 默认 | 作用 |
|---|---|---|
type | 键名 | 指定功能。键名就是功能键时不用写;想用别的键名、或同一个功能放两个按钮时写 type: bank 这样。写 type: action 表示只执行 actions |
slot / slots | — | 格位:slot: 4、slots: [45, 53]、slots: ['0-8', 17](清单项目不用写) |
material | 按钮 STONE / 装饰 BLACK_STAINED_GLASS_PANE | 材质,写错时变成石头 |
amount | 1 | 数量 |
name | 空 | 名称,支持颜色与变量 |
lore | 无 | 说明,一行一个项目,支持颜色与变量 |
custom-model-data | 0 | 自定义模型数据,0 = 不用 |
item-model | 空 | 物品模型(1.21.4+),例如 myserver:gui/bank |
tooltip-style | 空 | 提示框样式(1.21.2+) |
head | 空 | 头颅材质(material 要是 PLAYER_HEAD),见下方 |
glow | false | 附魔光效 |
sound | 菜单的 click | 点击这个按钮的音效 |
permission | 空 | 没有这个权限节点的玩家看不到这个按钮 |
enabled | true | false = 暂时停用这个按钮 / 装饰,不用删掉整段 |
states | — | 不同状态下的外观,见下方 |
actions | — | 点击时执行的动作,见下方 |
按钮物品会隐藏原版的属性、附魔等说明。
用游戏物品当底的项目:公会图示(主页与资讯的 info、设定的 icon、公会列表、排行、外交的清单项目)、玩家头颅(成员、申请、邀请、管理成员的 info)、商店商品、任务与增益的图示,会保留物品本身的材质与模型,只换上这里的名称、说明、数量与光效。
head 的写法:
| 写法 | 显示 |
|---|---|
'{player}' | 正在看这个菜单的玩家自己的头 |
'{target}' | 这个项目代表的玩家(例如邀请菜单里的每位玩家) |
Steve 或 UUID | 那个玩家的头 |
| 很长的一串 base64 | 头颅网站复制的 textures 值(可以加 base64: 前缀) |
states 状态外观: 只写要改的项目,其余沿用按钮本身的设定。每个功能键有哪些状态,见下面各菜单的说明;状态是 hidden 时按钮不显示。
signin:
slot: 24
material: WRITABLE_BOOK
name: '&e每日簽到'
glow: true
states:
done: # 今天已经签到过
material: BOOK
glow: false
lore: ['&a今天已經簽到過了', '&7明天再來吧']
YAML 会把 on / off 读成 true / false,云公会会自动认回 on / off,直接写就好。
actions 动作(自定义按钮;功能键也可以加 actions,会先执行动作再执行功能):
| 写法 | 效果 |
|---|---|
'command: spawn' | 玩家执行指令(也可以写 player:) |
'console: give {player} diamond 1' | 控制台执行指令 |
'message: &a哈囉' | 给玩家发一条消息(也可以写 msg:) |
'sound: ENTITY_PLAYER_LEVELUP' | 播放音效 |
'open: shop' | 打开另一个云公会菜单(写文件名,不含 .yml;open: main = 公会主页) |
'back' | 回到上一个菜单 |
'close' | 关闭菜单 |
动作里的 {player} 代表玩家名。例子:在主页加一个回主城的按钮:
buttons:
spawn:
slot: 46
material: ENDER_PEARL
name: '&b回到主城'
actions:
- 'close'
- 'command: spawn'
「返回」回到哪里
back 按钮回到打开这个菜单之前的菜单;直接用指令打开时回到默认的上一层:
| 菜单 | 默认上一层 |
|---|---|
main | 没有(关闭) |
info | browse |
member、applications、invite | members |
| 其他 | main(没有公会时是公会列表) |
说明文字的排版规则
- 一行里有多行变量(例如
{description_lines}、{war_list}、{content}、{task_lore}、{buff_lore})时,这一行会按内容重复好几行;内容是空的就整行拿掉。 - 连续的空行只保留一行,开头与结尾的空行会自动去掉。所以可以放心地用
''分段。
共通变量
| 变量 | 内容 |
|---|---|
{player} {rank} {contribution} {total_contribution} {week_contribution} {donated} {unread} | 自己:名称、职位、贡献、累积贡献、本周贡献、累积捐献、未读公告数 |
{name} {name_plain} {tag} {level} {color} {members} {max} {funds} {activity} {month} {leader} {created} | 公会:名称、不含颜色的名称、标签(没有时 -)、等级、等级颜色、成员数、人数上限、资金、活跃、本月活跃、会长、建立时间 |
{mode} {ff} {kills} {deaths} {war_wins} {war_losses} {position} {online} {homes} {vault_pages} {description} | 加入方式、友伤、击杀、死亡、胜场、败场、等级排名、本服在线成员数、据点上限、仓库页数、介绍 |
{next_level} {next_cost} {next_activity} {next_members} {next_max} | 下一级、升级资金、需要活跃、需要成员、升级后的人数上限(已经最高级时都是 -) |
{page} {pages} {count} | 清单的目前页码、总页数、项目数(标题、按钮与清单项目都可以用) |
「公会」变量在自己公会的菜单里是自己的公会;在公会资讯里是正在看的那个公会;在公会列表、排行与外交的清单项目里是那一项的公会。 公会列表、排行与二次确认菜单的按钮与标题只有「自己」的变量与该菜单的变量。
main.yml 公会主页
| 功能键 | 作用 | 状态 |
|---|---|---|
info | 公会资讯(以公会图示显示),只显示 | — |
members | 打开成员列表 | — |
bank | 打开公会银行 | — |
shop | 打开公会商店 | — |
tasks | 打开公会任务 | — |
notices | 打开公告栏 | unread:有未读公告 |
signin | 每日签到 | done:今天已签到;signin.enabled: false 时隐藏 |
home | 左键回到主要据点,右键打开据点菜单 | — |
homes | 打开据点菜单(默认文件没有放) | — |
relations | 打开同盟与敌对 | — |
buffs | 打开公会增益 | — |
vault | 打开公会仓库第 1 页 | vault.enabled: false 时隐藏 |
top | 打开公会排行 | — |
wars | 公会战,只显示 | active:正在开战 |
chat | 左键切换公会频道,右键切换同盟频道 | none / guild / ally:目前的频道 |
settings | 打开公会设定 | — |
upgrade | 升级公会 | ready:条件都满足;max:已经最高级 |
browse | 打开公会列表 | — |
leave | 退出公会(二次确认) | 会长看不到 |
close | 关闭 | — |
额外变量:{chat} 目前频道名称、{wars} 准备中与进行中的战争数;多行:{war_list} 每场战争的比分与剩余时间(没有时显示 messages.yml 的 menu.war-none)、{description_lines} 公会介绍(| 换行、自动折行)。
browse.yml 公会列表
清单是所有公会,按目前的排序排列,点一个公会打开 公会资讯。
| 清单外观 | 用在 |
|---|---|
default | 其他公会 |
own | 自己的公会 |
empty | 还没有任何公会 |
| 功能键 | 作用 | 状态 |
|---|---|---|
sort | 切换排序:左键下一种、右键上一种 | level / activity / month / funds / members / kills / wars |
create | 建立公会(在聊天栏输入「名称 标签」) | 有公会时隐藏 |
back | 返回 | 没有公会时隐藏 |
previous / next | 上一页 / 下一页 | 前后没有页时隐藏 |
变量:{sort} 排序名称、{total} 公会总数、{create_money} {create_points} 建立费用;清单项目另有公会变量、{relation}(和自己公会的关系)、{value}(目前排序的数值)、多行 {description_lines}。
info.yml 公会资讯
| 功能键 | 作用 | 状态 |
|---|---|---|
info | 公会资讯(以公会图示显示),只显示 | — |
join | 加入 / 申请(apply 时在聊天栏输入留言) | open / apply / closed:对方的加入方式;member:这是你的公会;in-guild:你已经有公会了 |
ally | 提出同盟;已经是同盟时点击解除(二次确认) | allied:已是同盟;自己的公会、没有公会、没有 relation 权限或关闭外交时隐藏 |
enemy | 设为 / 取消敌对 | enemy:已敌对;隐藏条件同上 |
war | 宣战(二次确认) | 自己的公会、没有公会、没有 war 权限或关闭公会战时隐藏 |
back | 返回 | — |
变量:公会变量(正在看的公会)、{relation}、{war_cost} 宣战花费;多行 {description_lines}。
members.yml 成员列表
清单是所有成员,按职位权重、累积贡献排序。点一位你能管理的成员(职位比你低,而且你有踢人 / 升职 / 降职权限或是会长)打开 管理成员。
| 清单外观 | 用在 |
|---|---|
online | 在这个子服上在线的成员 |
offline | 不在这个子服上的成员(可能在别的子服在线) |
清单项目的变量:{member} 名称、{member_rank} 职位、{member_contribution} 贡献、{member_total} 累积贡献、{member_week} 本周贡献、{member_donated} 捐献、{member_joined} 加入时间、{member_kills} {member_deaths} 击杀 / 死亡、{member_seen} 在线或最后上线、{manage} 能管理时显示 messages.yml 的 menu.click-manage。
| 功能键 | 作用 | 状态 |
|---|---|---|
invite | 打开邀请菜单 | 没有 invite 权限时隐藏 |
applications | 打开入会申请 | 没有 accept 权限时隐藏 |
back / previous / next | 返回 / 翻页 | — |
额外变量:{applications} 待审核的申请数。
member.yml 管理一位成员
| 功能键 | 作用 | 状态 |
|---|---|---|
info | 成员资讯(以玩家头颅显示),只显示 | — |
promote | 升职 | 没有 promote 权限、或已经升不上去时隐藏 |
demote | 降职 | 没有 demote 权限、或已经是最低职位时隐藏 |
kick | 踢出(二次确认) | 没有 kick 权限时隐藏 |
transfer | 转让会长(二次确认) | 不是会长时隐藏 |
back | 返回 | — |
变量:{member} {member_rank} {member_contribution} {member_total} {member_joined}、{promote_to} / {demote_to}(升 / 降后的职位名称)。
applications.yml 入会申请
清单外观 default(每一份申请)与 empty。左键同意、右键拒绝(需要 accept 权限)。
清单项目变量:{applicant} 申请人、{message} 留言(没有时显示 menu.no-message)、{time} 多久以前。按钮:back、previous、next。
invite.yml 邀请玩家
清单是这个子服上没有公会的在线玩家,外观 default 与 empty,点一下就邀请。清单项目变量:{target} 玩家名(head: '{target}' 显示他的头)。
按钮:back、previous、next。其他子服的玩家请用 /cg invite <玩家>。
bank.yml 公会银行
清单是最近的银行记录:
| 清单外观 | 用在 |
|---|---|
in | 收入(存入、任务奖励、公会战胜利……) |
out | 支出(提领、发公告、升级增益、宣战、被掠夺……) |
empty | 还没有记录 |
清单项目变量:{who} 谁、{amount} 金额(带 +)、{after} 之后的余额、{time} 时间、{action} 动作名称(messages.yml 的 bank-action)。
| 功能键 | 作用 | 状态 |
|---|---|---|
balance | 只显示(公会资金、我的钱、贡献) | — |
quick-1 / quick-2 / quick-3 | 存入 bank.quick-amounts 的第 1 / 2 / 3 个金额 | 没有设定那么多金额时隐藏 |
deposit | 在聊天栏输入金额存入 | — |
withdraw | 在聊天栏输入金额提领 | 没有 withdraw 权限时隐藏 |
back | 返回 | — |
额外变量:{quick_1} {quick_2} {quick_3} 快速金额、{min} 最少存款、{rate} 每 1 元得到的贡献、{balance} 自己身上的钱。
shop.yml 公会商店
清单是 plugins/CloudGuild/shop.yml 的商品,点一下购买。商品物品本身的外观会保留,名称与说明换成这里的。
| 清单外观 | 用在 |
|---|---|
default | 可以购买 |
locked | 公会等级不够 |
soldout | 本期已经买满 |
empty | 没有商品 |
清单项目变量:{item} 商品名称、{price} 价格、{required_level} 需要的公会等级、{limit} 已买 / 限购(不限时显示 menu.unlimited)、{period} 限购周期、{amount} 数量。
按钮:balance(只显示)、back、previous、next。
tasks.yml 公会任务
| 清单外观 | 用在 |
|---|---|
default | 进行中 |
done | 这一期已完成 |
locked | 公会等级不够 |
empty | 没有任务 |
清单项目变量:{task} 名称、{progress} / {goal} 进度与目标、{percent} 百分比、{bar} 20 格进度条、{period} 每日 / 每周、{reward_funds} {reward_activity} {reward_contribution} 奖励、{mine} 我这一期的出力、{required_level};多行 {task_lore}(任务的 lore)。
按钮:back。
notices.yml 公告栏
| 清单外观 | 用在 |
|---|---|
unread | 未读(左键标为已读) |
read | 已读 |
empty | 没有公告 |
有 notice 权限时右键删除(二次确认)。清单项目变量:{title} 标题、{author} 发布者、{time} 时间、{delete}(有权限时显示 menu.right-delete);多行 {content}。
| 功能键 | 作用 | 状态 |
|---|---|---|
post | 发布公告(依序输入标题、内容) | 没有 notice 权限时隐藏 |
read-all | 全部标为已读 | — |
back / previous / next | 返回 / 翻页 | — |
settings.yml 公会设定
| 功能键 | 作用 | 状态 |
|---|---|---|
rename | 改名(在聊天栏输入) | 没有 settings 权限时隐藏 |
tag | 标签(输入 - 清除) | 没有 settings 权限或 tag.enabled: false 时隐藏 |
description | 公会介绍 | 没有 settings 权限时隐藏 |
icon | 把主手物品设为公会图示(以公会图示显示) | 没有 settings 权限时隐藏 |
join-mode | 切换加入方式 | open / apply / closed;没有 settings 权限时隐藏 |
friendly-fire | 切换友伤 | on / off;没有 settings 权限时隐藏 |
sethome | 把现在的位置设为据点 main | 没有 home 权限时隐藏 |
upgrade | 升级公会 | max:已经最高级;没有 upgrade 权限时隐藏 |
disband | 解散公会(二次确认) | 不是会长时隐藏 |
back | 返回 | — |
额外变量:{rename_cost} 改名花费;多行 {description_lines}。