BetterEnderChest
Secure and configurable Ender Chests! Disable the Ender Chest for certain players, while giving others more rows. Let your players protect their Ender Chest with Lockette and LWC, and let them share their chest. Give some players access to the /enderchest command to open their chest from anywhere. Give your mods the ability ot open anyone's Ender Chest. Ender Chests can be separated between world groups.
BetterEnderChest 2.2
Quote:Spigot 1.8
All updates for Spigot 1.8 won't be posted here, but on the Spigot forums instead: http://www.spigotmc.org/resources/betterenderchest.2073/
See you there!
This plugin makes Ender Chests secure and configurable. Disable the Ender Chest for certain players, while giving others more rows. Let your players protect their Ender Chest with Lockette and LWC, and let them share their chest to their friends in the same way they are already doing that with normal chests. Give some players access to the /enderchest
command to open their chest from anywhere. Give your mods the ability ot open anyone's Ender Chest. Ender Chests can be separated between world groups, so that the plugin is also usable on servers with separated inventories.
Some features required saving the Ender Chests in a separate file. The plugin automatically imports from vanilla, MultiInv, Multiverse-Inventories and WorldInventories, and there is a converter to convert back to vanilla.
Mojang.com UUID conversion
BetterEnderChest 2.2.* automatically converts names to UUIDs. To achieve this, BetterEnderChest uses evilmidget38's UUIDFetcher, which was modified a little bit. This requires access to https://api.mojang.com
. In BetterEnderChest 2.2.1, it is possible to continue using names instead of UUIDs, so that no access to mojang.com is needed. Set useUUIDs
to false
in the config.yml. However, you need to enable this option before any chests are converted, otherwise items will be lost.
For more information, see this wiki page.
whitespace hack
Features
Lockette and LWC integration
Uses Lockette signs or LWC protection so that you can allow other people/groups in your chest. When a chest is protected by you, and if someone else is allowed in your chest, he/she will see your items instead of his/her own items. This is completely optional. To enable this, simply add the Ender Chest to your LWC/Lockette custom block list. (See the installation instructions.)
whitespace hack
Public Ender Chest
Optional: unprotected (by Lockette and LWC) chests are public chests. If you don't add the Ender Chest to the custom block list of those plugins, or if you haven't installed them, there will be no way of making private chests.
whitespace hack
MySQL support
Running multiple servers in one network? BetterEnderChest supports MySQL as of version 2.1. If you use the same database and world group, chests will be shared. Flatfile is also supported, so don't worry if you don't have a database.
whitespace hack
Commands
Adds /enderchest
to open your Ender Chest from anywhere. Only for ops by default. It also adds a few useful administrative commands to open and manage the Ender Chest inventories. Commands work even when the owner of the inventory is offline.
whitespace hack
Chest customization
You can set the number of slots in the chest to make the Ender Chest not too overpowered. Players can have different chest sizes based on permissions. No client mods needed. You can also set the drops of the chest (nothing, itself, 8 obsidian, an Eye of Ender (with or without 8 obsidian), or with an Ender Pearl (with or without 8 obsidian) ).
whitespace hack
Multiworld support
Inventories can be separated between worlds, so that for example you creative worlds can have different Ender Chest inventories than your survival worlds, or your Nether world can have other Ender Chest inventories than the surface world. On installation, BetterEnderChest will automatically copy the group structure from your current inventory seperation plugin, if you have one. It is possible to setup another structure in BetterEnderChest than in the inventory seperation plugin. This can be used to create very interesting ways of transporting items between worlds and even servers.
whitespace hack
Default Ender Chest
You can have a default chest that all new players get when opening their Ender Chest for the first time. Edit it with /bec openinv --
defaultchest or a NBT editor. Changes will be applied after the next (auto)save. Each worldgroup has a different default chest.
whitespace hack
Save file format
The plugin has it's own saving/loading mechanics, either using NBT files or MySQL. This is necessary to make some of the features possible. The plugin automatically imports an Ender Chest when it is opened for the first time. The owner of the Ender Chest doesn't need to be online for this. The importer supports vanilla as well as some other plugins (MultiInv, Multiverse-Inventories and WorldInventories).
It doesn't save too often: every five minutes all changed chests are added to a save queue. You can set how fast chest in the save queue get saved.
whitespace hack
Installation and configuration
Just drop the plugin in the plugins folder. Most features will be disabled by default. Read the guide for starters here or read here about every configuration option.
whitespace hack
Permissions
You can view a complete list of the permissions here. The basic permissions are:
betterenderchest.user
- build, craft, open and destroy Ender Chest. Given to everyone by default.betterenderchest.command
- use all commands. Operators automatically get this permission.betterenderchest.command.openinv.self
- just the permission to open your own Ender Chest (or the public one, as defined in the config.yml) from anywhere using/enderchest
or/betterenderchest openinv
.betterenderchest.slots.upgrade1
- get the number of slots in the Ender Chest as defined in the config.yml.betterenderchest.slots.upgrade2
- get the number of slots in the Ender Chest as defined in the config.yml.
whitespace hack
Commands
<required argument> [optional argument]
- /betterenderchest deleteinv <player> - delete all items in someone's Ender Chest.
- /betterenderchest give <player> <item> [amount] [damage-value] - give an item to an Ender Chest inventory.
- /betterenderchest list - list all cached Ender Chest inventories. Useful for debugging.
- /betterenderchest openinv [player] - open an Ender Chest remotely.
- /betterenderchest viewinv <player> - view anyone's Ender Chest from anywhere. Editing is disabled.
- /betterenderchest reload - reload the configuration.
- /betterenderchest swapinv <player1> <player2> - swap two Ender Chests.
- /enderchest [player] - alias for /betterenderchest openinv [player]
Tips:
- Instead of typing /betterenderchest you could also type /bec.
- As seen in the permissions section above, it is possible to allow /enderchest but disallow /enderchest [player].
- /enderchest and /betterenderchest openinv (without the playername) normally open your own Ender Chest, but there is a setting in the config.yml to open the public Ender Chest instead.
- Use
--
publicchest as a player name to refer to the public Ender Chest, and use--
defaultchest for the default chest. - Use the syntax groupname/playername to open chests from another group. Example: /bec openinv cavegroup/Notch
whitespace hack
Translations
Not all messages can be translated yet, but the most common ones can. See here for more information, along with a premade Dutch translation file.
whitespace hack
Hey, when I upload my edited config and restart the server all the changes are saved apart from the default slot count, which I wish to set to 0, however after the restart seems to reset back to 27. What can I do to stop it, I have also tried doing /save-all before the restart and still doesn't work.
@rutgerkok
Version v2.1.2 does work. It was the updated version (v2.1.3) that seems to have a bug.
@MysteryOwner
Interesting. Is it fixed if you downgrade? Then we know there must be a bug in the latest BetterEnderChest release.
I am having the exact same issue as @MDRunaway. There is nothing in console, and all it tells me is EnderChests have been disabled, because they cannot save or load. Was working fine a few weeks ago, now it just stopped working. MySQL database is set up correctly, I have not touched any of the configs. It just randomly started giving me this message in chat.
@rutgerkok
There is no Error :o I downloadet the Server to my Local Homeserver, started it there and its working without problems but why is it bugging on the Hosted Servers?
@MDRunaway
There must be something in the console, otherwise the chests wouldn't be disabled. Keep in mind that the message may be posted when the server started. You may have had a corrupted chest, which caused BetterEnderChest to disable everything.
I'm syncing my Enderchests with this Plugin but on one Server get The Following ERROR: Ender Chests have been disabled, because chests cannot be saved or loaded. Ask the Admin of the Server to look into the console.
In the Console is nothing and all other servers with the Save Config work fine, Please help me i need it working :D
So that you have a BetterEnderChest chest and a vanilla Ender Chest at the same time? So that you can use the BetterEnderChest chest as a bank? Sounds like you need a virtual chest plugin, not a plugin that improves Ender Chests. There are many of them, some are a little outdated, so test first whether it still works.
hey i personaly love this plugin and need it very badly on my server, as a bank system, can you add an option in the config, to make it so that there is also a normal enderchest option, for example you have a private option, where you need a sign, then a public, where anyone can look in which i dont need need, i need a normal option where i can add more slots to the ender chest then 27. like the config part can be like:
--------Default normal slots: 27 enable normal chest: true/false--------For private enable a true or false option same with public. Do you know where im getting at. I need this for a bank plugin. i can have the public option and i cant have the private option. i need just more slots for the ender chest then a default number. :)Please and thank you.
@EqlipseD
This would be a nice feature, but I'm not going to add it for now. Adding this would be quite difficult, and it would make it much more difficult to maintain this plugin.
Just a suggestion, would it be possible to add "pages" to the enderchest? I only ask because if you go past a certain amount of slots it interferes with your normal inventory.
@BlackFing85
Yep. After installing the plugin, the only feature that is enabled for non-ops is a slightly different chest title, but you can change this back in the
translations-en.yml
file.@rutgerkok
Ok so I could disable everything but Chest customization?
@matagin
That shouldn't be to much. I made a small change to the code, which may improve performance a bit, especially when players log out frequently and there are a lot of files in the
world/players
directory.It's up to you if you want to change the config. If this setup works for you, you can keep it. Personally, I would add every world to one group and deny access to the chests in some worlds.
@stgram
The table engine shouldn't matter, but I will check it just to be sure.
@rutgerkok
I had 62 chests loaded when I ran /bec list. That's with 162 people online. Is that a lot? Do I need to change the settings again? I did have an issue in the past where the server hard drive ran out of space and files couldn't be saved. A large group of users lost their ranks with BEC permissions and they opened ender chests without their previous perms so it caused the ender chests to disable. I currently have DisableEnderchestsOnError set to false.
@rutgerkok
It is not a crash, just an exception, and it happens often, 38 times for an 11 hour period evenly distributed, like it is connected to the sync task. I am running Spigot, they are known to cause trouble from time to time.
I changed the mysql engine from innodb to MyISAM because I could not transfer them to another sql server innitially. Could this be it?
@BlackFing85
Almost all features are opt-in, and the few that remain can already be disabled, except one feature: the chest save system of BetterEnderChest. This is where the whole plugin is built on, almost every other feature depends on it.
@matagin
How many chests do you have loaded at once? (/bec list) If it are many many chests, then even checking the variable that indicates whether chests have been changed may cause some lag.
@stgram
You have probably deleted the table, which is why BetterEnderChest panicks. When you restart the server it will recreate those tables.
The proper way to prevent chest access is to deny the permission nodes
betterenderchest.user
(and maybebetterenderchest.command.openinv
) in those worlds. (How this works is different in each permission system, some use- ^betterenderchest.user
, some- -betterenderchest.user
and somebetterenderchest.user: false
, but you probably already know this.) You can then safely add those worlds to the lined world group, as nobody will ever open the chest.About that crash: is there any way to reproduce it? I never got that crash, and I also can't see any unsafe code in that class, so I must be overseeing something.
@rutgerkok
One more thing: Sometimes I would have 6 different worlds, 3 lined, and three separate. I use ender chests only in the three linked, which have been properly configured, but for the others the plugin searches for the default table, and when not found, locks everything. If I add a group for every map, I have to create empty tables too, which would remain empty as they are not really used. Could you please add an option to simply prevent opening of the chests in worlds not configured beforehand, instead of utilising the safelock mechanism?
I made the adjustments but every 600 seconds when autoSaveIntervalSeconds runs, the server freezes for a few seconds. I have debug enabled and it when it runs the autosave it lists a bunch of chests that were not saved because they were unchanged.
Is there a way to disable some features?