EnderChestViewer
EnderChestViewer is a plugin that allows players with permission to view the EnderChest of another player.
==Main idea==
Have you ever seen someone stealing another player and never managed to find the stolen items? This plugin is for you! Now you can access and edit the EnderChest of another player by simply using a command!
This plugin was intended for server admins that are having trouble with some players saving stolen items on their EnderChest.
Now, this plugin is capable of controlling who can use, craft, place, and break EnderChests on your server.
Also, includes MultiInv support. Both vanilla and MultiInv support, just with one command.
==Features==
- Access the other players EnderChest using the command /enderchestviewer <player name>;
- When opening a EnderChest using this command, reproduce the sound of opening a chest; When leaving the GUI, reproduce the sound of closing the EnderChest.
- Players without the enderchestviewer.viewothers permission and with the enderchestviewer.enderchestviewer permission can only open own EnderChest.
-Ability to view and edit an offline player EnderChest;
-Permissions to Place, Use and Break EnderChests;
-MultiInv support. Both vanilla and MultiInv use the same command.
Permissions support: This plugin is ready for EssentialsGroupManager and Permissions. I never tested with another permissions plugin, but it should work with most of them.
==Planned features==
- Add compatibility with other plugins that store custom files for storing the Ender Chests (currently planned plugins: Multiverse. List to be expanded, if you have suggestions, please leave a comment!) (Starting from version 1.4.5, supports MultiInv!)
- Ability to only certain people can edit someone else's Ender Chest;
==Permissions==
enderchestviewer.enderchestviewer -> this permission allow's you to use the /enderchestviewer command, but this will only allow you to open your own EnderChest. (Intended for people who have donated to your server, free mobile storage! :P)
enderchestviewer.viewothers -> This permission allows you to use the /enderchestviewer command to view and edit the Ender chest of other players.
Changes on version 1.4.3: (2nd part of the permissions system)
The plugin, if you only want to use it for accessing the Ender Chest of other people, doesn't need any permissions configuration below this section. That means that if you want to have control over Ender Chest usage on your server, then you should read this next section.
enderchestviewer.block.craft-> this permission allow's players to craft Ender Chests. It defaults to EVERYONE on the server. So, if you want to disallow players from crafting Ender Chests, you need to REVOKE the permission. On Essentials group manager, you setup a permission like this: "-enderchestviewer.block.craft" to revoke the crafting option. This system applies for the other permissions on the 1.4.3 changes, so, I won't put this there anymore.
enderchestviewer.block.place-> this permission allow's players to place Ender Chests in the world.
enderchestviewer.block.use-> this permission allow's players to use Ender Chests in the world.
enderchestviewer.block.break-> this permission allow's players to break Ender Chests from the world.
==Installation==
Simply copy the downloaded file called EnderChestViewer.jar and copy it to your plugins folder.
If you want to use this only to see other people's Ender Chests, if you don't have a permissions system, just restart/reload your server and you're done. Obviously, you need to be OP to use the commands.
In case you have a permissions system, but you still only want to use this plugin to see other people's Ender Chests, then read the first part on the Permissions section. You don't need to read the 2nd part in this case. Then, restart/reload your server. You're done.
In case you want to control wich users can craft, place, interact or break Ender Chests, just read all the permissions section, and you should be good on how to setup the plugin for that case. Then, restart or reload your server.
==MultiInv limitations on version 1.4.5==
First of all, many thanks for TuxTwo for the authorization to allow MultiInv support with this plugin.
Now, lets talk about the limitations on version 1.4.5.
Version 1.4.5 of EnderChestViewer brings a new functionality: MultiInv support. Although, there are some limitations with it. I've worked for about two weeks (TuxTWO :P) to finally find that I almost do not need special support for MultiInv. Yeah, stupid, I know. But with this, I found limitations that I'm planning on removing in a future update. But since they're here, lets talk you trough them.
MultiInv handling of EnderChests uses per GameMode and per World data. Which means that in "survival" and in the world "spawn" you will have one inventory; but if you go in creative you will get another separate inventory on your EnderChest. While viewing the EnderChest of somebody, you are limited to their current GameMode and the World that they are currently in. This includes offline players too, so, if you try to view the EnderChest of somebody while they are offline, you will see the EnderChest according to the GameMode and to the World that they were in when they disconnected from the server.
I hope this is enough to explain the limitations, and yes, they will be removed in a future version.
==Disclaimer==
This plugin uses the Metrics system by Hidendra (as known on the Minecraft Forums) to collect anonymous stats about the plugin usage on servers. If you wish to stop this service, go to your plugins folder, and look for a folder called "PluginMetrics". Open that folder, and edit the config.yml file in there, and set opt-out to true.
==Bugs==
You can report any bug with this plugin, suggest new features, etc. by opening a issue or a pull request (depending on what you want to do) on my GitHub repository at https://github.com/D4rKDeagle/EnderChestViewer.
==Developers/Source-code==
You can check the source code at https://github.com/D4rKDeagle/EnderChestViewer but remember: this plugin is licensed under the GNU General Public License v3.0.
Note: Do you like messing around with scoreboards? Check out my other plugin: http://dev.bukkit.org/bukkit-plugins/multiple-scoreboards/ (Its still a WIP)
Also confirmed that getting the same errors as @Ozelo just for offline players. Running 1.7.5, could that be the issue?
I can confirm that this simply does not work on offline players.. It throws an error.
I was getting the same offline errors in bukkit dev and beta, it wasn't just Spigot. I also run Spigot so I tested the others.
@Ozelo
I noticed you are using Spigot. I am going to have to look into it, I tested with vanilla Craftbukkit and it worked (on offline players, of course).
Anyway, I'll try to do it this year :D
EDIT: I just did it. Spigot is a good platform for server admins, I'm not going to lie, but it is not very good at meeting the goals of the Bukkit project. Anyway, yes, that didn't work because the class that I'm looking for does not exist in the same package if you're using Spigot. For that, I just made a quick change to my NMSHacks class which should make it compatible with Spigot too.
Also, thank you very much! :)
Ye, it is working. But when I try on offline players, it says:
Alright. Probably many of you know what Apache Maven (http://maven.apache.org/) is. I also knew since I started making plugins. The thing is: I always thought it was too complicated to setup. But, today, I found M2E, an Eclipse plugin that interacts with Maven pretty well. So, in the last few hours (about 10) I've been messing with Maven trying to get it to work with Eclipse and Git. I ended up editing the xml file directly instead of using M2E for that, but, now that I figured it out, I'm probably going to "Mavenize" EnderChestViewer. Stay tuned! (Spoiler alert: Probably doing that tomorrow.) :D
@Ozelo
It should also be compatible with 1.7.2. Don't forget, the update was to make that possible :)
Edit: Sorry. I just noticed that the BukkitDev staff hasn't approved the file yet. It was submitted 3 days ago from when I'm editing this (today is 2013-12-28). I thought it was approved already, that's why I was talking like that. Probably because of the holiday it's taking a lot longer, so, I'm sorry!
@D4rKDeagle
I will sure enjoy it! Looking forward for a 1.7.2 compatible version. Thank you very much!
@Ozelo
Alright. After a lot of tinkering around with Reflection, a new build is coming that should be compatible with pretty much any CraftBukkit version starting at 1.6.X. Hope you enjoy and have a nice Christmas!
Update it!!!
Sure, no problem. That's wise! Thank you! :)
@Ozelo
No, but yes. I am making a massive change that will allow me to not need to update every single version, that's why it's taking a lot longer. Sorry.
Is it that hard to update?
@Ozelo
I wasn't planning on updating any plugin for 1.7.2 until there was at least a beta build out. But I guess that since there are already servers on 1.7.2, I will update. In the next hours there should be an update.
Thank you! Please update to 1.7.2? :)
@Ozelo
Done!
Please update to 1.6.4
@JustisR
Please specify what you want. Do you just want to give them access to commands, and to place and interact in every way with ender chests? If that's the case, you just need to give them the permission enderchestviewer.*
I use group manager, and would like to give all permissions to specific players... Could i just ...
- enderchestviewer.*
for all commands ever?