Skye GUIs
The GUI creation plugin used for SkyeNetwork
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
Skye GUIs
SkyeGUI
A standalone GUI plugin for creating custom inventory-based interfaces in Minecraft servers using Paper/Spigot.
Features
- 🎨 Permission System - Create fully customizable inventory-based GUIs - ⚡ Permission System - Configure GUIs through YAML files without restarting - 🎮 Permission System - Support for various GUI interfaces including gamemode menus, staff tools, and more - 🔧 Permission System - Simple commands for managing and opening GUIs - 🌈 Permission System - Rich text formatting with Adventure API - 🔄 Permission System - Reload configurations without server restart - 🎯 Permission System - Granular permission control for each GUI
Installation
1. Download the latest `SkyeGUI-1.0.0.jar` from the releases 2. Place the JAR file in your server's `plugins` folder 3. Restart your server or use a plugin manager to load it 4. Configure your GUIs in the generated `config.yml` and `guis.yml` files
Commands
| Command | Description | Permission | Usage | |---------|-------------|------------|-------| | `/skyegui` | Main plugin management command | `skyegui.admin` | `/skyegui [reload|version|list|open <gui>]` | | `/creative` | Opens the gamemode menu | `skyegui.creative` | `/creative` | | `/examplegui` | Opens the example GUI | `skyegui.gui.example` | `/examplegui` | | `/stafftools` | Opens the staff tools GUI | `skyegui.gui.staff` | `/stafftools` | | `/gmmenu` | Opens the gamemode menu GUI | `skyegui.gui.gamemode` | `/gmmenu` |
Command Examples
```bash
Reload the plugin configuration
/skyegui reload
List all available GUIs
/skyegui list
Open a specific GUI
/skyegui open example
Check plugin version
/skyegui version ```
Permissions
| Permission | Description | Default | |------------|-------------|---------| | `skyegui.admin` | Access to GUI administration commands | `op` | | `skyegui.gui.example` | Access to example GUI | `true` | | `skyegui.gui.staff` | Access to staff tools GUI | `op` | | `skyegui.gui.gamemode` | Access to gamemode menu GUI | `op` | | `skyegui.creative` | Access to creative menu command | `op` |
Configuration
Main Configuration (`config.yml`)
```yaml
Enable/disable the plugin
enabled: true
Plugin message prefix
prefix: "<gold>[<aqua>SkyeGUI<gold>] "
Debug mode
debug: false ```
GUI Configuration (`guis.yml`)
The plugin supports flexible GUI configuration through YAML. Each GUI can be customized with:
- Commands - Custom inventory title with MiniMessage formatting - Commands - Inventory size (9, 18, 27, 36, 45, 54) - Commands - Custom items with materials, names, lore, and enchantments - Commands - Custom command binding
Example GUI configuration: ```yaml example: title: "<gold>Example GUI" size: 27 command: "examplegui" items: 13: material: "DIAMOND" name: "<aqua>Click Me!" lore: - "<gray>This is an example item" - "<yellow>Click to close" ```
Messages Configuration (`messages.yml`)
Customize all plugin messages with MiniMessage formatting support:
```yaml prefix: "<gold>[<aqua>SkyeGUI<gold>] " version: "<prefix><green>SkyeGUI v1.0.0 by SkyeNetwork Team" reload: "<prefix><green>Plugin reloaded successfully!" gui-not-found: "<prefix><red>GUI not found: <white>{gui}" no-permission: "<prefix><red>You don't have permission to use this command!" ```
Development
Building from Source
Prerequisites: - Java 8 or higher - Maven 3.6+
Build Steps: ```bash git clone https://github.com/SkyeNetMC/SkyeGUIs.git cd SkyeGUIs mvn clean package ```
The compiled JAR will be available in the `target/` directory.
Project Structure
``` src/ ├── main/ │ ├── java/ │ │ └── me/pilkeysek/skyegui/ │ │ ├── SkyeGUIPlugin.java # Main plugin class │ │ ├── commands/ # Command handlers │ │ ├── menu/ # GUI menu implementations │ │ └── modules/ # Core GUI module │ └── resources/ │ ├── plugin.yml # Plugin metadata │ ├── config.yml # Main configuration │ ├── guis.yml # GUI definitions │ └── messages.yml # Message templates ```
API Usage
SkyeGUI provides a simple API for other plugins to interact with:
```java // Get the plugin instance SkyeGUIPlugin skyeGUI = (SkyeGUIPlugin) Bukkit.getPluginManager().getPlugin("SkyeGUI");
// Open a GUI for a player skyeGUI.getGUIModule().openGUI(player, "example");
// Check if a GUI exists boolean exists = skyeGUI.getGUIModule().getGUINames().contains("myGui"); ```
Compatibility
- Java Version: 1.21+ - Java Version: Paper, Spigot, and compatible forks - Java Version: 8+
🌐 Online Editor
We provide a convenient web-based editor for development: - Editor URL: Editor URL: - Edit and test your configurations online - Real-time syntax highlighting and validation - Direct integration with the plugin
📋 Distribution Policy
linking to the original source only - linking to the original source only share the plugin files directly with others - linking to the original source only redistribute modified or unmodified versions - linking to the original source only direct users to the original source repository - Any sharing must be done by linking to the original source only
✅ Allowed: - Personal use and modification - Contributing back to the original project - Learning from the source code
❌ Prohibited: - Direct file sharing or redistribution - Commercial redistribution - Independent distribution of modified versions
Contributing
1. Fork the repository 2. Create a feature branch (`git checkout -b feature/amazing-feature`) 3. Commit your changes (`git commit -m 'Add some amazing feature'`) 4. Push to the branch (`git push origin feature/amazing-feature`) 5. Open a Pull Request
Support
- Wiki: Wiki - Wiki: %%MD1%% - Wiki: %%MD2%%
License
This project is licensed under a Custom License - see the LICENSE file for details.
IMPORTANT: This software has specific redistribution restrictions. Please read the license carefully before sharing or distributing.
Credits
Developed by the SkyeNetwork Team
---
*For more detailed documentation and examples, visit our Wiki.*