1.0.0
Compatibility
Changes
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.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:SbZ4qVQR:RwEoBkrM"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:SbZ4qVQR:RwEoBkrM"
}

