{"id":52749,"date":"2026-06-03T01:00:04","date_gmt":"2026-06-02T22:00:04","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/custom-ender-chest\/"},"modified":"2026-06-03T01:00:04","modified_gmt":"2026-06-02T22:00:04","slug":"custom-ender-chest","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/custom-ender-chest\/","title":{"rendered":"Custom Ender Chest"},"content":{"rendered":"<p># Next-Gen Custom Ender Chest<br \/>\nThe ultimate, high-performance, and fully customizable Ender Chest solution for modern servers. Built from the ground up for Paper &#038; Folia.<\/p>\n<p>## Overview<br \/>\nTired of basic Ender Chest plugins that lag your server, lack features, or don&#8217;t support modern server software? **Next-Gen Custom Ender Chest** is a complete rewrite of the classic concept, engineered for the strict demands of today&#8217;s high-performance servers.<\/p>\n<p>Our plugin offers a powerful, flexible, and completely asynchronous experience, ensuring zero lag while providing your players with permission-based Ender Chests. Whether you&#8217;re running a single server or a vast Velocity proxy network, our multi-storage backend has you completely covered.<\/p>\n<p>## \u2b50 Features<br \/>\n**\ud83d\udee1\ufe0f Permission-Based Sizes:** Easily configure up to 6 different Ender Chest sizes, granted to players dynamically via permission nodes (`CustomEnderChest.level.0` to `CustomEnderChest.level.5`). The chest will automatically resize instantly when their permission changes!<\/p>\n<p>**\u26a1 High-Performance &#038; Asynchronous:** All database queries, loading, and saving sequences are handled asynchronously. Your server&#8217;s TPS will never drop, even with hundreds of players spamming commands.<\/p>\n<p>**\ud83d\udcbe Flexible Storage System:** You choose how to securely store your data!<br \/>\n&#8211; **MySQL:** Perfect for multi-server networks (BungeeCord\/Velocity) to sync player data seamlessly across servers.<br \/>\n&#8211; **H2:** A fast, high-performance local database for single servers. Offers drastically better TPS than YML with zero setup required.<br \/>\n&#8211; **YML:** Simple, classic, and manually editable, saving each player&#8217;s data in a separate file.<\/p>\n<p>**\ud83e\uddf5 Folia Compatible:** Built with the future in mind. Our scheduler and data handling logic are explicitly built for Folia&#8217;s multi-threaded Region Thread environment!<\/p>\n<p>**\ud83c\udfa8 Fully Customizable UI:** Customize all messages, prefixes, and inventory pop-up titles using the powerful **MiniMessage** format. Gradients, hex colors, and legacy codes (`&#038;c`) are all natively supported. Drop-in support for multiple languages (`lang_en`, `lang_vi`, etc.).<\/p>\n<p>**\ud83d\udce6 Dynamic Overflow Protection:** If a player&#8217;s VIP rank expires and their chest is downgraded, items exceeding their new size limit are NOT deleted! They are safely moved into a secure &#8220;Overflow Storage&#8221; and will automatically be placed back into the chest when the player regains the required permissions.<\/p>\n<p>**\ud83d\udc40 Real-Time Admin Sync:** Admins can view and interact with any player&#8217;s Ender Chest in real-time. Any item you put in or take out will instantly mirror directly onto the player&#8217;s screen!<\/p>\n<p>**\ud83d\udd12 Anti-Dupe Data Lock:** Robust, thread-safe asynchronous locks guarantee that quit-saving, rapid relogging, and cross-server Bungee transfers are completely immune to item duplication and corruption.<\/p>\n<p>**\ud83d\udd04 Seamless Migration &#038; Cleanup:** Move smoothly between databases (YML <-> H2 <-> MySQL) using the powerful `\/cec migrate` command or import legacy data effortlessly using `\/cec importlegacy`. The plugin also features automatic backup snapshots and automatic data purging to cleanup inactive players!<\/p>\n<p>## Commands &#038; Permissions<\/p>\n<details>\n<summary>Click to view Commands &#038; Permissions<\/summary>\n<p>### Player Commands:<br \/>\n&#8211; `\/cec` &#8211; Opens your Ender Chest.<br \/>\n&#8211; **Aliases:** `\/ec`, `\/customenderchest`<\/p>\n<p>**Size Permissions:**<br \/>\n&#8211; `CustomEnderChest.level.0` &#8211; 9 Slots (1 row)<br \/>\n&#8211; `CustomEnderChest.level.1` &#8211; 18 Slots (2 rows)<br \/>\n&#8211; `CustomEnderChest.level.2` &#8211; 27 Slots (3 rows)<br \/>\n&#8211; `CustomEnderChest.level.3` &#8211; 36 Slots (4 rows)<br \/>\n&#8211; `CustomEnderChest.level.4` &#8211; 45 Slots (5 rows)<br \/>\n&#8211; `CustomEnderChest.level.5` &#8211; 54 Slots (6 rows)<\/p>\n<p>### Admin Commands:<br \/>\n**Permission Required:** `CustomEnderChest.admin`<\/p>\n<p>&#8211; `\/cec reload` &#8211; Reloads the `config.yml` and language files.<br \/>\n&#8211; `\/cec open <player>` &#8211; Open and modify another player&#8217;s EnderChest.<br \/>\n&#8211; `\/cec delete <player>` &#8211; Delete all items in a specific player&#8217;s EnderChest.<br \/>\n&#8211; `\/cec migrate <type> <type>` &#8211; Migrate your current database to a new format (h2, mysql, yml).<br \/>\n&#8211; `\/cec convertall` &#8211; Imports data from the older legacy plugin version&#8217;s format.<\/p>\n<\/details>\n<details>\n<summary>Configuration<\/summary>\n<p>The plugin is extremely easy to configure. You can control everything from the storage type to every sound effect. <\/p>\n<p>&#8220;`<br \/>\n# &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; #<br \/>\n#      Configuration for CustomEnderChest v2.0       #<br \/>\n# &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; #<br \/>\n# Thank you for using the refactored version!<br \/>\n# All messages, titles, and user-facing text are now managed in the \/lang directory.<\/p>\n<p># General plugin settings<br \/>\ngeneral:<br \/>\n  # Select the language file to use.<br \/>\n  # Example: &#8220;en&#8221; will load &#8220;lang_en.yml&#8221;, &#8220;vi&#8221; will load &#8220;lang_vi.yml&#8221;, &#8220;zhcn&#8221; will load lang_zhcn.yml.<br \/>\n  # Make sure the corresponding file exists in the plugin&#8217;s \/lang folder.<br \/>\n  locale: &#8220;en&#8221;<br \/>\n  # Set to true to enable debug logging. Useful for troubleshooting.<br \/>\n  debug: false<br \/>\n  # Set to true to enable bStats metrics, which helps the developer understand how the plugin is used.<br \/>\n  # Set to false to disable it.<br \/>\n  bstats-metrics: true<br \/>\n  # Set to true to enable FastStats metrics for error tracking and analytics.<br \/>\n  # Set to false to disable it.<br \/>\n  faststats-metrics: true<br \/>\n  # Enable or disable automatic update checking.<br \/>\n  update-checker: true<\/p>\n<p># Backup settings<br \/>\nbackup:<br \/>\n  # Enable automatic backups of player data<br \/>\n  enabled: true<br \/>\n  # Interval between automatic backups (in minutes)<br \/>\n  interval-minutes: 60<br \/>\n  # Maximum number of backup files to keep<br \/>\n  # Old backups will be automatically deleted when this limit is exceeded<br \/>\n  max-backups: 10<br \/>\n  # Number of days to keep backups (older backups will be deleted)<br \/>\n  retention-days: 7<br \/>\n  # Create a backup when the server shuts down<br \/>\n  backup-on-shutdown: true<\/p>\n<p># Database settings<br \/>\nstorage:<br \/>\n  # Storage type. Options:<br \/>\n  # yml     &#8211; Stores data in YAML files, no external setup needed.<br \/>\n  # h2      &#8211; (Default &#038; Recommended for single servers) Fast, lightweight, stores data in a single file, no external setup needed.<br \/>\n  # mysql   &#8211; (Recommended for multi-server networks) Requires a separate MySQL server.<br \/>\n  type: &#8220;h2&#8221;<\/p>\n<p>  # The table name that will be used in the database.<br \/>\n  table_name: &#8220;custom_enderchests&#8221;<\/p>\n<p>  # Periodically auto-save data for online players.<br \/>\n  # This helps minimize data loss in case of a server crash.<br \/>\n  # Time is in seconds.<br \/>\n  auto-save-interval-seconds: 300 # Default is 5 minutes<\/p>\n<p>  # Settings for MySQL (only apply if `type` is &#8220;mysql&#8221;)<br \/>\n  mysql:<br \/>\n    host: &#8220;127.0.0.1&#8221;<br \/>\n    port: 3306<br \/>\n    database: &#8220;enderchest_db&#8221;<br \/>\n    username: &#8220;user&#8221;<br \/>\n    password: &#8220;password&#8221;<br \/>\n    # Enable\/disable SSL encryption for the connection.<br \/>\n    use-ssl: false<\/p>\n<p>  # Settings for the Connection Pool (HikariCP).<br \/>\n  # These settings optimize database connection performance.<br \/>\n  # You generally don&#8217;t need to change these unless you know what you&#8217;re doing.<br \/>\n  pool-settings:<br \/>\n    max-pool-size: 10<br \/>\n    min-idle: 5<br \/>\n    connection-timeout: 30000 # 30 seconds<\/p>\n<p>  # Automatically clean up old user data in MySQL<br \/>\n  auto-cleanup:<br \/>\n    # Enable\/disable the automatic deletion of inactive player data.<br \/>\n    enabled: false<br \/>\n    # Number of inactive days. Data for players who have been offline for this duration will be deleted.<br \/>\n    inactive-days: 90<\/p>\n<p># Ender Chest gameplay options<br \/>\nenderchest-options:<br \/>\n  # Disable opening the custom ender chest by right-clicking an Ender Chest block.<br \/>\n  # Useful if you only want players to open the chest via command or players will need<br \/>\n  # &#8220;CustomEnderChest.block.open&#8221; permission to open via block.<br \/>\n  # Note: If this option is true, don&#8217;t set true for `disable-plugin-on-endechest-block` below.<br \/>\n  disable-enderchest-click: false<br \/>\n  # Disable the plugin&#8217;s functionality when interacting with an Ender Chest block.<br \/>\n  # The block will function as a normal vanilla Ender Chest.<br \/>\n  # Useful if you want to reserve the block for vanilla use only.<br \/>\n  # Note: If this option is true, don&#8217;t set true for `disable-enderchest-click` above.<br \/>\n  vanilla-enderchest-block: false<\/p>\n<p># Default settings for players<br \/>\ndefault-player:<br \/>\n  # Enable this to give players a default chest size.<br \/>\n  # This allows players to use the Ender Chest block without needing a specific permission.<br \/>\n  enabled: true<br \/>\n  # The default chest size (number of slots, must be a multiple of 9, max 54).<br \/>\n  # 27 equals 3 rows, the same as a vanilla Ender Chest.<br \/>\n  # Default permission level is CustomEnderChest.level.3 (27 slots).<br \/>\n  size: 27<br \/>\n  # Allow players to use \/cec, \/ec, \/customec commands by default.<br \/>\n  # If false, players will need &#8220;CustomEnderChest.commands&#8221; permission to use commands.<br \/>\n  allow-command: true<\/p>\n<p># Import settings for vanilla ender chest data<br \/>\nimport:<br \/>\n  # Automatically import vanilla ender chest items when a player joins<br \/>\n  # This will transfer items from their vanilla ender chest to the plugin&#8217;s storage<br \/>\n  # Items are merged with existing data (vanilla items go to empty slots)<br \/>\n  auto-import-on-join: false<\/p>\n<p># Sound customization<br \/>\nsounds:<br \/>\n  # Disable all plugin sounds if set to `true`.<br \/>\n  disable-all: false<br \/>\n  # You can find valid sound names here:<br \/>\n  # https:\/\/hub.spigotmc.org\/javadocs\/spigot\/org\/bukkit\/Sound.html<br \/>\n  # (Use the names from the Enum column)<br \/>\n  open:<br \/>\n    name: &#8220;BLOCK_ENDER_CHEST_OPEN&#8221;<br \/>\n    volume: 1.0<br \/>\n    pitch: 1.0<br \/>\n  close:<br \/>\n    name: &#8220;BLOCK_ENDER_CHEST_CLOSE&#8221;<br \/>\n    volume: 1.0<br \/>\n    pitch: 1.0<br \/>\n  fail:<br \/>\n    name: &#8220;BLOCK_NOTE_BLOCK_PLING&#8221;<br \/>\n    volume: 1.0<br \/>\n    pitch: 0.5<br \/>\n  reload:<br \/>\n    name: &#8220;ENTITY_PLAYER_LEVELUP&#8221;<br \/>\n    volume: 0.8<br \/>\n    pitch: 1.5<\/p>\n<p>&#8220;`<\/p>\n<\/details>\n<details>\n<summary>Click to view lang\/lang_en.yml<\/summary>\n<p>&#8220;`<br \/>\n# Prefix used for all messages<br \/>\nprefix: &#8220;<gray>[<gradient:#C0FFEE:#B4D0FF>EnderChest<\/gradient>]<\/gray> &#8221;<\/p>\n<p>messages:<br \/>\n  no-permission: &#8220;<red>You don&#8217;t have permission for that.<\/red>&#8221;<br \/>\n  no-permission-block-open: &#8220;<red>You don&#8217;t have permission to open the Ender Chest by clicking on it.<\/red>&#8221;<br \/>\n  players-only: &#8220;<red>This command can only be run by a player.<\/red>&#8221;<br \/>\n  reload-success: &#8220;<green>Configuration and language files have been reloaded.<\/green>&#8221;<br \/>\n  data-still-loading: &#8220;<yellow>Your data is still loading, please wait a moment&#8230;<\/yellow>&#8221;<br \/>\n  data-busy: &#8220;<red>Player data is busy. Please try again shortly.<\/red>&#8221;<br \/>\n  save-error: &#8220;<red>An error occurred while saving data. Please check the console.<\/red>&#8221;<br \/>\n  invalid-player: &#8220;<red>Invalid player name.<\/red>&#8221;<\/p>\n<p>  # Migration messages<br \/>\n  migration-data-incompatible: &#8220;<yellow>Warning: Your Ender Chest data is incompatible with the new server version (1.21.5+).&#8221;<br \/>\n  migration-data-cleared: &#8220;<yellow>Your Ender Chest has been reset due to incompatibility. Old data is still preserved in the database.&#8221;<br \/>\n  migration-contact-admin: &#8220;<gray>Please contact an admin if you need item recovery.&#8221;<br \/>\n  data-migrated: &#8220;<green>Your enderchest data has been migrated to your new account.&#8221;<\/p>\n<p>  # Overflow messages<br \/>\n  overflow-items-saved: &#8220;<yellow>\u26a0 Some items beyond your permission have been saved to overflow storage.&#8221;<br \/>\n  overflow-will-restore: &#8220;<gray>They will be automatically restored when you upgrade your Ender Chest.&#8221;<br \/>\n  overflow-items-restored: &#8220;<green>\u2713 Restored <count> items from overflow storage!&#8221;<\/p>\n<p>command:<br \/>\n  usage: &#8220;<red>Usage: <gray>\/<label> <usage>&#8221;<br \/>\n  player-not-found: &#8220;<red>Player &#8216;<player>&#8216; not found or has no data.&#8221;<br \/>\n  delete-usage: &#8220;<red>Usage: <gray>\/<label> delete <player>&#8221;<br \/>\n  delete-success: &#8220;<green>Successfully deleted Ender Chest data for <white><player><\/white>.&#8221;<br \/>\n  loading-chest: &#8220;<yellow>Loading <white><player>&#8216;s<\/white> Ender Chest&#8230;&#8221;<br \/>\n  import-usage: &#8220;<red>Usage: <gray>\/<label> import <vanilla>&#8221;<br \/>\n  import-invalid-type: &#8220;<red>Invalid import type. Use: <gray>vanilla&#8221;<br \/>\n  migrate-usage: &#8220;<yellow>Usage: <gray>\/cec migrate <yml|h2|mysql> <yml|h2|mysql>&#8221;<br \/>\n  migrate-example: &#8220;<gray>Example: \/cec migrate yml mysql&#8221;<br \/>\n  migrate-running: &#8220;<red>Another migration process is currently running. Please wait!&#8221;<br \/>\n  migrate-same-type: &#8220;<red>Source and target formats cannot be the same.&#8221;<br \/>\n  migrate-init: &#8220;<yellow>Initializing database connection&#8230;&#8221;<br \/>\n  migrate-conn-source-err: &#8220;<red>Error connecting to source format. Migration cancelled.&#8221;<br \/>\n  migrate-conn-target-err: &#8220;<red>Error connecting to target format. Migration cancelled.&#8221;<br \/>\n  migrate-start: &#8220;<yellow>Starting data migration from<source>to <target>&#8230;&#8221;<br \/>\n  migrate-no-data: &#8220;<red>No data found to migrate.&#8221;<br \/>\n  migrate-success: &#8220;<green>Data migration complete! Success: <success>\/<total>, Failed: <failed>&#8221;<br \/>\n  migrate-note: &#8220;<yellow>\u26a0 Note: <white>To use the migrated data, stop the server, update the storage type in config.yml, then start the server again.&#8221;<br \/>\n  migrate-error-unknown: &#8220;<red>An unknown error occurred during migration. Check Console for details.&#8221;<br \/>\n  migrate-in-progress: &#8220;<red>System is undergoing data maintenance (migration), you cannot open the chest right now!&#8221;<\/p>\n<p>titles:<br \/>\n  enderchest: &#8220;<level> &#8211; <light_purple><player>&#8216;s Chest&#8221;<br \/>\n  admin_view: &#8220;<dark_red>Admin View: <white><player>&#8221;<\/p>\n<p>levels:<br \/>\n  &#8216;0&#8217;: &#8220;&#038;fLevel 1&#8221; # 1 row (9 slots)<br \/>\n  &#8216;1&#8217;: &#8220;&#038;aLevel 2&#8221; # 2 rows (18 slots)<br \/>\n  &#8216;2&#8217;: &#8220;&#038;bLevel 3&#8221; # 3 rows (27 slots)<br \/>\n  &#8216;3&#8217;: &#8220;&#038;eLevel 4&#8221; # 4 rows (36 slots)<br \/>\n  &#8216;4&#8217;: &#8220;&#038;6Level 5&#8221; # 5 rows (45 slots)<br \/>\n  &#8216;5&#8217;: &#8220;&#038;d&#038;lLevel 6&#8221; # 6 rows (54 slots)<\/p>\n<p>import:<br \/>\n  started: &#8220;<green>Starting vanilla ender chest import for all online players&#8230;&#8221;<br \/>\n  complete: &#8220;<green>Import complete! <white><imported><\/white> players imported, <white><skipped><\/white> skipped.&#8221;<br \/>\n  auto-import-started: &#8220;<yellow>Auto-importing your vanilla ender chest items&#8230;&#8221;<br \/>\n  auto-import-complete: &#8220;<green>Auto-import complete! <white><count><\/white> items imported from vanilla ender chest.&#8221;<br \/>\n  auto-import-failed: &#8220;<red>Failed to auto-import your vanilla ender chest data. Please contact an admin.&#8221;<br \/>\n&#8220;`<br \/>\n<\/details>\n<details>\n<summary>Click to view lang\/lang_vi.yml<\/summary>\n<p>&#8220;`<\/p>\n<p># File Ng\u00f4n ng\u1eef Ti\u1ebfng Vi\u1ec7t cho CustomEnderChest<\/p>\n<p># Prefix d\u00f9ng cho t\u1ea5t c\u1ea3 messages<br \/>\nprefix: &#8220;<gray>[<gradient:#C0FFEE:#B4D0FF>R\u01b0\u01a1ng Ender<\/gradient>]<\/gray> &#8221;<\/p>\n<p>messages:<br \/>\n  no-permission: &#8220;<red>B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n \u0111\u1ec3 l\u00e0m \u0111i\u1ec1u n\u00e0y.<\/red>&#8221;<br \/>\n  no-permission-block-open: &#8220;<red>B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n \u0111\u1ec3 m\u1edf r\u01b0\u01a1ng Ender.<\/red>&#8221;<br \/>\n  players-only: &#8220;<red>L\u1ec7nh n\u00e0y ch\u1ec9 c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c th\u1ef1c thi b\u1edfi ng\u01b0\u1eddi ch\u01a1i.<\/red>&#8221;<br \/>\n  reload-success: &#8220;<green>\u0110\u00e3 t\u1ea3i l\u1ea1i t\u1ec7p c\u1ea5u h\u00ecnh v\u00e0 ng\u00f4n ng\u1eef.<\/green>&#8221;<br \/>\n  data-still-loading: &#8220;<yellow>D\u1eef li\u1ec7u c\u1ee7a b\u1ea1n \u0111ang \u0111\u01b0\u1ee3c t\u1ea3i, vui l\u00f2ng ch\u1edd trong gi\u00e2y l\u00e1t&#8230;<\/yellow>&#8221;<br \/>\n  data-busy: &#8220;<red>D\u1eef li\u1ec7u ng\u01b0\u1eddi ch\u01a1i hi\u1ec7n \u0111ang b\u1eadn. Vui l\u00f2ng th\u1eed l\u1ea1i sau gi\u00e2y l\u00e1t.<\/red>&#8221;<br \/>\n  save-error: &#8220;<red>\u0110\u00e3 x\u1ea3y ra l\u1ed7i khi l\u01b0u d\u1eef li\u1ec7u. Vui l\u00f2ng ki\u1ec3m tra console.<\/red>&#8221;<br \/>\n  invalid-player: &#8220;<red>T\u00ean ng\u01b0\u1eddi ch\u01a1i kh\u00f4ng h\u1ee3p l\u1ec7.<\/red>&#8221;<\/p>\n<p>  # Migration messages<br \/>\n  migration-data-incompatible: &#8220;<yellow>C\u1ea3nh b\u00e1o: D\u1eef li\u1ec7u R\u01b0\u01a1ng Ender c\u1ee7a b\u1ea1n kh\u00f4ng t\u01b0\u01a1ng th\u00edch v\u1edbi phi\u00ean b\u1ea3n server m\u1edbi (1.21.5+).&#8221;<br \/>\n  migration-data-cleared: &#8220;<yellow>R\u01b0\u01a1ng Ender c\u1ee7a b\u1ea1n \u0111\u00e3 b\u1ecb reset do kh\u00f4ng t\u01b0\u01a1ng th\u00edch. D\u1eef li\u1ec7u c\u0169 v\u1eabn \u0111\u01b0\u1ee3c l\u01b0u trong database.&#8221;<br \/>\n  migration-contact-admin: &#8220;<gray>Vui l\u00f2ng li\u00ean h\u1ec7 admin n\u1ebfu c\u1ea7n kh\u00f4i ph\u1ee5c v\u1eadt ph\u1ea9m.&#8221;<br \/>\n  data-migrated: &#8220;<green>D\u1eef li\u1ec7u r\u01b0\u01a1ng ender c\u1ee7a b\u1ea1n \u0111\u00e3 \u0111\u01b0\u1ee3c chuy\u1ec3n sang t\u00e0i kho\u1ea3n m\u1edbi.&#8221;<\/p>\n<p>  # Overflow messages<br \/>\n  overflow-items-saved: &#8220;<yellow>\u26a0 M\u1ed9t s\u1ed1 v\u1eadt ph\u1ea9m v\u01b0\u1ee3t quy\u1ec1n h\u1ea1n \u0111\u00e3 \u0111\u01b0\u1ee3c l\u01b0u v\u00e0o kho d\u1ef1 ph\u00f2ng.&#8221;<br \/>\n  overflow-will-restore: &#8220;<gray>Ch\u00fang s\u1ebd t\u1ef1 \u0111\u1ed9ng \u0111\u01b0\u1ee3c kh\u00f4i ph\u1ee5c khi b\u1ea1n n\u00e2ng c\u1ea5p R\u01b0\u01a1ng Ender.&#8221;<br \/>\n  overflow-items-restored: &#8220;<green>\u2713 \u0110\u00e3 kh\u00f4i ph\u1ee5c <count> v\u1eadt ph\u1ea9m t\u1eeb kho d\u1ef1 ph\u00f2ng!&#8221;<\/p>\n<p>command:<br \/>\n  usage: &#8220;<red>S\u1eed d\u1ee5ng: <gray>\/<label> <usage>&#8221;<br \/>\n  player-not-found: &#8220;<red>Kh\u00f4ng t\u00ecm th\u1ea5y ng\u01b0\u1eddi ch\u01a1i &#8216;<player>&#8216; ho\u1eb7c h\u1ecd ch\u01b0a c\u00f3 d\u1eef li\u1ec7u.&#8221;<br \/>\n  delete-usage: &#8220;<red>S\u1eed d\u1ee5ng: <gray>\/<label> delete <t\u00ean_ng\u01b0\u1eddi_ch\u01a1i>&#8221;<br \/>\n  delete-success: &#8220;<green>\u0110\u00e3 x\u00f3a th\u00e0nh c\u00f4ng d\u1eef li\u1ec7u R\u01b0\u01a1ng Ender c\u1ee7a <white><player><\/white>.&#8221;<br \/>\n  loading-chest: &#8220;<yellow>\u0110ang t\u1ea3i R\u01b0\u01a1ng Ender c\u1ee7a <white><player><\/white>&#8230;&#8221;<br \/>\n  import-usage: &#8220;<red>S\u1eed d\u1ee5ng: <gray>\/<label> import <vanilla>&#8221;<br \/>\n  import-invalid-type: &#8220;<red>Lo\u1ea1i import kh\u00f4ng h\u1ee3p l\u1ec7. S\u1eed d\u1ee5ng: <gray>vanilla&#8221;<br \/>\n  migrate-usage: &#8220;<yellow>S\u1eed d\u1ee5ng: <gray>\/cec migrate <yml|h2|mysql> <yml|h2|mysql>&#8221;<br \/>\n  migrate-example: &#8220;<gray>V\u00ed d\u1ee5: \/cec migrate yml mysql&#8221;<br \/>\n  migrate-running: &#8220;<red>M\u1ed9t ti\u1ebfn tr\u00ecnh migrate kh\u00e1c \u0111ang di\u1ec5n ra. Vui l\u00f2ng \u0111\u1ee3i!&#8221;<br \/>\n  migrate-same-type: &#8220;<red>\u0110\u1ecbnh d\u1ea1ng ngu\u1ed3n v\u00e0 \u0111\u00edch kh\u00f4ng \u0111\u01b0\u1ee3c gi\u1ed1ng nhau.&#8221;<br \/>\n  migrate-init: &#8220;<yellow>\u0110ang kh\u1edfi t\u1ea1o k\u1ebft n\u1ed1i database&#8230;&#8221;<br \/>\n  migrate-conn-source-err: &#8220;<red>L\u1ed7i k\u1ebft n\u1ed1i \u0111\u1ecbnh d\u1ea1ng ngu\u1ed3n. Migrate b\u1ecb hu\u1ef7.&#8221;<br \/>\n  migrate-conn-target-err: &#8220;<red>L\u1ed7i k\u1ebft n\u1ed1i \u0111\u1ecbnh d\u1ea1ng \u0111\u00edch. Migrate b\u1ecb hu\u1ef7.&#8221;<br \/>\n  migrate-start: &#8220;<yellow>B\u1eaft \u0111\u1ea7u chuy\u1ec3n d\u1eef li\u1ec7u t\u1eeb<source>sang <target>&#8230;&#8221;<br \/>\n  migrate-no-data: &#8220;<red>Kh\u00f4ng t\u00ecm th\u1ea5y d\u1eef li\u1ec7u n\u00e0o \u0111\u1ec3 chuy\u1ec3n \u0111\u1ed5i.&#8221;<br \/>\n  migrate-success: &#8220;<green>Chuy\u1ec3n d\u1eef li\u1ec7u ho\u00e0n t\u1ea5t! Th\u00e0nh c\u00f4ng: <success>\/<total>, L\u1ed7i: <failed>&#8221;<br \/>\n  migrate-note: &#8220;<yellow>\u26a0 L\u01b0u \u00fd: <white>Sau khi chuy\u1ec3n \u0111\u1ed5i d\u1eef li\u1ec7u v\u00e0 mu\u1ed1n s\u1eed d\u1ee5ng d\u1eef li\u1ec7u \u0111\u00f3 th\u00ec h\u00e3y t\u1eaft m\u00e1y ch\u1ee7 v\u00e0 ch\u1ec9nh th\u00f4ng tin trong file config.yml r\u1ed3i m\u1edf m\u00e1y ch\u1ee7 \u0111\u1ec3 s\u1eed d\u1ee5ng.&#8221;<br \/>\n  migrate-error-unknown: &#8220;<red>\u0110\u00e3 x\u1ea3y ra l\u1ed7i kh\u00f4ng x\u00e1c \u0111\u1ecbnh l\u00fac chuy\u1ec3n d\u1eef li\u1ec7u. Xem Console \u0111\u1ec3 bi\u1ebft chi ti\u1ebft.&#8221;<br \/>\n  migrate-in-progress: &#8220;<red>H\u1ec7 th\u1ed1ng \u0111ang b\u1ea3o tr\u00ec d\u1eef li\u1ec7u (migrate), kh\u00f4ng th\u1ec3 m\u1edf r\u01b0\u01a1ng ngay l\u00fac n\u00e0y!&#8221;<\/p>\n<p>titles:<br \/>\n  enderchest: &#8220;<level> &#8211; <light_purple>R\u01b0\u01a1ng c\u1ee7a <player>&#8221;<br \/>\n  admin_view: &#8220;<dark_red>Admin Xem: <white><player>&#8221;<\/p>\n<p># T\u00ean c\u1ea5p \u0111\u1ed9 \u0111\u01b0\u1ee3c d\u00f9ng trong bi\u1ebfn <level><br \/>\nlevels:<br \/>\n  &#8216;0&#8217;: &#8220;&#038;fC\u1ea5p 1&#8221; # 1 h\u00e0ng (9 \u00f4)<br \/>\n  &#8216;1&#8217;: &#8220;&#038;aC\u1ea5p 2&#8221; # 2 h\u00e0ng (18 \u00f4)<br \/>\n  &#8216;2&#8217;: &#8220;&#038;bC\u1ea5p 3&#8221; # 3 h\u00e0ng (27 \u00f4)<br \/>\n  &#8216;3&#8217;: &#8220;&#038;eC\u1ea5p 4&#8221; # 4 h\u00e0ng (36 \u00f4)<br \/>\n  &#8216;4&#8217;: &#8220;&#038;6C\u1ea5p 5&#8221; # 5 h\u00e0ng (45 \u00f4)<br \/>\n  &#8216;5&#8217;: &#8220;&#038;d&#038;lC\u1ea5p 6&#8221; # 6 h\u00e0ng (54 \u00f4)<\/p>\n<p>import:<br \/>\n  started: &#8220;<green>B\u1eaft \u0111\u1ea7u chuy\u1ec3n d\u1eef li\u1ec7u vanilla sang plugin cho t\u1ea5t c\u1ea3 ng\u01b0\u1eddi ch\u01a1i tr\u1ef1c tuy\u1ebfn&#8230;&#8221;<br \/>\n  complete: &#8220;<green>Chuy\u1ec3n ho\u00e0n t\u1ea5t! \u0110\u00e3 chuy\u1ec3n cho <white><imported><\/white> ng\u01b0\u1eddi ch\u01a1i, b\u1ecf qua <white><skipped><\/white>.&#8221;<br \/>\n  auto-import-started: &#8220;<yellow>\u0110ang t\u1ef1 \u0111\u1ed9ng chuy\u1ec3n v\u1eadt ph\u1ea9m t\u1eeb r\u01b0\u01a1ng ender vanilla c\u1ee7a b\u1ea1n&#8230;&#8221;<br \/>\n  auto-import-complete: &#8220;<green>T\u1ef1 \u0111\u1ed9ng chuy\u1ec3n ho\u00e0n t\u1ea5t! \u0110\u00e3 chuy\u1ec3n <white><count><\/white> v\u1eadt ph\u1ea9m t\u1eeb r\u01b0\u01a1ng ender vanilla.&#8221;<br \/>\n  auto-import-failed: &#8220;<red>Kh\u00f4ng th\u1ec3 t\u1ef1 \u0111\u1ed9ng chuy\u1ec3n d\u1eef li\u1ec7u r\u01b0\u01a1ng ender vanilla. Vui l\u00f2ng li\u00ean h\u1ec7 admin.&#8221;<\/p>\n<p>&#8220;`<\/p>\n<\/details>\n<details>\n<summary>Click to view lang\/lang_nl.yml<\/summary>\n<p>&#8220;`<br \/>\n# Prefix dat voor alle berichten wordt gebruikt<br \/>\nprefix: &#8220;<gray>[<gradient:#C0FFEE:#B4D0FF>EnderChest<\/gradient>]<\/gray> &#8221;<\/p>\n<p>messages:<br \/>\n  no-permission: &#8220;<red>Je hebt daar geen toestemming voor.<\/red>&#8221;<br \/>\n  no-permission-block-open: &#8220;<red>You don&#8217;t have permission to open the Ender Chest by clicking on it.<\/red>&#8221;<br \/>\n  players-only: &#8220;<red>Dit commando kan alleen door een speler worden uitgevoerd.<\/red>&#8221;<br \/>\n  reload-success: &#8220;<green>Configuratie- en taal bestanden zijn opnieuw geladen.<\/green>&#8221;<br \/>\n  data-still-loading: &#8220;<yellow>Je gegevens worden nog geladen, even geduld a.u.b&#8230;<\/yellow>&#8221;<br \/>\n  data-busy: &#8220;<red>Spelerdata is bezig. Probeer het binnenkort opnieuw.<\/red>&#8221;<br \/>\n  save-error: &#8220;<red>Er is een fout opgetreden tijdens het opslaan van gegevens. Controleer de console.<\/red>&#8221;<br \/>\n  invalid-player: &#8220;<red>Ongeldige spelersnaam.<\/red>&#8221;<\/p>\n<p>  # Migratie berichten<br \/>\n  migration-data-incompatible: &#8220;<yellow>Waarschuwing: je Ender Chest data is niet compatibel met de nieuwe serverversie (1.21.5+).&#8221;<br \/>\n  migration-data-cleared: &#8220;<yellow>Je Ender Chest is gereset vanwege incompatibiliteit. Oude gegevens zijn nog steeds bewaard in de database.&#8221;<br \/>\n  migration-contact-admin: &#8220;<gray>Neem contact op met een admin als je de items wilt herstellen.&#8221;<br \/>\n  data-migrated: &#8220;<green>Your enderchest data has been migrated to your new account.&#8221;<\/p>\n<p>  # Overflow berichten<br \/>\n  overflow-items-saved: &#8220;<yellow>\u26a0 Sommige items die buiten uw toestemming vallen, zijn opgeslagen in de overflow-opslag.&#8221;<br \/>\n  overflow-will-restore: &#8220;<gray>Ze worden automatisch hersteld wanneer je je Ender Chest upgradet.&#8221;<br \/>\n  overflow-items-restored: &#8220;<green>\u2713 <count> Items uit de overflow-opslag hersteld!&#8221;<\/p>\n<p>command:<br \/>\n  usage: &#8220;<red>Gebruik: <gray>\/<label> <usage>&#8221;<br \/>\n  player-not-found: &#8220;<red>Speler &#8216;<player>&#8216; niet gevonden of heeft geen gegevens.&#8221;<br \/>\n  delete-usage: &#8220;<red>Gebruik: <gray>\/<label> delete <player>&#8221;<br \/>\n  delete-success: &#8220;<green>Succesvol de Ender Chest van <white><player><\/white> verwijderd.&#8221;<br \/>\n  loading-chest: &#8220;<yellow>Ender Chest van <white><player><\/white> wordt geladen&#8230;&#8221;<br \/>\n  import-usage: &#8220;<red>Usage: <gray>\/<label> import <vanilla>&#8221;<br \/>\n  import-invalid-type: &#8220;<red>Invalid import type. Use: <gray>vanilla&#8221;<br \/>\n  migrate-usage: &#8220;<yellow>Usage: <gray>\/cec migrate <yml|h2|mysql> <yml|h2|mysql>&#8221;<br \/>\n  migrate-example: &#8220;<gray>Example: \/cec migrate yml mysql&#8221;<br \/>\n  migrate-running: &#8220;<red>Another migration process is currently running. Please wait!&#8221;<br \/>\n  migrate-same-type: &#8220;<red>Source and target formats cannot be the same.&#8221;<br \/>\n  migrate-init: &#8220;<yellow>Initializing database connection&#8230;&#8221;<br \/>\n  migrate-conn-source-err: &#8220;<red>Error connecting to source format. Migration cancelled.&#8221;<br \/>\n  migrate-conn-target-err: &#8220;<red>Error connecting to target format. Migration cancelled.&#8221;<br \/>\n  migrate-start: &#8220;<yellow>Starting data migration from<source>to <target>&#8230;&#8221;<br \/>\n  migrate-no-data: &#8220;<red>No data found to migrate.&#8221;<br \/>\n  migrate-success: &#8220;<green>Data migration complete! Success: <success>\/<total>, Failed: <failed>&#8221;<br \/>\n  migrate-note: &#8220;<yellow>\u26a0 Note: <white>To use the migrated data, stop the server, update the storage type in config.yml, then start the server again.&#8221;<br \/>\n  migrate-error-unknown: &#8220;<red>An unknown error occurred during migration. Check Console for details.&#8221;<br \/>\n  migrate-in-progress: &#8220;<red>System is undergoing data maintenance (migration), you cannot open the chest right now!&#8221;<\/p>\n<p>titles:<br \/>\n  enderchest: &#8220;<level> &#8211; <light_purple><player>&#8216;s Kist&#8221;<br \/>\n  admin_view: &#8220;<dark_red>Admin Overzicht: <white><player>&#8221;<\/p>\n<p>levels:<br \/>\n  &#8216;0&#8217;: &#8220;&#038;fLevel 1&#8221; # 1 rij (9 slots)<br \/>\n  &#8216;1&#8217;: &#8220;&#038;aLevel 2&#8221; # 2 rij (18 slots)<br \/>\n  &#8216;2&#8217;: &#8220;&#038;bLevel 3&#8221; # 3 rij (27 slots)<br \/>\n  &#8216;3&#8217;: &#8220;&#038;eLevel 4&#8221; # 4 rij (36 slots)<br \/>\n  &#8216;4&#8217;: &#8220;&#038;6Level 5&#8221; # 5 rij (45 slots)<br \/>\n  &#8216;5&#8217;: &#8220;&#038;d&#038;lLevel 6&#8221; # 6 rij (54 slots)<\/p>\n<p>import:<br \/>\n  started: &#8220;<green>Starting vanilla ender chest import for all online players&#8230;&#8221;<br \/>\n  complete: &#8220;<green>Import complete! <white><imported><\/white> players imported, <white><skipped><\/white> skipped.&#8221;<br \/>\n  auto-import-started: &#8220;<yellow>Auto-importing your vanilla ender chest items&#8230;&#8221;<br \/>\n  auto-import-complete: &#8220;<green>Auto-import complete! <white><count><\/white> items imported from vanilla ender chest.&#8221;<br \/>\n  auto-import-failed: &#8220;<red>Failed to auto-import your vanilla ender chest data. Please contact an admin.&#8221;<\/p>\n<p>&#8220;`<br \/>\n<\/details>\n<details>\n<summary>Click to view lang\/lang_zhcn.yml<\/summary>\n<p>&#8220;`<br \/>\n# \u6240\u6709\u6d88\u606f\u7684\u524d\u7f00<br \/>\nprefix: &#8220;<gray>[<gradient:#C0FFEE:#B4D0FF>EnderChest<\/gradient>]<\/gray> &#8221;<br \/>\nmessages:<br \/>\n  no-permission: &#8220;<red>\u4f60\u6ca1\u6709\u6743\u9650\u4f7f\u7528\u8fd9\u4e2a\u3002<\/red>&#8221;<br \/>\n  no-permission-block-open: &#8220;<red>You don&#8217;t have permission to open the Ender Chest by clicking on it.<\/red>&#8221;<br \/>\n  players-only: &#8220;<red>\u8be5\u547d\u4ee4\u53ea\u80fd\u7531\u73a9\u5bb6\u6267\u884c\u3002<\/red>&#8221;<br \/>\n  reload-success: &#8220;<green>\u914d\u7f6e\u4e0e\u8bed\u8a00\u6587\u4ef6\u91cd\u8f7d\u5b8c\u6bd5\u3002<\/green>&#8221;<br \/>\n  data-still-loading: &#8220;<yellow>\u6570\u636e\u4ecd\u5728\u8f7d\u5165\uff0c\u8bf7\u7a0d\u5019&#8230;<\/yellow>&#8221;<br \/>\n  data-busy: &#8220;<red>\u73a9\u5bb6\u6570\u636e\u5e93\u7e41\u5fd9\uff0c\u8bf7\u7a0d\u540e\u518d\u8bd5\u3002<\/red>&#8221;<br \/>\n  save-error: &#8220;<red>\u4fdd\u5b58\u6570\u636e\u65f6\u51fa\u9519\uff0c\u8bf7\u68c0\u67e5\u63a7\u5236\u53f0\u3002<\/red>&#8221;<br \/>\n  invalid-player: &#8220;<red>\u73a9\u5bb6\u540d\u79f0\u65e0\u6548\u3002<\/red>&#8221;<br \/>\n  # \u8fc1\u79fb\u76f8\u5173\u6d88\u606f<br \/>\n  migration-data-incompatible: &#8220;<yellow>\u8b66\u544a\uff1a\u672b\u5f71\u7bb1\u6570\u636e\u4e0e\u65b0\u670d\u52a1\u5668\u7248\u672c\uff081.21.5+\uff09\u4e0d\u517c\u5bb9\u3002&#8221;<br \/>\n  migration-data-cleared: &#8220;<yellow>\u51fa\u4e8e\u517c\u5bb9\u6027\u8003\u8651\uff0c\u4f60\u7684\u672b\u5f71\u7bb1\u6570\u636e\u5df2\u88ab\u91cd\u7f6e\u3002\u65e7\u6570\u636e\u4ecd\u7136\u4fdd\u7559\u5728\u6570\u636e\u5e93\u4e2d\u3002&#8221;<br \/>\n  migration-contact-admin: &#8220;<gray>\u82e5\u9700\u8981\u6062\u590d\u4e22\u5931\u7684\u7269\u54c1\uff0c\u8bf7\u8054\u7cfb\u7ba1\u7406\u5458\u3002&#8221;<br \/>\n  data-migrated: &#8220;<green>Your enderchest data has been migrated to your new account.&#8221;<br \/>\n  # \u6ea2\u51fa\u76f8\u5173\u6d88\u606f<br \/>\n  overflow-items-saved: &#8220;<yellow>\u26a0 \u90e8\u5206\u5f53\u524d\u6743\u9650\u4e0d\u80fd\u5b58\u53d6\u7684\u7269\u54c1\u5df2\u8f6c\u79fb\u5230\u6ea2\u51fa\u4ed3\u5e93\u3002&#8221;<br \/>\n  overflow-will-restore: &#8220;<gray>\u5347\u7ea7\u672b\u5f71\u7bb1\u540e\u4f1a\u81ea\u52a8\u56de\u5230\u666e\u901a\u4ed3\u5e93\u4e2d\u3002&#8221;<br \/>\n  overflow-items-restored: &#8220;<green>\u2713 \u6210\u529f\u4ece\u6ea2\u51fa\u4ed3\u5e93\u4e2d\u53d6\u56de\u4e86 <count> \u4e2a\u7269\u54c1\uff01&#8221;<br \/>\ncommand:<br \/>\n  usage: &#8220;<red>\u547d\u4ee4\u7528\u6cd5\uff1a<gray>\/<label> <usage>&#8221;<br \/>\n  player-not-found: &#8220;<red>\u73a9\u5bb6 &#8216;<player>&#8216; \u672a\u627e\u5230\u6216\u6ca1\u6709\u6570\u636e\u3002&#8221;<br \/>\n  delete-usage: &#8220;<red>\u547d\u4ee4\u7528\u6cd5\uff1a<gray>\/<label> delete <player>&#8221;<br \/>\n  delete-success: &#8220;<green>\u6210\u529f\u5220\u9664\u4e86\u73a9\u5bb6 <white><player><\/white> \u7684\u672b\u5f71\u7bb1\u6570\u636e\u3002&#8221;<br \/>\n  loading-chest: &#8220;<yellow>\u6b63\u5728\u8f7d\u5165 <white><player> \u7684<\/white> \u672b\u5f71\u7bb1&#8230;&#8221;<br \/>\n  import-usage: &#8220;<red>Usage: <gray>\/<label> import <vanilla>&#8221;<br \/>\n  import-invalid-type: &#8220;<red>Invalid import type. Use: <gray>vanilla&#8221;<br \/>\n  migrate-usage: &#8220;<yellow>Usage: <gray>\/cec migrate <yml|h2|mysql> <yml|h2|mysql>&#8221;<br \/>\n  migrate-example: &#8220;<gray>Example: \/cec migrate yml mysql&#8221;<br \/>\n  migrate-running: &#8220;<red>Another migration process is currently running. Please wait!&#8221;<br \/>\n  migrate-same-type: &#8220;<red>Source and target formats cannot be the same.&#8221;<br \/>\n  migrate-init: &#8220;<yellow>Initializing database connection&#8230;&#8221;<br \/>\n  migrate-conn-source-err: &#8220;<red>Error connecting to source format. Migration cancelled.&#8221;<br \/>\n  migrate-conn-target-err: &#8220;<red>Error connecting to target format. Migration cancelled.&#8221;<br \/>\n  migrate-start: &#8220;<yellow>Starting data migration from<source>to <target>&#8230;&#8221;<br \/>\n  migrate-no-data: &#8220;<red>No data found to migrate.&#8221;<br \/>\n  migrate-success: &#8220;<green>Data migration complete! Success: <success>\/<total>, Failed: <failed>&#8221;<br \/>\n  migrate-note: &#8220;<yellow>\u26a0 \u6ce8\u610f\uff1a<white>\u8fc1\u79fb\u5b8c\u6210\u540e\uff0c\u8bf7\u5173\u95ed\u670d\u52a1\u5668\uff0c\u5728 config.yml \u4e2d\u4fee\u6539\u5b58\u50a8\u7c7b\u578b\uff0c\u7136\u540e\u91cd\u65b0\u542f\u52a8\u670d\u52a1\u5668\u4ee5\u4f7f\u7528\u8fc1\u79fb\u540e\u7684\u6570\u636e\u3002&#8221;<br \/>\n  migrate-error-unknown: &#8220;<red>An unknown error occurred during migration. Check Console for details.&#8221;<br \/>\n  migrate-in-progress: &#8220;<red>System is undergoing data maintenance (migration), you cannot open the chest right now!&#8221;<br \/>\ntitles:<br \/>\n  enderchest: &#8220;<level> &#8211; <light_purple><player> \u7684\u7bb1\u5b50&#8221;<br \/>\n  admin_view: &#8220;<dark_red>\u7ba1\u7406\u5458\u6d4f\u89c8\uff1a<white><player>&#8221;<br \/>\nlevels:<br \/>\n  &#8216;0&#8217;: &#8220;&#038;f\u4e00\u9636&#8221; # 1 \u884c\uff089 \u683c\uff09<br \/>\n  &#8216;1&#8217;: &#8220;&#038;a\u4e8c\u9636&#8221; # 2 \u884c\uff0818 \u683c\uff09<br \/>\n  &#8216;2&#8217;: &#8220;&#038;b\u4e09\u9636&#8221; # 3 \u884c\uff0827 \u683c\uff09<br \/>\n  &#8216;3&#8217;: &#8220;&#038;e\u56db\u9636&#8221; # 4 \u884c\uff0836 \u683c\uff09<br \/>\n  &#8216;4&#8217;: &#8220;&#038;6\u4e94\u9636&#8221; # 5 \u884c\uff0845 \u683c\uff09<br \/>\n  &#8216;5&#8217;: &#8220;&#038;d&#038;l\u516d\u9636&#8221; # 6 \u884c\uff0854 \u683c\uff09<\/p>\n<p>import:<br \/>\n  started: &#8220;<green>Starting vanilla ender chest import for all online players&#8230;&#8221;<br \/>\n  complete: &#8220;<green>Import complete! <white><imported><\/white> players imported, <white><skipped><\/white> skipped.&#8221;<br \/>\n  auto-import-started: &#8220;<yellow>Auto-importing your vanilla ender chest items&#8230;&#8221;<br \/>\n  auto-import-complete: &#8220;<green>Auto-import complete! <white><count><\/white> items imported from vanilla ender chest.&#8221;<br \/>\n  auto-import-failed: &#8220;<red>Failed to auto-import your vanilla ender chest data. Please contact an admin.&#8221;<\/p>\n<p>&#8220;`<br \/>\n<\/details>\n<p>## Installation<br \/>\n1. Download the latest version.<br \/>\n2. Place the .jar file into your server&#8217;s plugins folder.<br \/>\n3. Start your server to generate the default configuration files.<br \/>\n4. Stop the server, edit config.yml and lang\/lang_en.yml to your liking.<br \/>\n5. Start your server again. Done!<\/p>\n<p>## Support<br \/>\nIf you have any questions or need support, please use the discussion thread or discord: https:\/\/discord.gg\/sGZ2QSMDEg.<\/p>\n<p>![bStats](https:\/\/bstats.org\/plugin\/bukkit\/CustomEnderChest-NextGen\/)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A plugin to open your personal Ender Chest using \/ec or \/cec, allows you to open\/delete\/add items  and more.<\/p>\n","protected":false},"featured_media":52750,"template":"","meta":{"_minecraft_slug":"custom-ender-chest","_minecraft_project_id":"AipGDIso","_minecraft_author":"maiminhdung","_minecraft_license":"CC-BY-NC-SA-4.0","_minecraft_downloads":3646,"_minecraft_follows":11,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"custom-ender-chest.zip","_minecraft_size_bytes":41000671,"_minecraft_version_count":14,"_minecraft_updated_at":"2026-05-16T04:39:06.131605Z","_minecraft_date_created":"2025-07-29T01:23:19.485823Z","_minecraft_date_modified":"2026-04-17T14:03:00.615076Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/custom-ender-chest","_minecraft_icon_attachment_id":52750,"_minecraft_imported_at":"2026-06-02T22:00:06+00:00","_minecraft_import_hash":"9342a63d680c72ece46ee1ecd4c0c207","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[87,88,125,89,126,127,128,91,123,869,92],"mod_loader":[131,132,133],"minecraft_version":[59,36,60,93,94,101,102,62,37,40,41,73,74,38,78,79,80,81,82,83,167,163],"class_list":["post-52749","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-adventure","mod_category-equipment","mod_category-folia","mod_category-game-mechanics","mod_category-management","mod_category-paper","mod_category-purpur","mod_category-storage","mod_category-technology","mod_category-transportation","mod_category-utility","mod_loader-folia","mod_loader-paper","mod_loader-purpur","minecraft_version-1-20","minecraft_version-1-20-1","minecraft_version-1-20-2","minecraft_version-1-20-3","minecraft_version-1-20-4","minecraft_version-1-20-5","minecraft_version-1-20-6","minecraft_version-1-21","minecraft_version-1-21-1","minecraft_version-1-21-10","minecraft_version-1-21-11","minecraft_version-1-21-2","minecraft_version-1-21-3","minecraft_version-1-21-4","minecraft_version-1-21-5","minecraft_version-1-21-6","minecraft_version-1-21-7","minecraft_version-1-21-8","minecraft_version-1-21-9","minecraft_version-26-1","minecraft_version-26-1-1","minecraft_version-26-1-2"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Custom Ender Chest - Minecraft<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vpesports.com\/minecraft\/mods\/custom-ender-chest\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Custom Ender Chest - Minecraft\" \/>\n<meta property=\"og:description\" content=\"A plugin to open your personal Ender Chest using \/ec or \/cec, allows you to open\/delete\/add items and more.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/custom-ender-chest\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"16 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/custom-ender-chest\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/custom-ender-chest\\\/\",\"name\":\"Custom Ender Chest - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/custom-ender-chest\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/custom-ender-chest\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/custom-ender-chest-icon-ac9c0b104245c66ace8ef8a867c78f1e20485fc3_96.webp\",\"datePublished\":\"2026-06-02T22:00:04+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/custom-ender-chest\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/custom-ender-chest\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/custom-ender-chest\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/custom-ender-chest-icon-ac9c0b104245c66ace8ef8a867c78f1e20485fc3_96.webp\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/custom-ender-chest-icon-ac9c0b104245c66ace8ef8a867c78f1e20485fc3_96.webp\",\"width\":96,\"height\":96},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/custom-ender-chest\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mods\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Custom Ender Chest\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\",\"name\":\"Minecraft\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Custom Ender Chest - Minecraft","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vpesports.com\/minecraft\/mods\/custom-ender-chest\/","og_locale":"en_US","og_type":"article","og_title":"Custom Ender Chest - Minecraft","og_description":"A plugin to open your personal Ender Chest using \/ec or \/cec, allows you to open\/delete\/add items and more.","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/custom-ender-chest\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"16 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/custom-ender-chest\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/custom-ender-chest\/","name":"Custom Ender Chest - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/custom-ender-chest\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/custom-ender-chest\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/custom-ender-chest-icon-ac9c0b104245c66ace8ef8a867c78f1e20485fc3_96.webp","datePublished":"2026-06-02T22:00:04+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/custom-ender-chest\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/custom-ender-chest\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/custom-ender-chest\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/custom-ender-chest-icon-ac9c0b104245c66ace8ef8a867c78f1e20485fc3_96.webp","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/custom-ender-chest-icon-ac9c0b104245c66ace8ef8a867c78f1e20485fc3_96.webp","width":96,"height":96},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/custom-ender-chest\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vpesports.com\/minecraft\/"},{"@type":"ListItem","position":2,"name":"Mods","item":"https:\/\/vpesports.com\/minecraft\/mods\/"},{"@type":"ListItem","position":3,"name":"Custom Ender Chest"}]},{"@type":"WebSite","@id":"https:\/\/vpesports.com\/minecraft\/#website","url":"https:\/\/vpesports.com\/minecraft\/","name":"Minecraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vpesports.com\/minecraft\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod\/52749","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod"}],"about":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/types\/mod"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media\/52750"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=52749"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=52749"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=52749"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=52749"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}