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
@xtechgamer735
Which version are you using? 2.2.5 has the following note: "This build will work on Minecraft 1.7.10 servers only. (The version in the sidebar is wrong. Minecraft 1.7.10 cannot be selected yet, so I had to select something else.)"
@TheJamiePatrol
Bukkit limits me in what type I can choose. Here the chest is created. I think it uses some generic type. You can check for a BetterEnderChest with
if(inventory.getHolder() instanceof BetterEnderInventoryHolder)
or, if you don't want to add BetterEnderChest.jar to your build path,if(inventory.getHolder() != null && inventory.getHolder().getClass().getName().contains("BetterEnder"))
Hi,
I am getting this error. http://pastebin.com/8HUVryBa. It says I have the wrong version of minecraft, but this is incorrect. I am running 1.7.9 (as per file suggestion).
@rutgerkok I am making a small personal plugin to stop the movement of curtain items in any inventory screen other than their own inventory (2x2 crafting area) and enderchests. By exempting endercehsts in the code it was working however using BEC stops this working. I am assuming you are using a different inventory type. Could I ask what one this is as I can't seem to dig it up myself. I am not brilliant at java! Just need to know what inventory type I ahve to allow to let them move thease items around your enderchests! Thanks for the help,
Jamie
@enkrypts
BetterEnderChest doesn't save chests until there are actually items placed in it. If there are items in it, you can delete the chest from the database to import the chest again (items put into the new chest will be lost) or you can open the old chest in INVEdit and refund items manually. It is not possible to merge inventories automatically. :(
I have around 700 chests that have not been converted however they have opened their chest since then, therefore a new file has been generated. What can I do? How can I easily convert all of these unconverted chests without them loosing their stuff. Please pm me or answer, have lots of people to fix! Thanks again for your time and effort in developing this plugin!
Thnx for the fix, In the meantime i already wrote a parser to convert all NBT files to the sql database so im not using the import anymore, without using the import the code doesn't have to check the old files the whole time
Thank you for adding the feauture to save chests on logout in 2.3
@SkyPrison
Thanks, error is now fixed in the source code. I hope to upload a build to BukkitDev soon, but first I need to fix another issue.
You can set the autosave period to a low value (a second or two for example). BetterEnderChest doesn't save unchanged chests, so this won't cause lag. It is not possible yet to save automatically on logout. I will add this for 2.3.
Is it possible to unload chests from the memory and save them to the disk/sql on logout?
Here's my problem: I use sql as a storage with 2 servers connected to have them share an enderchest, but when you open the chest on 1 server and make changes they aren't directly written to the sql, if you make a change in your enderchest, close it, change servers, and open your enderchest, you can take out your items, wait a few minutes and your enderchest is like it was on the other server, thus duping the items inside.
I updated and changed the storing method to sql again, now this error keeps popping up in the console:
http://paste.thezomg.com/14569/06213786/
ah thnx
@SkyPrison
You're running 2.2.1. That error was fixed in 2.2.3. :)
@ArSkHelios You can add a converter option in your config file, everything is explained here: https://github.com/rutgerkok/BetterEnderChest/wiki/Configuration#imports
@rutgerkok
How do you convert from flatfile to MySQL?
I switched the database to sql, but now i get this error stack when opening some chests:
http://paste.thezomg.com/14500/57735361/
any idea what goes wrong?
@manbehindbars
Make sure that the version of BetterEnderChest matches the version on the server.
2.2.4 is for MC 1.7.10
2.2.3 is for MC 1.7.9 or 1.7.8
2.1.5 is for MC 1.7.5
2.1.4 is for MC 1.7.2
etc.
Hello, i got your plugin thinking it could be a great thing to have. Especially for donator ranks and what not. But now everyway i try to use an enderchest. This pops up. "ENDER_CHESTS_DISABLED: Ender Chests have been disabled, because chests cannot be saved or loaded. Ask the admin of this server to look in the console." Please help i can figure the rest out.
Also, in the console it says. "17.07 14:02:11 [Server] ERROR -
------------ -"And 17.07 14:02:11 [Server] ERROR BetterEnderChest doesn't work on this version of Minecraft 17.07 14:02:11 [Server] ERROR (Use "/bec reload" to try again to save and load.) 17.07 14:02:11 [Server] ERROR Saving and loading had to be disabled. Here's the error again: 17.07 14:02:11 [Server] ERROR -
------------ - 17.07 14:02:11 [Server] ERROR ------------- -I tried reloading but it didn't work. It said an internal error occured.
@SkyPrison
Answered in a PM sent by Jan Willem.
another question, If i got it right the converter only converts when someone opens their chest and it's empty. Is there any way to convert all chests?
I tried just opening all chests with the converter on, but if the file is saved in flatfile it just opens it and doesn't save it in the mysql afterwards (it did work when i added an item to it)
Here's what i need it for: im changing to mysql to have enderchests work on 2 servers, but if the player opens the chest first on the other server it won't be converted because it will create an empty chest
@rutgerkok
Okay, I see the not converted chests - How do I convert them now that some have already been converted?
Didn't have much time for BetterEnderChest, sorry for the late replies.
@CullanP
Just tried it, it works fine. Using flatfile and online-mode.
@AlwaysPvP
Would it be possible to send me the raw data of that chest? Should be saved with the UUID
bcdd62ef7-8ae4-684a-6f17-7d0ddedef41
@enkrypts
You're not using SQL? There should be a subfolder called
chests_NOT_CONVERTED
in the BetterEnderChest folder with all unconverted chests.It's also possible that the files got corrupted. Look up the UUID of one of the players that is missing the chest data (I personally use Fishbans for this, it displays the UUID) and check what's in the file. Any NBT editor (I use NBTExplorer) should be able to open it.
@xVaasx
Yes, deny the permission node
betterenderchest.user
for normal users. How this works depends on the permission system, but it should be easy to Google.