# **命令GUI 插件**
## **概述**
命令GUI 是一个 Minecraft Spigot 插件,它为玩家提供了一个自定义的 GUI,以允许他们作为与 GUI 交互的玩家来执行命令。GUI 是完全可配置的,允许您定义物品、命令和布局。玩家还可以收到一个知识书,当使用该书时,它会打开 GUI。
---
## **功能**
- **自定义 GUI**: 一个友好的玩家界面,可以通过点击来执行命令。
- **可配置的物品**: 通过配置文件,您可以定义物品、它们的外观以及它们执行的命令。
- **动态库存尺寸**: 根据物品数量自动调整 GUI 大小。
- **知识书集成**: 玩家可以使用自定义的知识书来打开 GUI。
- **命令重载**: 使用 `/commandgui reload` 轻松重载插件的配置。
---
## **命令**
### `/commandgui`
- **描述**: 为玩家打开命令 GUI。
- **别名**: `/cg`
### `/commandgui book`
- **描述**: 给玩家一个知识书,当使用该书时,它会打开命令 GUI。
- **别名**: `/cg book`
### `/commandgui give `
- **描述**: 给指定的玩家一个命令 GUI 知识书。
- **别名**: `/cg give `
### `/commandgui help`
- **描述**: 显示插件的所有命令。
- **别名**: `/cg help`
### `/commandgui reload`
- **描述**: 重载插件的配置。
- **别名**: `/cg reload`
---
## **权限**
| 权限 | 描述 | 默认 |
|---------------------|-------------------------------------|---------|
| `commandgui.use` | 允许玩家打开 GUI。 | OP |
| `commandgui.bypass` | 允许玩家绕过冷却时间。 | OP |
| `commandgui.book` | 给玩家书以打开 GUI。 | OP |
| `commandgui.give` | 给另一个玩家 GUI 书。 | OP |
| `commandgui.reload` | 允许重载插件的配置。 | OP |
---
## **安装**
1. 下载 CommandGUI 插件 `.jar` 文件。
2. 将 `.jar` 文件放在服务器的 `plugins` 目录中。
3. 启动服务器以生成默认配置文件的。
4. 编辑 `plugins/CommandGUI/config.yml` 来配置插件。
5. 使用 `/commandgui reload` 或重新启动服务器来重载插件。
---
## **配置**
`config.yml` 文件允许您自定义 GUI 中的物品。
```yaml
# 通用设置
language-file: "en_us.yml" # 默认语言文件。更改语言会破坏现有的 CommandGUI 书籍!
verbose-mode: false # 设置为 true 以全局启用所有物品的详细消息(默认回退)
gui-size-mode: "dynamic" # 选项: "dynamic", "fixed"
gui-items:
- slot: 0
name: "&a前往生成点"
command: "spawn"
item: "COMPASS"
run-as-player: true
cooldown: 0 # 无冷却
verbose: true # 始终记录此物品的交互
lore:
- "&7点击传送至生成点"
- slot: 1
name: "&c治疗"
command: "heal"
item: "GOLDEN_APPLE"
run-as-player: true
cooldown: 30 # 30 秒冷却
verbose: false # 从不记录此物品的交互
lore:
- "&7点击治疗自己"
- slot: 2
name: "&b钻石"
command: "give %player% diamond 1"
item: "DIAMOND"
run-as-player: false
cooldown: 60 # 60 秒冷却
# 没有 verbose 字段;回退到全局 verbose-mode
lore:
- "&b收到一枚钻石!"
- "&3这是服务器奖励。"
```
### 配置选项
#### 通用设置
- **`language-file`**: 要使用的语言文件 (默认: `en_us.yml`)。
- **`verbose-mode`**: 如果 `true`,则为全局显示物品交互的详细消息 (默认: `false`)。
- **`gui-size-mode`**: 确定 GUI 的大小。 选项:
- `"dynamic"`: 根据物品数量调整库存大小。
- `"fixed"`: 将 GUI 大小设置为固定双重箱大小 (54 个槽)。
#### GUI 物品
每个 GUI 物品都有以下选项:
- **`name`**: GUI 中物品的显示名称,支持颜色代码 (例如 `&aGo to Spawn`)。
- **`command`**: 点击物品时执行的命令 (例如 `spawn` 或 `give %player% diamond 1`)。
- **`item`**: 物品的材质 (例如 `DIAMOND`、`GOLDEN_APPLE`、`COMPASS`)。
- **`slot`**: 物品的库存槽 (可选,如果未提供则自动递增)。
- **`lore`**: 显示为物品lore的文本行列表 (可选,支持颜色代码)。
- **`run-as-player`**: 如果 `true`,则命令将以玩家身份运行。如果 `false`,则命令将以控制台身份运行 (默认: `false`)。
- **`cooldown`**: 再次使用物品前的冷却时间,以秒为单位 (默认: `0` 表示无冷却)。
- **`verbose`**: 如果 `true`,则覆盖全局 `verbose-mode` 并启用对此物品的详细日志记录 (可选)。
---
## **用法**
1. **打开 GUI**:
- 使用 `/commandgui` 命令打开 GUI。
- 还可以使用 `/commandgui book` 提供的知识书。
2. **添加物品**:
- 编辑 `config.yml` 文件来添加或修改 GUI 中的物品。
- 使用 `/commandgui reload` 重载配置。
---
## **贡献**
欢迎贡献!请分叉存储库,进行更改,然后提交拉取请求。
---
## **许可证**
此插件使用 [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) 获得许可。
---
### **感谢您使用CommandGUI**