Custom EnderChest 1.12.1

[1.7.10 - 1.15.1] Similar to popular EnderChest++ but with more features and up to date.

  1. brunyman
    Native Minecraft Version:
    Tested Minecraft Versions:
    • 1.7
    • 1.8
    • 1.9
    • 1.10
    • 1.11
    • 1.12
    • 1.13
    • 1.14
    • 1.15
    Source Code:
    This plugin allows you to change the size of the players EnderChest, allowing you to store more or less than the vanilla version. It works the same way as a normal EnderChest just opening an EnderChest, but also features commands to access it. Everything can be customized with full color support, EnderChest title and chat messages.

    Do you want to save players data (Inventory, Enderchest, Money, Health, Exp and more...) on MySQL database? Or sync players data across servers? Then check out my other plugin:
    [​IMG] MySQL Player Data Bridge
    Do you want to save Essentials data on MySQL database? Or sync Essentials data across servers?
    Then consider checking out my other plugin:
    [​IMG] Essentials MySQL Storage Extension


    • Premium UUID and Offline UUID support.
    • FlatFile data saving. (similar to Essentials plugin)
    • MySQL data saving. (with option to remove inactive players)
    • Using MySQL data saving means you can share EnderChests across servers.
    • Sound Effects when running commands or opening EnderChests.
    • Console commands support.
    • Can open EnderChests via command with a permission. (Can be used for VIP's)
    • Admin commands to open, delete other players enderchests.
    • Full EnderChest title customization with color support and placeholders.
    • Different EnderChest titles for each EnderChest size.
    • 6 EnderChest sizes, from 1 raw with 9 slots to 6 raw's with 54 slots.
    • Customize chat messages with color support.
    • Support for any item data(lore,name,enchant).
    • NBT Data support for modded items! (Must be enabled in the config).
    • This plugin is as light as possible.
    • (Optional) MySQL Database - only needed if you enable MySQL in plugin config.
    • (Optional) ProtocolLib - only needed for NBT Modded items data.
    Install instructions
    • Place the plugin in the server plugins folder.
    • Start the server to generate the config, then stop the server.
    • Open the config and set up the plugin to your needs.
    • Start the Server. Done, enjoy. Remember to give players permissions.
    Setting EnderChest size is done using permissions. By default players will not have permission to open the EnderChest.
    • CustomEnderChest.level.0 - For 9 slots(1 raw) EnderChest size
    • CustomEnderChest.level.1 - For 18 slots(2 raw's) EnderChest size
    • CustomEnderChest.level.2 - For 27 slots(3 raw's) EnderChest size
    • CustomEnderChest.level.3 - For 36 slots(4 raw's) EnderChest size
    • CustomEnderChest.level.4 - For 45 slots(5 raw's) EnderChest size
    • CustomEnderChest.level.5 - For 54 slots(6 raw's) EnderChest size
    • CustomEnderChest.commands - Allows players to open the EnderChest with command /customec open
    • CustomEnderChest.admin - Access to administration command to open and edit or delete other players enderchests, and reload the plugin config and import data commands.
    The main command is /customenderchest , /customec or /ec
    • /ec or /ec help - Open the help page.
    • /ec open - Open your EnderChest
    • /ec open <name> - Open other player's EnderChest.
    • /ec delete <name> - Delete a players EnderChest.
    • /ec reload - Reload plugin configuration file.
    • /ec importFromFlatFile - Import data from FlatFile to MySQL database skipping existing database data.
    • /ec importFromFlatFile overwrite - Import data from FlatFile to MySQL database overwriting existing database data.
    Configuration example:
    #Database settings
    #Type of database, Options: FlatFile or MySQL
    typeOfDatabase: FlatFile
    #MySQL database type connection details.
    port: 3306
    databaseName: 'mydatabase'
    tableName: 'cec_enderchests'
    user: 'admin'
    password: 'cheesecake'
    ssl: false
    #This task will scan the mysql database for inactive players and remove them.
    #The scanning takes place after server starts with a 2min delay. Runs on a async thread so server performance will not be affected.

    #Enable or disable mysql database maintenance. | (true or false)
    enabled: false
    #Inactivity in days. Default 60 days.
    inactive: 60

    #Extra plugin settings.
    #Add NBT data support for modded items. Requires MySQL storage and ProtocolLib dependency installed.
    #NOTE!!! - Changes to this setting needs a server restart!

    modded-NBT-data-support: false
    #Disable click the enderchest to open the custom enderchest. (Useful if you only want to open it with the command)
    disable-enderchest-click: false
    #Disable all sounds triggered by this plugin.
    disable-sounds: false

    #Customize Ender Chest Title
    #EnderChest folder name. Supports color and format codes.
    #Minecraft Color and Format Codes:
    #WARNING! Max size is 32 characters including color, format codes.

    enderChestName: '&5&lEnderChest &7- %level'

    #The place holder %player will be replaced by player's name.

    #The %level place holder replace text below. So you can customize each enderchest title by enderchest size.

    #For 9 slots enderchest.

    level0: '&dLevel 0'
    #For 18 slots enderchest.
    level1: '&dLevel 1'
    #For 27 slots enderchest.
    level2: '&dLevel 2'
    #For 36 slots enderchest.
    level3: '&5Level 3'
    #For 45 slots enderchest.
    level4: '&5Level 4'
    #For 54 slots enderchest.
    level5: '&5Level 5'

    #Chat messages. Supports color and format codes.
    #Chat messages prefix.
    #To disable the prefix set it to '' ; Example: prefix: ''

    prefix: '&5&l[CustomEC] '

    #Disable any chat message by setting it to '' | Example: noPermission: ''
    #Chat messages.

    noPermission: '&dYou do not have permission!'
    openCmdUsage: '&dUsage example: &7/customec open John &dor &7/customec open f694517d-d6cf-32f1-972b-dfc677ceac45'
    noEnderchest: '&dPlayer does not have and Ender Chest yet!'
    openUuidFail: '&dPlayer does not have and Ender Chest or wrong UUID!'
    openNameOffline: '&dPlayer offline or wrong UUID! Use: &7/customec open <playerUUID>'
    deleteNameOffline: '&dPlayer offline or wrong UUID! Use: &7/customec delete <playerUUID>'
    deleteCmdUsage: '&dUsage example: &7/customec delete John &dor &7/customec delete f694517d-d6cf-32f1-972b-dfc677ceac45'
    delete: '&dPlayer enderchest data removed!'
    reloadFail: '&dCould not load config! Check logs!'
    reload: '&dConfiguration reloaded!'
    flatfileImport-mysql: '&dChange database type from flatfile to mysql first!'
    flatfileImport-connection: '&dNo database connection found! Check logs and make sure the plugin is connected to the mysql database!'
    flatfileImport-started: '&dImport task started! Check server console for progress.'
    flatfileImport-datafolder: '&dThe PlayerData folder could not be found!'
    reloadCmdWarning: '&cCustomEnderchest does not recommend server reloads. If you have issues after running this command stop using it.'
    joinDelay: '&cYour data is loading, please wait...'

    #Help command with multi line support.
    - ' '
    - '&5-=-=-=-=-=-=-=-< &d&lCustomEnderChest &5>-=-=-=-=-=-=-=-=-'
    - ' '
    - '&d Open your enderchest:'
    - '&8&l>> &f/customec open'
    - ' '
    - '&d Open other player''s Ender Chest:'
    - '&8&l>> &f/customec open <playerName> &7- for online players.'
    - '&8&l>> &f/customec open <playerUUID> &7- for offline players.'
    - '&7 Example: &f/customec open John&7 or &f/customec open f694517d-d6cf-32f1-972b-dfc677ceac45'
    - ' '
    - '&d Delete other player''s Ender Chest:'
    - '&8&l>> &f/customec delete <playerName> &7- for online players.'
    - '&8&l>> &f/customec delete <playerUUID> &7- for offline players.'
    - '&7 Example: &f/customec delete John&7 or &f/customec delete f694517d-d6cf-32f1-972b-dfc677ceac45'
    - ' '
    - '&d Reload plugin config:'
    - '&8&l>> &f/customec reload'
    - ' '
    - '&5-=-=-=-=-=-=-=-=-< &d&lAdmin Help Page &5>-=-=-=-=-=-=-=-=-'
    - ' '
    - ' '
    - '&7&oGet a better custom Ender Chest!'
    - '&7&lPlugin Download:&f'
    - ' '
    - '&d Open your enderchest'
    - '&8&l>> &f/customec open'
    - ' '
    - '&5-=-=-=-=-=-=-=-=-=-< &dHelp Page &5>-=-=-=-=-=-=-=-=-=-'
    - ' '
    Data Structure Example
    FlatFile Structure
    MySQL Structure
    Tutorial / Review Videos
    A plugin tutorial in German made by @ManuGun

    Useful Info
    MySQL Data Storage

    By default the plugin will use the FlatFile storage, so you need to go to config and enable it and set the database details. Note that you need to create the database then the plugin will create the tables when the server starts. Also you can enable a maintenance task to remove old inactive players from the database.

    FlatFile Data Storage
    A similar Flat File storage system like the popular Essentials plugin. The plugin will create a folder near the config file called PlayerData, each player will have a file to store his data.

    Server Reload
    Server reload can break plugins so we do not recommend it. If you have issues after server reload don't use it with this plugin.

    Best Data Storage
    The recommended storage type is MySQL, so if you can use it. On flat file there are more limitations.

    Import data from FlatFile Storage to MySQL database
    If for some reason you want to change the plugin storage type to MySQL you can import existing data with 2 commands:
    /ec importFromFlatFile will import data skipping existing players in the mysql database and /ec importFromFlatFile overwrite will import data overwriting existing players in the database.
    To import data you first need to go to the plugin config and change the plugin storage type to mysql and also make sure the plugin is connected to the database.

    If you like this resource and want to say thank you with a donation please use this PayPal button. Thanks!

    This plugin is made by CraftersLand Minecraft Community.
    :) Feel free to check us out at:

Recent Updates

  1. 1.15.1 Support and fixes
  2. Spigot 1.15 Update
  3. 1.14.4 Support

Recent Reviews

  1. iTeChNoLoGiCi
    Version: 1.12.1
    Hey,good work!Though,i wish for a feature to have separate ender chests for different worlds.
  2. pkeffect
    Version: 1.12.1
    Great plugin. Thank you for continuing to update this resource. Would be rather nice if the level/amount of storage space could be increased as I mainly use this as an Admin item storage solution. Other than that, I would highly recommend this plugin.
  3. Toylerrr
    Version: 1.12.0
    The Plugin works as expected as far as the features. The only problem I have had with it was the duping problem.
    Version: 1.12.0
    PLEASE FIX ECHEST ITEM DUPING. I love the plugin, but the glitch fucks me up. Please ASAP!
    1. brunyman
      Author's Response
      Please report issues in the discussion page, I will ignore these reviews, source code is public.
  5. TheFlowZone
    Version: 1.11.3
    There is a huge bug in this pack. Players store their items in ./customec and wait for a while. After that, they pick up all items in there and leave the server suddenly. By using that way they dupe items. If you guys don't fix this problem ASAP unfortunately i must change my virtual storage pack.
  6. Betob89
    Version: 1.11.3
    [00:38:06 INFO]: Betob89[/] logged in with entity id 60 at ([world]-1.6154082080784373, 4.936879707483414, 8.90616690855985)
    [00:38:17 WARN]: java.lang.IllegalArgumentException: Invalid inventory size; expected 0 or less
    [00:38:17 WARN]: at org.bukkit.craftbukkit.v1_8_R3.inventory.CraftInventory.setContents(
    [00:38:17 WARN]: at
    [00:38:17 WARN]: at
    [00:38:17 WARN]: at net.craftersland.customenderchest.PlayerHandler$
    [00:38:17 WARN]: at
    [00:38:17 WARN]: at
    [00:38:17 WARN]: at
    [00:38:17 WARN]: at java.util.concurrent.ThreadPoolExecutor.runWorker(
    [00:38:17 WARN]: at java.util.concurrent.ThreadPoolExecutor$
    [00:38:17 WARN]: at
    [00:38:17 ERROR]: [CustomEnderChest] Failed to decode inventory for Betob89! Error: null
    [00:38:17 WARN]:
    [00:38:17 WARN]: at$PeekInputStream.readFully(
    [00:38:17 WARN]: at$BlockDataInputStream.readShort(
    [00:38:17 WARN]: at
    [00:38:17 WARN]: at<init>(
    [00:38:17 WARN]: at<init>(
    [00:38:17 WARN]: at net.craftersland.customenderchest.utils.EncodingUtil.fromBase64(
    [00:38:17 WARN]: at
    [00:38:17 WARN]: at
    [00:38:17 WARN]: at net.craftersland.customenderchest.PlayerHandler$
    [00:38:17 WARN]: at
    [00:38:17 WARN]: at
    [00:38:17 WARN]: at
    [00:38:17 WARN]: at java.util.concurrent.ThreadPoolExecutor.runWorker(
    [00:38:17 WARN]: at java.util.concurrent.ThreadPoolExecutor$
    [00:38:17 WARN]: at
  7. LucianDevran
    Version: 1.11.3
    Great Plugin, make sure to remove your EC content before installing. Or you need to enable the option to access the normal enderchest by clicking on it
  8. Soarin
    Version: 1.11.3
    Perfect plugin, this combined with the plugin ShulkerBlock has been outstanding for my server. Thank you!
  9. MiczPrd
    Version: 1.11.3
    I downloaded this but I don't know how to give other people perms to open the chest please help thanks
  10. TimHatAim
    Version: 1.11.3
    This is really a cool plugin! But I would like to create a CustomEC.see permission so that you can look in other EC's as a player. (Sorry for my english but am from germany)