CommandGUI 是一款功能强大的插件,允许你为服务器创建任意数量和不同样式的图形用户界面(GUI)。
主要功能
- 通过 GUI 向玩家发送命令或消息。
- 可通过经济系统(需 Vault 及经济插件)对使用项目收费。
- 可为每个槽位单独设置所需的玩家权限。
- 可为每个槽位播放自定义音效。
- 可通过槽位直接打开另一个 GUI。
- 可为 GUI 中的物品设置描述(Lore)来展示信息,描述支持变量占位符。
- 可为玩家提供一种特殊物品,用于在背包中打开指定 GUI。
- 可为发送给玩家的所有消息添加悬停提示和/或点击功能。
悬停与点击消息
你可以为所有发送给玩家的消息添加悬停提示和/或点击功能。
格式与示例
- 使用
/*/来分隔消息的不同部分。 - 使用
[nl]在消息或悬停文本中设置换行。
消息格式:
- 带悬停的消息:
<消息>/*/<悬停文本> - 带悬停和点击的消息:
<消息>//<悬停文本>//<动作>/*/<动作值> - 仅带点击的消息:
<消息>////<动作>/*/<动作值>
可用的点击动作
OPEN_URL:打开ActionValue中指定的网址。OPEN_FILE:打开ActionValue中指定的文件。RUN_COMMAND:运行ActionValue中指定的命令。SUGGEST_COMMAND:将ActionValue中的字符串插入玩家的聊天框。CHANGE_PAGE:在书中切换到ActionValue指定的页码。COPY_TO_CLIPBOARD:将ActionValue中的字符串复制到玩家的剪贴板。
跨服支持 (BungeeCord/Waterfall/Velocity)
CommandGUI 也可以执行跨服(BungeeCord)命令。此插件必须同时安装在代理端(Proxy)和 Spigot 服务端上。
要求与依赖
必需:
- Java 21 或更高版本
- T2CodeLib(可选库)
推荐:
- 权限插件:LuckPerms
- Vault
- 经济插件:Economy、EssentialsX 或 CMI(付费,也支持其他插件)
命令列表
/commandgui- 打开默认 GUI(可配置)/commandgui [gui]- 打开指定的 GUI/gui-item on- 为你自己启用 GUI 物品/gui-item off- 为你自己禁用 GUI 物品/gui-item slot [slot]- 为你自己设置 GUI 物品的背包槽位/commandguihelp- 打开帮助文件/commandgui admin info- 查看 CommandGUI 信息/commandgui admin createdefaultgui- 创建默认 GUI/commandgui admin reload- 重载插件
权限节点
permissions:
commandgui.admin:
description: 拥有 CommandGUI 的所有权限
default: op
children:
commandgui.command: true
commandgui.get.guiitem.at.login: true
commandgui.useitem: true
commandgui.useitem.toggle: true
commandgui.bypass: true
commandgui.command.info: true
commandgui.command.give: true
commandgui.player:
description: 玩家的基础权限
default: op
children:
commandgui.command: true
commandgui.get.guiitem.at.login: true
commandgui.useitem: true
commandgui.useitem.toggle: true
commandgui.command:
description: 通过命令打开 GUI 所需的权限
default: op
commandgui.get.guiitem.at.login:
description: 拥有此权限的玩家会在登录时获得 GUI 物品
default: op
commandgui.useitem:
description: 使用 GUI 物品所需的权限
default: op
commandgui.useitem.toggle:
description: 允许为自己启用/禁用 GUI 物品的权限(需配置 UseItem/AllowToggle 为 true)
default: op
commandgui.bypass:
description: 绕过限制,打开被禁用的 GUI
default: op
commandgui.command.info:
description: 查看 CommandGUI 信息的权限
default: not op
commandgui.command.give:
description: 将在 V2.1.0 版本中启用
default: op变量占位符
%commandgui_useitem%- 以颜色显示你是否启用了 UseItem(颜色可在 config.yml 中自定义)。%commandgui_useitem_boolean%- 显示你是否启用了 UseItem(布尔值)。%commandgui_useitem_slot%- 显示你为 UseItem 设置的背包槽位。
支持与反馈
遇到问题或有新功能建议?请在我们的 Git 上提交工单,以便我们轻松跟踪处理:
git.T2Code.net
如果发现任何错误或漏洞,请在我们的 Discord 上报告,以便我们及时修复。
开发信息
由 JaTiTV 开发:
- T2CodeLib
- LuckyBox
- T2C-OPSecurity
- T2C-CommandGUI
- T2C-Alias
- T2C-AliasBungee
- T2C-AutomatedMessages
- T2C-AutoResponse
- T2C-AllayDuplicate
- PaPiTest
由 Jkobs 开发:
(注:展示视频来自 1.x 版本,界面和命令可能有所不同。如果你的服务器正在使用 CommandGUI 并希望在此列出,请通过 Discord、Issue 或私信联系我。)
CommandGUI 是一款功能强大的 Minecraft 插件,它允许服务器管理员通过高度可自定义的图形用户界面(GUI)来执行命令、管理权限、切换服务器等操作,极大地简化了玩家交互和服务器管理流程。
核心特性
- 高度可配置的 GUI:通过 YAML 文件轻松创建和设计各种功能菜单。
- 丰富的交互功能:支持执行命令、切换服务器、打开其他 GUI、发送消息、花费游戏货币、修改配置文件等。
- 物品触发:可为玩家提供一个物品,点击即可打开指定 GUI。
- 跨服支持:集成 BungeeCord,支持跨服务器传送和命令执行。
- 权限系统:为每个 GUI、命令和功能槽位提供精细的权限控制。
- 多语言支持:内置英语、德语、挪威语等多种语言文件。
- 声音反馈:为各种操作(打开、点击、成功、失败)配置音效。
快速开始
安装与依赖
- 将
CommandGUI.jar放入服务器的plugins文件夹。 - 确保已安装 Vault 插件以使用经济系统功能。
- 对于 BungeeCord 功能,需在代理端也安装本插件。
- 重启服务器。
基础命令与权限
/commandgui或/cgui- 打开默认 GUI。- 权限:
commandgui.command.default /commandgui <GUI文件名>- 打开指定的 GUI。- 权限:
commandgui.command.<GUI文件名> /commandguihelp- 查看帮助信息。/gui-item on|off|slot [1-9]- 管理个人 GUI 触发物品。/commandguiadmin reload- 重载插件配置。- 权限:
commandgui.admin.reload /commandguiadmin give <玩家>- 给予玩家 GUI 触发物品。- 权限:
commandgui.admin.give /commandguiadmin createdefaultgui- 生成默认的 GUI 示例文件。- 权限:
commandgui.admin.createdefaultgui
配置详解
插件的主要配置位于 plugins/CommandGUI/config.yml。关键配置项包括:
插件设置
UpdateCheckOnJoin: 玩家加入时检查更新。language: 设置插件语言 (english,german,norwegian)。DefaultGUI: 设置默认打开的 GUI 文件名(不含.yml)。
存储设置
Storage.Type: 数据存储类型,可选YML或MySQL。- 如果选择
MySQL,需配置下方相应的数据库连接信息。
BungeeCord 设置
BungeeCord.Enable: 启用跨服功能。ThisServer: 设置当前服务器在 Bungee 网络中的名称。
触发物品设置
UseItem.Enable: 是否启用通过物品打开 GUI 的功能。OpenGUI: 设置物品默认打开的 GUI。InventorySlot.Slot: 设置物品默认存放在玩家快捷栏的槽位(1-9)。
游戏模式与世界保护
- 可设置在特定游戏模式(如 CREATIVE)或特定世界(如 World1)中禁用触发物品。
创建自定义 GUI
在 plugins/CommandGUI/GUIs/ 目录下创建新的 .yml 文件即可定义一个新的 GUI。
GUI 文件结构示例
# GUI 基础设置
GUI:
Enable: true
Lines: 6 # GUI 行数,1-6
Name: '&5我的菜单' # 界面标题
FillItem: # 背景填充物品
Enable: true
Item: BLACK_STAINED_GLASS_PANE
Command:
Alias: true # 是否允许使用 /commandgui <本文件名> 打开
Permission:
Required: true # 打开是否需要权限 commandgui.command.<本文件名>
# 功能槽位定义
Slots:
# 槽位名称(可自定义,但必须唯一)
商店按钮:
Slot: 22 # 该物品在 GUI 中的位置(0-53)
Enable: true
Function: OpenGUI # 功能类型
Item: # 物品显示设置
Material: EMERALD
Name: '&a商店'
Lore:
- '&7点击打开商店'
OpenGUI: # 对应功能的详细设置
Enable: true
GUI: 'shop' # 指向另一个 GUI 文件(shop.yml)
Permission: # 该槽位的权限
Required: false
See: commandgui.gui.我的菜单.slot.22.see # 查看物品的权限
Use: commandgui.gui.我的菜单.slot.22.use # 使用功能的权限可用的功能类型
- Command: 执行命令(支持控制台执行和 Bungee 命令)。
- OpenGUI: 打开另一个 GUI。
- ServerChange: 将玩家传送到 Bungee 网络中的其他服务器。
- Message: 向玩家发送消息。
- Cost: 让玩家花费金钱后执行功能。
- Toggle: 切换权限或物品状态(如开关 GUI 触发物品)。
- SetConfig: 动态修改插件配置文件(如 YAML 文件中的值)。
API 与开发者
如需在插件中集成 CommandGUI,可通过 Maven 添加依赖。
Maven 依赖
<repositories>
<repository>
<id>T2Code</id>
<url>https://repo.t2code.net/repository/T2Code/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>net.t2code</groupId>
<artifactId>CommandGUI_V2</artifactId>
<version>VERSION</version> <!-- 替换为最新版本 -->
</dependency>
</dependencies>常见问题
如何让 GUI 物品在玩家加入时自动给予?
在 `config.yml` 中配置
Join.GiveOnEveryJoin: true- 每次加入都给。Join.GiveOnlyOnFirstJoin: false- 仅首次加入给。
如何修改触发物品的材质和名称?
在 config.yml 的 Item 部分修改:
Material: paperName: '&bDefault &6GUI'
如何为某个 GUI 槽位设置经济系统价格?
在 GUI 配置文件的对应槽位下添加
Cost:
Enable: true
Price: 100.0同时确保已安装 Vault 和经济插件。
如何实现一个“权限开关”按钮?
使用 Toggle 功能。在 GUI 槽位配置中设置:
Function: Toggle
Toggle:
Permission:
Enable: true
Permission: 'myplugin.use.special'玩家点击即可切换自己是否拥有 myplugin.use.special 权限。
支持 PlaceholderAPI 吗?
是的,插件支持在物品名称、描述和消息中使用 PlaceholderAPI 占位符。