Compatibility
Minecraft: Java Edition
Platforms
Links
Tags
Creators
Details
BiggerEnderChest
A sqidgeon Plugin
Replace vanilla ender chests with a bigger custom GUI. Per-player sizing, full metadata, SQL or JSON storage.
⚠ Data loss warning: This plugin replaces the vanilla ender chest inventory system. When you first install it, any items currently in your vanilla ender chests will not carry over automatically — players must manually empty their ender chests before installation to avoid losing items.
Platforms
Requirements
- Java 8+
- Minecraft 1.13+
- LuckPerms (optional — falls back to Bukkit permissions)
Features
- Replaces vanilla ender chests — right-click opens a bigger GUI, no commands needed
- Per-player sizing — grant exactly the right number of rows via permissions
- Full metadata preservation — enchantments, lore, custom names, trims, everything survives
- Three storage backends — JSON files, SQLite, or MySQL — pick what fits your server
- Human-readable JSON — open
userdata/files to see items in plainminecraft:*format - SQLite & MySQL — built-in SQLite driver or connect to an external MySQL server
- Click-through-safe GUI — only listens for close events, no click/drag interference
- LuckPerms integration — full permission node support with per-group and per-player sizing
- One JAR, any 1.13+ server — no version-specific builds needed
- Lightweight — zero scheduler tasks, zero external API calls at runtime
How it works
BiggerEnderChest intercepts vanilla ender chest interactions and opens a larger custom GUI instead. Player contents are persisted across restarts in either human-readable JSON files, SQLite, or MySQL.
When a player right-clicks an ender chest, the plugin cancels the default behaviour and opens an inventory sized to the player's highest permission level (1-6 rows). The 54-slot maximum matches a double chest for maximum space.
On close, every item is serialised with full metadata (enchantments, lore, custom names, trim, etc.) using Mojang's built-in ItemStack.serialize() format and stored via the configured backend.
| Storage | Setup | Best for |
|---|---|---|
| JSON | Zero — drops files in userdata/ |
Single-server, easy file editing |
| SQLite | Zero — creates data.db |
Single-server, no file clutter |
| MySQL | Connection config required | Multi-server (bungee) networks |
Database
BiggerEnderChest stores player ender chest contents in a real database.
SQLite (default — zero setup):
storage:
method: sqlite
Creates plugins/BiggerEnderChest/data.db automatically on first start.
MySQL / MariaDB (external server):
storage:
method: mysql
mysql:
host: your.db.host
port: 3306
database: minecraft
username: db_user
password: "yourpassword"
table: ender_chest_data
LuckPerms Permissions
BiggerEnderChest integrates with LuckPerms out of the box. If LuckPerms isn't installed it falls back to Bukkit permissions automatically.
| Permission | Default | Description |
|---|---|---|
biggerenderchest.use |
true |
Open the bigger ender chest |
biggerenderchest.size.1 |
false |
1 row (9 slots) |
biggerenderchest.size.2 |
false |
2 rows (18 slots) |
biggerenderchest.size.3 |
false |
3 rows (27 slots) |
biggerenderchest.size.4 |
false |
4 rows (36 slots) |
biggerenderchest.size.5 |
false |
5 rows (45 slots) |
biggerenderchest.size.6 |
true |
6 rows (54 slots) |
biggerenderchest.* |
OP | All permissions |
Set a player's chest size via LuckPerms:
/lp user kevin permission set biggerenderchest.size.3 true
Assign a size to a group:
/lp group default permission set biggerenderchest.size.4 true
Remove a higher size so a lower one takes effect:
/lp user kevin permission unset biggerenderchest.size.6
Commands
All of the commands
| Subcommand | Description |
|---|---|
/enderchest |
Opens enderchest GUI |
/echest |
Opens enderchest GUI |
/ec |
Opens enderchest GUIs |
## Configuration
### `config.yml`
```yaml
# Number of rows for the bigger ender chest (1-6, each row = 9 slots)
# This is the default size for players without a specific permission.
rows: 6
# Title shown on the GUI
gui-title: "&8Bigger Ender Chest"
# Command settings
command:
# Set to false to disable /enderchest, /echest, and /ec commands entirely
enabled: true
# Storage settings
storage:
# Available methods: json, sqlite, mysql
method: json
# JSON file storage settings
json:
# Directory for JSON files (relative to plugin folder)
folder: userdata
# SQLite settings (used when method: sqlite)
sqlite:
# Database file path (relative to plugin folder)
file: data.db
# MySQL settings (used when method: mysql)
mysql:
host: localhost
port: 3306
database: minecraft
username: root
password: ""
# Table name for storing ender chest data
table: ender_chest_data
# Connection pool settings
pool-size: 5
connection-timeout: 5000
File Structure
After first startup your plugin folder will look like this:
plugins/BiggerEnderChest/
├── config.yml
└── userdata/
└── (Minecraft User ID).json
Support
Licence
This project is maintained by sqidgeon. You are NOT allowed to re-distribute this plugin without consent from us! ---~~~~


