EssentialsX GUI
EGUI is a powerful, highly customizable GUI for EssentialsX Homes and Warps.
EssentialsX GUI
👑 EGUI (EssentialsGui) v2.1
all Paper versions is a powerful, highly customizable GUI for all Paper versions Homes and Warps. One JAR works on all Paper versions — from Minecraft 1.21.1 through the latest 26.x releases.
> Note: EGUI will still start without EssentialsX installed, but home and warp features will be unavailable. OPs are notified in chat.
---
⚠️ Version Compatibility Notice
| Minecraft Version | Java Version | EGUI Support | | :--- | :--- | :--- | | Java 25 | Java 25 | ✅ AnvilGUI text input | | Java 25 | Java 25 | ✅ Paper Dialog API text input | | Java 25 | Java 25 | ✅ Paper Dialog API text input |
> One JAR for all servers. EGUI automatically detects your Paper version and loads the correct input module. No more choosing between "legacy" and "modern" downloads.
---
🚧 Development & Support
EGUI is currently in active development! Many more features, flexible layouts, and extended customization options are planned for future updates.
If you need support, want to report an issue, or have a great idea for a new feature you'd like to see added, please join our Discord Server! We would love to hear your feedback and suggestions.
---
🛑 Prerequisites (Mandatory)
EGUI is a companion plugin for Java 21+. * Java 21+: Java 21+ — Required for full functionality (homes & warps). EGUI starts without it but warns admins. * Java 21+: PaperMC is required. Spigot/CraftBukkit are NOT supported. * Java 21+: Compiles to Java 21 bytecode — runs on both Java 21 and Java 25 JVMs.
---
🚀 Features
* 🛡️ bStats Metrics: Seamlessly reads and manages homes and warps directly from EssentialsX data. * 🛏️ bStats Metrics: Automatically displays the correct number of set and empty home slots based on the player's max home permissions. * 📐 bStats Metrics: Choose between a full `THREE_ROWS` (with borders) or a compact `ONE_ROW` style. * 🎨 bStats Metrics: Every item, message, and layout is fully configurable in `config.yml`. * 🏠 bStats Metrics: Players can personalize their homes by setting custom material icons. * ⌨️ bStats Metrics: Automatically uses bStats Metrics on modern servers (1.21.7+) and bStats Metrics on older servers (1.21.1–1.21.6). Zero configuration needed. * 🛡️ bStats Metrics: Search and manage offline players' homes with the `/adminhomes` command. * 🎛️ bStats Metrics: Toggle the core `/homes` or `/warps` commands, the set home GUI, deletion confirmations, and the no-homes prompt easily in exactly one config! * 📡 bStats Metrics: Assign unique items, names, and lore to specific warps in `warps.yml`. * 🗑️ bStats Metrics: Integrated confirmation GUI for home deletions to prevent accidents (toggleable!). * 🏠 bStats Metrics: When a player with no homes runs `/homes`, a GUI asks if they want to create one at their current location instead of just sending a chat message. * 🔄 bStats Metrics: Update your configurations on the fly with `/egui reload`. * 📡 bStats Metrics: Check Essentials connectivity and version status via `/egui status`. * 🔔 bStats Metrics: Automatically notifies admins of new releases. * 📉 bStats Metrics: ~250 KB including both shaded providers. * 📊 bStats Metrics: Anonymous server usage tracking via bStats, including custom charts for active module, GUI style, player count, and server version.
---
📋 Commands & Permissions
Commands & Permissions
| Command | Description | Permission | Default | | :--- | :--- | :--- | :--- | | `/homes` | Opens the Homes GUI | `egui.homes` | Everyone | | `/sethomeicon <home> <material>` | Sets a custom item icon for your home | `egui.sethomeicon` | Everyone | | `/adminhomes` | Opens the Admin Panel to manage player homes | `egui.admin` | OP | | `/warps` | Opens the Warps GUI | `egui.warps` | Everyone | | `/egui reload` | Reloads all configurations | `egui.reload` | OP | | `/egui status` | Displays plugin status and version info | `egui.status` | OP |
---
⚙️ Configuration (`config.yml`)
config.yml
```yaml
==============================================================================
EGUI Configuration
==============================================================================
------------------------------------------------------------------------------
Module Selection (Advanced)
------------------------------------------------------------------------------
EGUI automatically detects your server version and loads the correct module:
- Paper 1.21.1 to 1.21.6 → loads AnvilGUI (legacy)
- Paper 1.21.7+ and 26.x → loads Paper Dialog API (dialog)
#
You can override this behavior:
auto = Let EGUI decide (recommended)
legacy = Force AnvilGUI on all versions
dialog = Force Dialog API on all versions (will crash on old servers!)
module-selection: auto
Print detailed module loading info to console on startup
module-log-verbose: true
Path to the Essentials userdata and warps folders.
essentials-userdata-folder: "plugins/Essentials/userdata" warps-folder: "plugins/Essentials/warps"
==============================================================================
GUI Appearance
==============================================================================
Options:
THREE_ROWS: A 9x3 GUI with top/bottom glass borders (as in screenshot).
ONE_ROW: A compact 9x1 GUI containing only the functional row.
gui-style: ONE_ROW
Background filler item used for all GUIs
background-item: material: BLACK_STAINED_GLASS_PANE name: ""
Navigation buttons
item-for-previous-page: material: ARROW name: "&ePrevious Page" lore: - "&aLeft-Click to go to the Previous Page"
item-for-next-page: material: ARROW name: "&eNext Page" lore: - "&aLeft-Click to go to the next page"
==============================================================================
Homes GUI Settings
==============================================================================
gui-titles: homes: "&8Your homes" warps: "&8Server Warps" sethome: "&fEnter Home Name" admin-search-online-player: "&fSearch Online Player" admin-search-offline-player: "&fSearch Offline Player"
Item representing a set home
item-for-home: material: RED_BED name: "&e%home%" lore: - "&7World: &f%world%" - "&7X: &f%x% &7Y: &f%y% &7Z: &f%z%" - "" - "&aLeft-Click to Teleport" - "&cRight-Click to Delete"
Item representing an available but unset home slot
item-for-empty-home: material: GRAY_BED name: "&8Empty Home Slot" lore: - "&7Click here to securely" - "&7type and set a new home!"
==============================================================================
Warps GUI Settings
==============================================================================
Default template for warps (if not customized in warps.yml)
default-item-for-warp: material: ENDER_PEARL name: "&e%warp%" lore: - "&7Click to teleport to %warp%."
==============================================================================
Confirm Deletion GUI
==============================================================================
confirm-gui:
Filling empty slots in the 9-slot confirmation menu
fill-background: true background-material: BLACK_STAINED_GLASS_PANE background-name: " "
The "Yes" button
confirm-item: material: LIME_WOOL name: "&aConfirm Deletion" lore: - "&7Click to permanently delete"
The "No" button
cancel-item: material: RED_WOOL name: "&cCancel" lore: - "&7Go back to your homes list."
==============================================================================
Features
==============================================================================
features: allow-custom-home-icons: true enable-homes-command: true enable-warps-command: true enable-set-home-gui: true delete-home-confirmation: true admin-search-exact-match: false ask-create-home-if-empty: true
==============================================================================
No Homes GUI
==============================================================================
Shown when a player uses /homes but has no homes set
(only if features.ask-create-home-if-empty is true)
no-homes-gui: title: "&8No Homes Set" fill-background: true background-material: BLACK_STAINED_GLASS_PANE background-name: " "
The "Create Home" button
create-item: material: LIME_WOOL name: "&aCreate Home" lore: - "&7Click to create a home" - "&7at your current location."
The "Close" button
close-item: material: RED_WOOL name: "&cClose" lore: - "&7Close this menu."
==============================================================================
Messages
==============================================================================
messages: no-homes: "&cYou do not have any homes set." no-warps: "&cThere are no warps set." deleted: "&cDeleted home &e%home%&c." confirm-delete-title: "&4Delete %home%?" no-permission: "&cYou do not have permission to use this command." only-players: "&cOnly players can use this command." reload-success: "&aEGUI configuration reloaded!" usage: "&eUsage: /egui reload" invalid-home: "&cThat home does not exist." invalid-material: "&cInvalid item name." icon-set-success: "&aSuccessfully set the icon for &e%home%&a to &e%material%&a." icons-disabled: "&cCustom home icons are disabled." feature-disabled: "&cThis feature is currently disabled." sethome-success: "&aYour new home &e%home%&a was added!" sethome-invalid-name: "Enter a valid name" sethome-no-spaces: "No spaces allowed" player-not-found: "&cPlayer not found." admin-teleport-home: "&aTeleported to &e%player%&a's home: &e%home%&a." admin-delete-home: "&cDeleted &e%player%&c's home: &e%home%&c." admin-confirm-delete-title: "&4Delete &e%player%'s &4%home%?" admin-player-head-lore: "&7Click to view homes"
==============================================================================
Admin Panel Items
==============================================================================
admin-panel-items: background-item: material: BLACK_STAINED_GLASS_PANE name: " " lore: [] search-online-button: material: NAME_TAG name: "&aSearch Online Player" lore: - "&7Click here to filter" - "&7all online players." search-offline-button: material: COMPASS name: "&cSearch Offline Player" lore: - "&7Click here to find" - "&7a specific offline player." back-button: material: BARRIER name: "&cBack to Admin Panel" lore: [] ```
---
⚙️ Configuration Example: Customizing a Warp
To give the warp "spawn" a unique icon, add this to `warps.yml`:
```yaml warps: spawn: material: NETHER_STAR name: "&b&lSpawn" lore: - "&7Return to the main spawn." ```
---
🛠️ Installation
1. Optional the `EGUI-2.1.jar` file. 2. Optional you have Optional already installed and running on your server. 3. Optional the `EGUI-2.1.jar` into your server's `plugins` folder. 4. Optional your server (or use a plugin loader) to generate the configuration files. 5. Optional the `plugins/EGUI/config.yml` to match your server's aesthetic. 6. Optional: Add custom warp icons in `plugins/EGUI/warps.yml`. 7. Type `/egui reload` in-game to apply any changes!
---
🧩 How the Module System Works
EGUI 2.1 ships with two embedded modules inside a single JAR:
| Module | Paper Versions | Input Method | |--------|---------------|-------------| | Dialog | 1.21.1 – 1.21.6 | AnvilGUI by Dialog | | Dialog | 1.21.7+ and 26.x | Paper's native Dialog API |
On startup, EGUI detects your server's Minecraft version and instantiates the correct provider. Both implementations are shaded directly into the plugin JAR and compile to Java 21 bytecode, so the same JAR runs on both Java 21 and Java 25.
You can override the auto-detection in `config.yml`: ```yaml module-selection: auto # auto, legacy, or dialog ```
---
📊 bStats Metrics
EGUI uses Custom charts: to anonymously track server information: - Custom charts: player count, Minecraft version, Java version, server software, operating system - Custom charts: active input module, GUI style, player count range, and server version
> Privacy Note: bStats aggregates all data anonymously. No server IP addresses, domain names, or player identities are ever transmitted.
---
📜 Credits
- EssentialsX — Text input library for legacy Paper versions by EssentialsX - EssentialsX — Plugin metrics platform - EssentialsX — The essential plugin suite for Minecraft servers