qEnderChest
Allows players to expand their Ender Chest by unlocking extra rows with PlayerPoints, using a custom GUI with persistent progress.
qEnderChest
qEnderChest
Features
- Custom ender chest GUI with 3 rows available by default (up to 6 total) - Players can unlock additional rows by spending PlayerPoints - Purchase confirmation screen before spending points - Shift-click (quick-move) support — blocked automatically when the chest is full - Info book item showing balance, unlocked rows, and next row price (hidden when all rows are unlocked) - Sounds for success, error, and insufficient balance events (configurable) - Admin commands to reset, set, or give rows to any player - Data stored in a local SQLite database — no external database required - Fully configurable messages, prices, sounds, and menu title
---
Dependencies
- PlayerPoints
---
Commands
| Command | Description | Permission | |---|---|---| | `/ec` | Open your ender chest | `qenderchest.use` | | `/ec reload` | Reload the config | `qenderchest.admin` | | `/ec reset <player>` | Reset a player's progress and data | `qenderchest.admin` | | `/ec setrows <player> <amount>` | Set the number of extra unlocked rows (0–3) | `qenderchest.admin` | | `/ec giverows <player> <amount>` | Give extra rows to a player | `qenderchest.admin` |
---
Permissions
| Permission | Description | Default | |---|---|---| | `qenderchest.use` | Open the chest via `/ec` | `true` | | `qenderchest.open` | Open the chest by right-clicking an ender chest block | `true` | | `qenderchest.buy` | Purchase additional rows | `true` | | `qenderchest.admin` | Access admin commands | `op` |
---
Configuration
```yaml
Allow opening the chest with /ec
open-by-command: true
Allow opening the chest by right-clicking an ender chest block
open-by-enderchest-click: true
Require qenderchest.open permission when opening by block click
require-permission-for-block-open: true
PlayerPoints cost to unlock each additional row
rows: 4: 100 5: 250 6: 500
Title displayed in the chest GUI (supports color codes with &)
menu-title: "&5Ender Chest"
Material used for locked row slots
locked-item-material: "GRAY_STAINED_GLASS_PANE"
Player-facing messages (support color codes and placeholders)
messages: not-enough: "&cNot enough PlayerPoints. Required: &6%price% points" purchase-success: "&aYou have successfully unlocked row &e%row%&a for &6%price% points&a!" row-already-open: "&eThis row is already unlocked or not available for purchase." no-permission: "&cYou do not have permission for this action." players-only: "&cThis command can only be used by players." config-reloaded: "&aConfig reloaded."
Sounds played on various events (use Bukkit Sound enum names)
sounds: success: "ENTITY_PLAYER_LEVELUP" error: "BLOCK_NOTE_BLOCK_BASS" not-enough: "BLOCK_ANVIL_LAND" ```
---
How It Works
1. A player opens their chest via `/ec` or by right-clicking an ender chest block 2. The first 3 rows are always available for storage 3. Locked rows show a glass pane with the unlock price — clicking one opens a confirmation screen 4. After confirming, the required PlayerPoints are deducted and the row is permanently unlocked 5. Items are saved to an SQLite database when the player closes the chest 6. When all 6 rows are unlocked, the info book is removed and every slot becomes usable storage
---
