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
@stgram
Hmm, thanks, I will look into it.
@matagin
No need to move to MySQL, you can tune the settings a bit. You can set chestsPerSaveTick to 1, so that only one chest will be saved every 10 ticks.
Every time the plugin saves the enderchests it causes a lag spike on the server. I am using flat files and there are 3,406 of them. Here are my save settings.
AutoSave: autoSaveIntervalSeconds: 600 saveTickIntervalTicks: 10 chestsPerSaveTick: 3
Should I adjust these values? Is it time to move to mySQL?
@rutgerkok
Hey, have a look at that. http://pastebin.com/62LZyPkY
This is an outstanding plugin and goes above and beyond any others like it.
@rutgerkok
That is great, well not really sucks it wasn't working but great that it got fixed. I guess I was the first person to try and use the system this way to figure it out. Can't wait to get the update, this is the last thing standing between me and opening that half of the server.
@Ggladiator99
Finally found a bug: it was using the display name of the inventory to save the inventory, which doesn't always work, to say the least. This bug was only in the SQL mode.
Commit on Github
I uploaded a new file to BukkitDev, it is currently waiting on approval.
@rutgerkok
I have tried what you have said, I have placed items in the inv of chest1 on server1 and then waited 10 seconds then logged off for 10 seconds then went to server2 and the inv from chest1 isnt in there. Im not sure what im doing wrong, does it matter that I have the servers link with bungee? I have even changed the save time to 1 second and still nothing.
@Ggladiator99
Chest unloading is done based on whether the owner of the chest is online and whether the chest is currently open. Chunk loading has nothing to do with it.
@rutgerkok
Now is that based off of the chunks unloading or something within the plugin? I ask because for one of the servers the chests would be in a highly populated area thus not letting the chunks unload. is there anyway to make it so when the chest is opened it pulls from the database and not the cache?
@Ggladiator99
When the chest is already loaded, it won't load it from the database again. The player has to log out first, and then within 10 seconds the chest will get unloaded.
In your feature list you speak about using the MySQL data base setting for mutliserver enderchests, but in my testing I have found that it only pulls the inv for the stored enderchest in the data base on a reload/reboot. Here is my config file http://pastebin.com/uKfbeDwU can you tell me if I'm doing anything wrong if I am what or what the purpose of the MySQL data base is for?
@CaznowlSMP
When you claim a chest, you can allow other people in your chest. That's a feature, not a bug and it's clearly documented on this page. You even have to enable it first in the Lockette and LWC config files.
I found a derp and have sent you a pm as to not make the loophole public.
@flip284
Yeah, but for whatever reason you have set your import setting to
betterenderchest-mysqlnbt
, so it's trying to import from a database. Set it tovanilla
.http://pastie.org/8702629#36,37
@rutgerkok
hmm idk, its set to false http://pastie.org/8702629#1,21
@flip284
It seems like BetterEnderChest is trying to import chests from a MySQL database. BetterEnderChest cannot connect to the database. Maybe you accidentally set BetterEnderChest to import from a non-existant database?
I meant 1.7.2, but this error seems to be popping up for a few people:
http://pastie.org/8676390
@flip284
There is no Spigot for 1.7.4, only 1.7.2. For me BetterEnderChes works fine. Are you sure you have BetterEnderChest 2.1.2? If yes, is there an error in the console? Could you post your confg.yml? (Without the database connection settings, of course :) .)
There is errors for 1.7.4 on spigot.. It was fine before, i know a lot of plugins arnt updated for 1.7.4 yet though... Most of the big servers use spigot you should add some support :p because this plugin is an excellent must have.
@AJW_Goat Update to the newest version. That worked for me.