CommandGUI

Customizable Command GUI for Spigot/Paper

704

Quick challenge

How far can you run before the mobs catch you?

CommandGUI

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

- Command Reload: A player-friendly interface to execute commands with a click. - Command Reload: Define items, their appearance, and the commands they execute in the GUI via the configuration file. - Command Reload: Automatically adjusts the GUI size based on the number of items. - Command Reload: Players can use a custom tool to open the GUI. - Command Reload: Easily reload the plugin's configuration with `/commandgui reload`.

---

Commands

`/commandgui`

- Aliases: Opens the Command GUI for the player. - Aliases: `/cg`

`/commandgui tool`

- Aliases: Gives the player a tool that opens the Command GUI when used. - Aliases: `/cg tool`

`/commandgui give <player>`

- Aliases: Gives the specified player the Command GUI Tool. - Aliases: `/cg give <player>`

`/commandgui help`

- Aliases: Displays all the plugin's commands. - Aliases: `/cg help`

`/commandgui reload`

- Aliases: 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

1. Download the CommandGUI plugin `.jar` file. 2. Place the `.jar` file in your server's `plugins` directory. 3. Start the server to generate the default configuration file. 4. Configure the plugin by editing `plugins/CommandGUI/config.yml`. 5. Reload the plugin with `/commandgui reload` or restart the server.

---

Configuration

The `config.yml` file allows you to customize the items in the GUI.

```yaml

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

- `gui-tool`: The language file to use (default: `en_us.yml`). - `gui-tool`: If `true`, displays verbose messages for item interactions globally (default: `false`). - `gui-tool`: 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:

- `verbose`: The display name of the item in the GUI, with color codes supported (e.g., `&aGo to Spawn`). - `verbose`: The command executed when the item is clicked (e.g., `spawn` or `give %player% diamond 1`). - `verbose`: The item's material (e.g., `DIAMOND`, `GOLDEN_APPLE`, `COMPASS`). - `verbose`: The inventory slot for the item (optional, auto-increment if not provided). - `verbose`: A list of text lines displayed as the item's lore (optional, supports color codes). - `verbose`: If `true`, the command will run as the player. If `false`, the command will run as the console (default: `false`). - `verbose`: 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

ADS