Skip to content

Features ✨

Here is an overview of everything EnhancedEchest brings to your Minecraft server. Jump straight to what you're after:

📦 Larger Ender Chests

EnhancedEchest replaces the vanilla 27-slot ender chest with a configurable GUI of up to 54 slots.

An enhanced ender chest with 54 slots
🖱️

Same Block, More Space

Players open their ender chest exactly the way they always have, by right-clicking an ender chest block, and get the larger inventory instead of the vanilla screen.

  • Opens on right-click or via /ec
  • The real ender chest block keeps its open/close lid animation
  • Size is configurable in multiples of 9, from 9 up to 54
🎚️

Configurable Size

The default size for a player's first chest is set with enderchest.default-size in config.yml. Admins can also resize any individual chest with /ee resize.

  • Valid sizes: 9, 18, 27, 36, 45, 54
  • Invalid values are rounded to the nearest valid size
  • Defaults to 54 (a full double chest)

🗂️ Multi-Chest System

Players are no longer limited to one ender chest. Each player can own several, managed through an in-game menu.

The chest list menu showing several owned ender chests
With two or more chests, opening your ender chest brings up this menu of every chest you own, each with its slot count.
📋

Chest List Menu

Run /eclist to open a dialog listing every chest the player owns, each showing its slot count. An Edit mode checkbox switches what clicking a chest does: with it off (the default) a chest opens straight away; tick it and clicking a chest opens its management menu instead, where players can rename it, give it a custom icon, or pick which chest is their main. The checkbox toggles in place, so flipping it never reopens the dialog.

Main Chest

With several chests, a player can pick one as their main, the one opened directly by /ec and by right-clicking an ender chest block. Until a main is chosen, those open the management menu instead. A new chest is never made main automatically; players set it from the menu (and can always reach the menu with /eclist).
🎨

Customize Each Chest

Players personalize their chests straight from the in-game menu — no commands needed. Open a chest's management screen to:
  • Rename it — a named chest shows that name as its inventory title (unnamed chests fall back to Ender Chest or Ender Chest {index})
  • Choose an icon — pick any item to represent the chest in the list, with a searchable item picker, or reset to the default ender-chest icon
🛠️

Admin Management

Admins can add, resize, and delete chests for any player with /ee add, /ee resize, and /ee delete. Deleting the main chest leaves the player with no main until they pick a new one from the menu.
🎫

Permission-Granted Chests

Hand out chests by rank instead of by command. The permission enhancedechest.additional_amount.<count>.slot.<size> grants that many chests at that size, e.g. ...2.slot.54 gives two 54-slot chests. Matching nodes stack, grants sync on open, and removing a node removes those chests (spilling any items to a recoverable temporary chest). The player's base chest is always protected. See the Permissions page.
👁️

View Other Players' Chests

With /ee view <player> an admin can open any player's chest, online or offline. One chest opens directly; with several, a picker menu lets you choose (or use /ee view <player> list to always show it, or <index> for a specific chest). Grant admin.view for a read-only look, or add admin.edit to take and add items. The admin joins the same live inventory the owner sees, so contents can never be duplicated (on Paper both can even edit at once).
A chest's management menu with rename, icon, and set-as-main options
A chest's management screen: rename it, choose an icon, or set it as your main.
The rename prompt for an ender chest
Renaming a chest; the name you enter becomes its inventory title.
The searchable item picker for choosing a chest icon
Pick any item as the chest's icon with the searchable item picker.

💾 Database Storage

Every chest's contents are serialized and stored in a database, not in flat player files.

🗃️

Multiple Backends

  • SQLite: built in, zero setup, perfect for single servers
  • MySQL / MariaDB: shared storage for networks
  • PostgreSQL: for setups already running Postgres
🚀

Async & Pooled

All database work runs off the main thread on a dedicated executor, with a HikariCP connection pool. Saving never blocks the server tick.

See the Database page for connection setup.


🛡️ No Item Duplication

EnhancedEchest is built so that ender chest contents can never be duplicated through reload exploits.

  • Contents are loaded fresh from the database every time a chest is opened
  • Contents are saved immediately when the chest is closed or the player quits
  • A pending-save chain ensures the next open always waits for any in-flight save to finish before loading, so a player can never reopen and read stale data
  • When two people view the same chest at once (e.g. an admin via /ee view and the owner), they share one live inventory, so even simultaneous editing can't dupe items (concurrent editing on Paper; one viewer at a time on Folia)

🔄 Migration

Already have players with vanilla ender chest data? EnhancedEchest can import it.

  • When migration.enabled is true, an un-migrated player's vanilla ender chest is imported automatically on join
  • Admins can trigger migration manually for one player or everyone online with /ee migrate run
  • Each player is migrated only once and flagged as done afterward

See the Migration page for details.


🌿 Cross-Platform Support

EnhancedEchest uses a region-aware scheduler (FoliaLib) under the hood, so the same jar runs on:

PlatformSupported
Paper
Folia
Purpur / Paper forks

Built and tested against Minecraft 26.1.x on Java 25; other Minecraft versions are not supported.

All third-party libraries (database drivers, connection pool, scheduler) are shaded and relocated into the jar, so no extra downloads or server-side drivers are required.


🪨 Bedrock Support (Geyser)

EnhancedEchest's menus are built on Paper's modern Dialog API, and Geyser automatically converts Java dialogs into native Bedrock forms. That means Bedrock players who join your server through a Geyser proxy get the /eclist chest menu rendered as a proper Bedrock form, buttons, inputs, and all, with no extra configuration on your side.

  • The chest list, rename prompt, and "Set as main" actions all surface as Bedrock UI
  • Nothing to install on the EnhancedEchest side: the conversion happens in Geyser
  • The chest inventory itself is a normal container, so it works on Bedrock as usual

Geyser is doing the work

This support comes from Geyser's built-in Java-to-Bedrock form conversion, not from a Bedrock-specific code path in the plugin. Keep your Geyser build reasonably up to date for the smoothest dialog conversion.


🔔 Update Notifications

EnhancedEchest checks for new releases on startup and quietly notifies admins in-game when an update is available, with a clickable download link.


🌐 Localization

All player-facing text lives in editable language files. Ship a translation by copying the en_US folder, translating it, and pointing language at your new locale. Messages support full MiniMessage formatting. See the Language page.


📊 Usage Statistics

EnhancedEchest reports anonymous usage data to bStats, so you can see how many servers run the plugin alongside breakdowns such as storage backend and language. The collection is anonymous and can be turned off globally in plugins/bStats/config.yml.

EnhancedEchest bStats charts