
CommandGUI Plugin
Overview
CommandGUI is a Minecraft Spigot plugin that provides players with a custom GUI to execute commands as the player interacting with the GUI. The GUI is fully configurable, allowing you to define items, commands, and layout. Players can also receive a custom item that opens the GUI when used.
Features
- Custom GUI: A player-friendly interface to execute commands with a click.
- Configurable Items: Define items, their appearance, and the commands they execute in the GUI via the configuration file.
- Dynamic Inventory Sizing: Automatically adjusts the GUI size based on the number of items.
- Customisable Tool: Players can use a custom tool to open the GUI.
- Command Reload: Easily reload the plugin's configuration with
/commandgui reload.
Commands
/commandgui
- Description: Opens the Command GUI for the player.
- Aliases:
/cg
/commandgui tool
- Description: Gives the player a tool that opens the Command GUI when used.
- Aliases:
/cg tool
/commandgui give <player>
- Description: Gives the specified player the Command GUI Tool.
- Aliases:
/cg give <player>
/commandgui help
- Description: Displays all the plugin's commands.
- Aliases:
/cg help
/commandgui reload
- Description: Reloads the plugin's configuration.
- Aliases:
/cg reload
Permissions
| Permission | Description | Default |
|---|---|---|
commandgui.use | Allows player to open the GUI. | OP |
commandgui.bypass | Allows player to bypass cooldowns. | OP |
commandgui.tool | Gives player a tool to open the GUI. | OP |
commandgui.give | Gives another player the GUI Tool. | OP |
commandgui.reload | Allows reloading the plugin config. | OP |
Installation
- Download the CommandGUI plugin
.jarfile. - Place the
.jarfile in your server'spluginsdirectory. - Start the server to generate the default configuration file.
- Configure the plugin by editing
plugins/CommandGUI/config.yml. - Reload the plugin with
/commandgui reloador restart the server.
Configuration
The config.yml file allows you to customize the items in the GUI.
# General settings
language-file: "en_us.yml" # Default language file. Changing languages will break existing CommandGUI tools!
verbose-mode: false # Set to true to enable verbose messages globally for all items (default fallback)
gui-size-mode: "dynamic" # Options: "dynamic", "fixed"
gui-tool: "COMPASS" # This is the item used to open the GUI given by "/cg tool"
gui-items:
-
slot: 0 name: "&aGo to Spawn" command: "spawn" item: "COMPASS" run-as-player: true cooldown: 0 # No cooldown verbose: true # Always log interaction for this item lore:
- "&7Click to teleport to spawn"
-
slot: 1 name: "&cHeal" command: "heal" item: "GOLDEN_APPLE" run-as-player: true cooldown: 30 # 30 seconds cooldown verbose: false # Never log interaction for this item lore:
- "&7Click to heal yourself"
-
slot: 2 name: "&bDiamonds" command: "give %player% diamond 1" item: "DIAMOND" run-as-player: false cooldown: 60 # 60 seconds cooldown
No verbose field; falls back to global verbose-mode
lore:
- "&bReceive a diamond!"
- "&3This is a server reward."
### Configuration Options
#### General Settings
- **`language-file`**: The language file to use (default: `en_us.yml`).
- **`verbose-mode`**: If `true`, displays verbose messages for item interactions globally (default: `false`).
- **`gui-size-mode`**: Determines the size of the GUI. Options:
- `"dynamic"`: Adjusts the inventory size based on the number of items.
- `"fixed"`: Sets the GUI size to a fixed double chest (54 slots).
- **`gui-tool`**: Sets the tool used to open the GUI.
#### GUI Items
Each item in the GUI has the following options:
- **`name`**: The display name of the item in the GUI, with color codes supported (e.g., `&aGo to Spawn`).
- **`command`**: The command executed when the item is clicked (e.g., `spawn` or `give %player% diamond 1`).
- **`item`**: The item's material (e.g., `DIAMOND`, `GOLDEN_APPLE`, `COMPASS`).
- **`slot`**: The inventory slot for the item (optional, auto-increment if not provided).
- **`lore`**: A list of text lines displayed as the item's lore (optional, supports color codes).
- **`run-as-player`**: If `true`, the command will run as the player. If `false`, the command will run as the console (default: `false`).
- **`cooldown`**: The cooldown in seconds before the item can be used again (default: `0` for no cooldown).
- **`verbose`**: If `true`, overrides the global `verbose-mode` and enables verbose logging for this item (optional).
---
## **Usage**
1. **Opening the GUI**:
- Use the `/commandgui` command to open the GUI.
- Alternatively, use the tool provided with `/commandgui tool`.
2. **Adding Items**:
- Edit the `config.yml` file to add or modify items in the GUI.
- Reload the configuration with `/commandgui reload`.
---
## **Contributing**
Contributions are welcome! Please fork the repository, make your changes, and submit a pull request.
---
## **License**
This plugin is licensed under the Apache License 2.0.
---
### **Thanks for using CommandGUI**
Сервер для плагина CommandGUI - как у профи
Плагин CommandGUI создан для серверов: на своём сервере вы настраиваете его под себя и решаете, кому играть. Создать сервер с плагином CommandGUI для друзей можно за пару минут - BungeeHost всё уже подготовил.
