OpenInv
Open anyone's inventory or ender chest and modify it in real time! Works with offline players!
Description
This plugin allows you to open any player's inventory or ender chest and interact with it in real time. You can also do it for offline players! This includes access to the armor slots as well as being able to drop items as if you were the player by moving them into the unused slots to the bottom right. Additionally, you can open any chest that is blocked with blocks above it with AnyContainer and open containers silently (no sound or opening animation) with SilentContainer.
Features
- Read-only permissions for OpenInv and OpenEnder! Just don't give the editinv and editender permissions nodes!
- Administrators can modify any user's inventory or ender chest contents as they wish, in real time.
- Access from anywhere! No distance or obstacle limitations.
- Permissions support.
- Player inventories and ender chests of any player can be opened. Even for offline players!
- Using the openinv or openender command without any arguments opens the last accessed player's inventory/ender chest.
- Search all online players for a certain item in their inventory or ender chest.
- Protect players from openinv with exempt permission, and bypass protection with override permission.
- Cross-world openinv protection.
- Self-opening protection.
- Open containers that are blocked by solid blocks or ocelots with the 'AnyContainer' feature.
- Silent opening of containers with no sound or opening animation.
- Drop items as the other player (by putting it in the unused slots in the bottom right)
Installation
To install OpenInv, simply copy the plugin to your plugins folder and restart/reload your server.
Commands
Command | Aliases | Description |
---|---|---|
/openinv <player> | oi, inv, open | Opens a specified player's inventory. |
/openender <player> | oe | Opens a specified player's ender chest |
/searchinv <item> [minAmount] | si | Lists all players that have a certain item in their inventory. |
/searchender <item> [minAmount] | se | Lists all players that have a certain item in their ender chest. |
/searchenchant <[enchantment] [MinLevel]> | searchenchants | Lists all online players with a specific enchantment. |
/anycontainer | ac, anychest | Toggles AnyContainer mode (blocked container bypass) |
/silentcontainer | sc, silent, silentchest |
Toggles SilentContainer mode (open containers silently) |
Permissions (CaSe SeNsItIvE)
Permission Node | Description |
---|---|
OpenInv.openinv | Gives permission to use OpenInv. |
OpenInv.openself | Allows opening the inventory of the command user. |
OpenInv.editinv | Allows editing of inventories. |
OpenInv.openender | Allows opening of ender chests. |
OpenInv.openenderall | Allows opening of ender chests of everybody. Without this permission, someone can only open his own ender chest. |
OpenInv.editender | Allows editing of ender chests. |
OpenInv.search | Gives permission to use searchinv and searchender command. |
OpenInv.searchenchant | Required to use /searchenchant. |
OpenInv.crossworld | Allows cross-world use of openinv. |
OpenInv.exempt | Makes the player's inventory protected (unable to be opened). |
OpenInv.override | Gives permission to open anyone's inventory, even protected ones. |
OpenInv.anychest | Gives permission to open chests that are blocked by a block on top. |
OpenInv.any.default | Causes AnyContainer to be enabled by default. |
OpenInv.silent | Gives permission to open chests in total silence, without animation. |
OpenInv.silent.default | Causes SilentContainer to be enabled by default. |
Other
Source Code hosted on GitHub
Original Bukkit forum thread: http://forums.bukkit.org/threads/15379
In reply to AlfaTheseus:
A dev build has been available for a few days. You can find instructions for getting it here.
Hey
How can I make it so players are opped but cannot do these commands?
If so can I make it so they cannot see them either
In reply to bigboiduckyboi:
Use your permissions plugin to deny them the corresponding nodes. As a much more secure and safe alternative, don't op players and just assign administrative permissions you want them to have.
In reply to Jikoo_K:
Thanks I figured it out anyway but thanks, your replied quick too. Props to you!
In reply to bigboiduckyboi:
you are the server op anyone who isnt an op cant use them so chill
Is there any way to set SilentChest to auto OFF?
Like you have to manually turn it on with /silentchest if you want to silently open chests??
I keep getting a small issue I cant edit peoples Inventory and I dont know how to fix this please tell me how to allow My staff team to do this
In reply to darklandmc:
Sounds like you haven't granted them the permission to edit opened inventories. Your best bet is to use a system such as LuckPerm's verbose mode that tells you real-time what permissions are being checked for whom and how they evaluate. That will help you to track down any errors in your system's configuration.
In reply to Jikoo_K:
I have done so
as Well as I have op and I cant Open Peoples Inventory
And I have given my self all of the perms in side of lucky perms
Thanks, amazing plugin!
What if i want to let moderators open the enderchests of others but not them selves? Could those two become parallel permissions, instead of the current linear approach?
So that
openinv.openenderall would let u open enderchests of anyone other than yourself.
openinv.editender would let u edit any enderchest you have permission to open.
openinv.openender Would allow you to open your own enderchest.
openinv.editself Would allow you to edit inventories belonging to yourself.
I would really like to give mods the option to use this feature, but remove the option of basicly never using an enderchest ever again.
In reply to jjkingcv:
Doable but would need some fiddling to preserve existing behavior. Please open an issue so I don't forget.
is OpenInv out for 1.17.1 yet, if not when might it be
In reply to jackdejed1:
1.17.1 should not require any changes on OI's end from 1.17, so I guess the answer is yes, 1.17.1 support has been out for over a month.
In reply to Jikoo_K:
I am updated to the latest release and it gives me the following error:
Your server version (v1_17_R1) is not supported. Please check https://github.com/lishid/OpenInv/releases for an update.
In reply to OfficialOffTopicGaming:
If you poke around at all there or glance at releases here on Bukkit you'll see why that's the case. Unfortunately, I can't edit the old release location message.
I can't use OpenInv with 1.12.2 since I am running java 11 instead of 8. I would love if this plugin could be backwards compatible with all versions instead of one build being for one or two versions
In reply to bandithello1:
See lishid#173. Update your server, downgrade Java, or fork OpenInv yourself (or pay someone to do it for you) and backport the changes to support Java 9+ to the 1.12 module.
You can read my thoughts on 1.12 and other outdated versions at lishid#185.
Any time you want to maintain the same code in 20+ places to support for outdated versions that a tiny fraction of people use running, feel free to step up to the plate. Backporting changes is a tremendous amount of boring, thankless work - more complex fixes can take hours of copying, pasting, and slightly adapting code. Sometimes the area's completely different and requires a deep dive into NMS to figure out what changed. Support for Java 9+ is a particularly complex beast because it involves overwriting pretty much every method to direct to new variables. You can't just hope inventory logic didn't change between versions, you have to do a comparison.
Is there any plans on making a 1.17 update soon? I would love to have this on my server.
In reply to lovelessduck48:
A build for 1.17 was uploaded 2 days ago and has just been approved. If you're wondering about updates, check GitHub.