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
Just one more feature to add to 0.10: the save queue.
The changelog will be:
As you can see, these features are still missing:
@the55anon
OK. Will do this tomorrow.
I will also implement a save queue and the default chest, and then, if I can't find any bugs, I will release 0.10. (See the FAQ page for the other upcoming features.)
Any way to disable the "This is a public chest, protect it with lockette to get a private one" message?
I do use lockette, but I do not allow my players to have private enderchests. Then, this message causes some confusion.
@diggormortis
I'm sure that a lot of features will also work without needing external saving. I think that it is just a matter of time before someone else makes something similar.
But for this project I really need external saving. Some features that would be impossible/difficult without external saving:
@rutgerkok
I'm curious about the need to have the inventory saved externally. To get public chests, could you just have everyone access one player's enderchest inventory? Like, say, the server admin's?
@diggormortis
Strange. The plugin can save many chests on my computer without interrupting the server. Asynchronous saving is not really an option (Inventories are not thread safe, so it would require lots of code to get around this), but I can do these two things:
@diggormortis
It is this mod, and it is part of Tekkit, I believe. Both the mod and the vanilla chest were based on a suggestion on Reddit.
@electrose
What, pray tell, is the name of this mod, O helpful one?
If I set processor affinity for my server and client, which greatly improves performance, the server hangs during BEC's autosave until I set affinity to all CPUs again.
Any chance we could have an autosave that doesn't do this or that can be turned off?
I'm only using this plugin for the public chest feature, as we have a small server of cooperative players. Ideally Mojang would have left the chests as they were to begin with, or made splitting the chests an optional thing, but the former would have made a mess of most servers, while the latter... well... maybe it just made too much sense or something.
@Maddis1337
This will most likely be my approach:
There will be a rowsDefault config option, a rowsUpgrade1 and a rowsUpgrade2 option, along with the betterenderchest.rows.upgrade1 and betterenderchest.rows.upgrade2 permissions. I think that no server needs more than three different sizes, but I could expand it a little more.
Also, when someone with a high rank shares his/her chest, other users should see the extra rows - even if the owner is offline and no permission checks can be made. So I need to save the number of rows, and when the owner opens the chest, the plugin should verify that the saved number of rows is still correct. If the owner is promoted, the chest should expand, and when the owner is demoted the chest should get smaller, dropping all items that don't fit anymore.
It would be nice if i can have the rows in permission form. So I can have regular users have the standard 3 rows but donators have more then that. The only way I can think of to do that would be permission nodes. Maybe something like betterenderchest.size, or have a max/min set in the config and have perms to those like betterenderchest.max/min
@rutgerkok
Great! I will wait for the update :) I would like to set variable sizes of enderchests based on permission(groups) so that vips get a bigger one than the regular users
@Maddis1337
(Sorry for the late response, I had some computer troubles)
--
defaultchest.dat that get's loaded when the plugin doesn't find a Ender Chest?Hi there, two questions: 1. I would like to set default content to an enderchest, like a little starter kit for newbies. Is that possible or could you implement it? 2. Does the converter work in both ways? " but it won't convert it back.To keep the contents of your Ender Chests when uninstalling this plugin you will have to run this little converter." Is kind of a strange sentence... :P
(3. what about mysql support? Would be a good way to backup the chests automatically)
@arkdengal
I just used a few basic javax.swing classes without thinking about the behind-the-scenes magic. From my two-minutes-research, I understand that you need a converter without a GUI.
Doesn't sound too difficult to make.
EDIT: it's done (hopefully, haven't tested on a system without GUI support). See the converter page for more details.
please change the converter so it doesnt use X11(or make a seperate 1), i cant convert on my rhel linux :( and i would really like to use this plugin.
Thanks!
@aehooo
Yes. Enable the public Ender Chest in the config file, and don't add the Ender Chest to the LWC/Lockette custom blocks list (if you have those plugins installed). Now all unprotected Ender Chests are public, and there is no way to protect them.
@mobilephone2003
It's on my to-do list.
If you can make seperate chests per world (to stop people transferring things), I'm sold.
I would like to use this so there are no private enderchests on my server, like if it were only one enderchest and everybody would only be able to use it, same contents for everybody.
Is there a way for me to use this plugin to achieve this result?
@arkdengal
Yep. Next version will include auto-converting. It didn't made it to Beta 0.9 (still has to be approved) because there was an important bug with enchantments that needed to be fixed.
BUKKIT-2016 has been resolved player.getEnderInventory() method is now available XD