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
@nsound2006
From your error message:
"The 'InnoDB' feature is disabled; you need MySQL built with 'InnoDB' to have it working"
Your host should be able to fix this.
[23:05:06] [Server thread/INFO]: [BetterEnderChest] Enabling BetterEnderChest v2.2.5 [23:05:06] [Server thread/ERROR]: [BetterEnderChest] Error creating a connection with database java.sql.SQLException: The 'InnoDB' feature is disabled; you need MySQL built with 'InnoDB' to have it working at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95] at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95] at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95] at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95] at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95] at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2620) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95] at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2570) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95] at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:779) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95] at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:622) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95] at nl.rutgerkok.betterenderchest.mysql.SQLHandler.createGroupTable(SQLHandler.java:139) [BetterEnderChest.jar:?] at nl.rutgerkok.betterenderchest.mysql.BetterEnderSQLCache.<init>(BetterEnderSQLCache.java:52) [BetterEnderChest.jar:?] at nl.rutgerkok.betterenderchest.BetterEnderChestPlugin.loadIOServices(BetterEnderChestPlugin.java:493) [BetterEnderChest.jar:?] at nl.rutgerkok.betterenderchest.BetterEnderChestPlugin.onEnable(BetterEnderChestPlugin.java:572) [BetterEnderChest.jar:?] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:316) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95] at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:332) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:412) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95] at org.bukkit.craftbukkit.v1_7_R4.CraftServer.loadPlugin(CraftServer.java:476) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95] at org.bukkit.craftbukkit.v1_7_R4.CraftServer.enablePlugins(CraftServer.java:394) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95] at net.minecraft.server.v1_7_R4.MinecraftServer.n(MinecraftServer.java:360) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95] at net.minecraft.server.v1_7_R4.MinecraftServer.g(MinecraftServer.java:334) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95] at net.minecraft.server.v1_7_R4.MinecraftServer.a(MinecraftServer.java:290) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95] at net.minecraft.server.v1_7_R4.DedicatedServer.init(DedicatedServer.java:210) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95] at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:458) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95] at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95] [23:05:06] [Server thread/ERROR]: [BetterEnderChest] All Ender Chests are now locked to prevent potentially lost and duplicated items.
@Draver10
The reason is that this newer version of MultiInv is not compatible with this older version of BetterEnderChest. I understand that a large percentage of Minecraft servers is still on CraftBukkit 1.7.9 or 1.7.10, but providing support for 1.7.9, 1.7.10, 1.8.0, 1.8.3, 1.8.4, 1.8.5 and 1.8.6 is too much for me.
One workaround is to disable MultiInv integration; see here. (You'll need to set the inventory importer to
none
.)@rutgerkok
That's fine. I understand it's hard to make new stuff backwards compatible, the thing that irks me is it was working fine for months then just broke one day for no reason. Haven't changed anything on my server in weeks and this comes up out of the blue.
@Draver10
This bug was fixed in 2.2.5, but this file is unfortunately not compatible with Craftbukkit for 1.7.9.
Getting this issue anytime somebody tries to open an enderchest. http://pastebin.com/Ea9WEE4V Using v2.2.3 of your plugin and v3.3.1 of multiinv
@jonghyek
Please read the message in the box on the top of the page. :)
not work in spigot 1.8 T_T please update
@mod_masta
Maybe the version of MultiInv is not compatible with this version of BetterEnderChest? Anyways, you didn't include the full error: the last line (which is unfortunately the most important) is missing.
@MasterMithrandir
It only seems to work if the player was online within the last 5 minutes or so.
For some reason it doesn't work for me. When i try to open a chest nothing happens. When i do /enderchest it says a internal error has occurred. I am using this for multiple worlds. Here is what my console said, http://pastebin.com/DzUCZrUJ Please help D:
@rutgerkok
I followed these instructions, but it won't work as I intended.
I'm opening a ticket on this:
https://github.com/rutgerkok/BetterEnderChest/issues/8
@MasterMithrandir
There's a converter, it needs a two-step process to be enabled:
BetterEnderChest.manualWorldGroupManagement
to true, so that we can set exactly where BetterEnderChest gets its chest data from.betterenderchest-flatfilenbt
.See also https://github.com/rutgerkok/BetterEnderChest/wiki/Configuration#database.
My chestData file is getting large... And I thought It might be better to move everything to MySQL db.
If I configure the database connection, will everything be moved there automatically? Or is there some command/method for migration?
Edit: I see this is not the case. So basically I would like to know how to convert from flat file to .db for MySQL, if this is possible.
Great plugin :) been using it for over a year now (I think) Keep up the good work!
@galaipa
Isn't there already suport for that? I definetly CAN open offline player's ender chests whith:
/bec openinv <player>
Add support to open the enderchests when the player is offline
Hello, add support for my MachineGuard Reloaded because Lockette was abandoned. Thanks!
@rutgerkok
K :D i meant spigot 1.8 anyways :P im more of a spigot person anyways. Thanks for updating it so fast. And ps md_5 made a craftbukkit 1.8 also :P
@15987632
Here you go: http://www.spigotmc.org/resources/betterenderchest.2073/ .
There's no Bukkit 1.8, only Spigot 1.8. It doesn't make sense to continue BetterEnderChest on BukkitDev, so the project is moving to the Spigot resources section.
@rutgerkok
is it gunna be ready for 1.8 soon? *he said hopefully*