
NPEnderChestPlugin
Multi-page Ender Chest with progression (levels, money, items, permissions)
Список изменений
NorrionProject EnderChest - Changelog v1.0.0
🎒 Initial Release — Custom Ender Chest with Unlockable Pages
NPEnderChest v1.0.0 expands the vanilla Ender Chest into a multi-page storage system with progressive unlocking. Click a placed Ender Chest → open a custom GUI with page navigation. Unlock slots one by one using money, XP levels, materials, and MMO levels — fully configurable.
Designed for RPG / MMO servers using MMOCore and Vault economy.
✨ Key Features for Server Admins
1. Multi-Page Ender Chest GUI
- Opens when a player right-clicks a placed Ender Chest block
- 7 pages by default (configurable:
numberOfPage) - Each page = 36 slots (vanilla Ender Chest size)
- Page navigation buttons — click to switch pages
- Vanilla animation — open/close sound + block animation (ProtocolLib enhanced)
- Auto-save on GUI close — contents persist to player data
2. Slot Unlocking System (Core Feature)
Every slot beyond the first 8 (vanilla) is locked by default. Players unlock one slot at a time (left-to-right, top-to-bottom) by meeting all requirements:
| Requirement | Config Key | Description |
|---|---|---|
| Money | moneyCost | Vault economy balance (requires Vault + economy plugin) |
| XP Levels | levelNeed + consumeLevel | Minecraft experience levels; optional consumption |
| MMO Level | mmoLevelNeed | MMOCore player level (requires MMOCore) |
| Permission | permission | LuckPerms / permission plugin check (e.g., np.enderchest.slot.35) |
| Materials | materialList[] | Items in player's inventory (consumed on purchase) |
All checks must pass — no partial unlocking. Player gets clear localized error messages for each failed requirement.
3. Fully Customizable Per-Slot Costs
Edit costUpgrade in plugins/NorrionProject/ender-chest-config.yml — every slot is independent:
costUpgrade:
8: # First unlockable slot
moneyCost: 500
levelNeed: 5
consumeLevel: true
mmoLevelNeed: 10
permission: "np.enderchest.slot.8"
materialList:
- material: COPPER_INGOT
amount: 1
loreDisplay: "x1 Copper Ingot"
9:
...
5. MMOCore Integration (Optional)
- Soft dependency — if MMOCore isn't installed,
mmoLevelNeedis ignored - Perfect for RPG servers where "character level" gates storage
6. Economy Integration (Vault)
- Reads
moneyCostfrom config - Works with any Vault-compatible economy plugin (EssentialsX, CMI, etc.)
7. Material Requirements with Lore UI
- Each required item shows in the slot's hover lore (
loreDisplay) - Material is consumed from inventory on purchase
- Supports any Bukkit
Material
8. Permission Gating
- Per-slot permission node (
np.enderchest.slot.<index>) - Empty string = no permission required
- Integrates with LuckPerms, PermissionsEx, etc.
9. Customizable GUI Items
Configure every button in inventoryItems:
| Config Key | Purpose | Default |
|---|---|---|
CHEST_PAGE | Page button | Chest |
CURRENT_CHEST_PAGE | Page button (active) | Ender Chest |
PURCHASE_SLOT_ITEM | Locked upgradable slot | Lock (MMOInventory resource pack) |
NEXT_PURCHASE_SLOT_ITEM | Next unlockable slot | Plus (MMOInventory resource pack) |
NEXT_PURCHASE_LOCK_SLOT_ITEM | Slot after next (still locked) | Lock |
Uses
InventoryItemConfig— supportsMaterial,CustomModelData, display name, lore.
10. ProtocolLib Enhanced Animations
- Optional soft dependency — if ProtocolLib present, sends
BLOCK_ACTIONpackets to nearby players - Shows Ender Chest open/close animation on the physical block for all players within 32 blocks
- Falls back to sound-only if ProtocolLib absent
11. Multilingual (FR / EN)
All messages in plugins/NorrionProject/language/NPEnderChest:
messages_en.json,messages_fr.json- Error messages for each requirement type (money, level, MMO level, permission, materials)
- Editable in-place — no reload needed
🎮 Player Experience
- Place an Ender Chest (vanilla block)
- Right-click it → opens custom GUI (page 0)
- First 8 slots = vanilla Ender Chest storage (always unlocked)
- Slot 8+ = locked, show "Plus" icon (next purchasable) or "Lock" icon
- Hover a locked slot → sees all requirements in lore
- Click "Plus" slot → if requirements met → slot unlocks, items/money/levels consumed, page refreshes
- Navigate pages → click page buttons (Chest / Ender Chest icons)
- Close GUI → auto-saves to player data
📦 Data Storage
- Per-player YAML files:
plugins/NorrionProject/EnderChest/<UUID>.yml - Stores: full inventory per page, last purchased slot index
- Async saves on GUI close + periodic flush
- SQL backend supported via NPPluginCore (MariaDB)
Made with ❤️ for the NorrionProject community.
Questions? Open an issue on our Discord.
