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 Xaver106_:
All Bukkit plugins are automatically available via aliases including the plugin name, i.e.
/openinv:openinv
or/openinv:openender
. If you are struggling to find a command from a specific plugin, you can type in/pluginname:
and tab complete. If you want specific changes to command aliases, you can add your own using Bukkit's commands.yml system.If you are using a per-world inventory system or anything else that affects how inventories work (like the multi-ender-chest mods) it's on that system to provide commands for manipulating the inventories it adds. OpenInv can't reasonably expect to be able to support every single per world inventory plugin - there are dozens - and adding support for one results in the expectation of support for every other.
HELP i accedentally made someone server operator ,how to remove??!!
In reply to diimskk:
Run /deop on them.
If possible, please create an option in the config to change the command prefix for the plugin. So for example, i want to change /openinv (playername) to /invsee (playername). Please implement this though.
In reply to TheOnlyKrakenn:
If you want additional command aliases, you are free to add them using Bukkit's commands.yml system.
Why is there no plugin page on spigotmc?
In reply to tixoh_ilja:
Mostly because I hate their resource system. I actually commented about it in a discussion thread a few days ago.
It's a hassle to maintain multiple copies of the same plugin page. I've taken to writing wikis and stripping the main page of plugins to combat it, but any time I have to copy and paste documentation (or worse, reformat because it won't copy nicely) is a waste of time. Writing and maintaining plugins is a fun hobby for me, but writing the same documentation changes three times is just plain boring.
In the future, I won't even be maintaining OpenInv on CurseForge - I'm about 95% of the way to setting up releases to just copy themselves off GitHub. The files will still show up here, but I won't have to do a thing.
thanks
i don't really know what to say
this is awkward
hello
In reply to fireroz_:
Glad you like the plugin!
this works on 1.16.4, right?
In reply to BigTicket2008:
Yes. OpenInv 4.1.5 supports 1.8.8, 1.15, and 1.6.2 through 1.16.5.
This is such a great plugin and I love it, but I have one question.
Why does it not work for 1.16.1 already? I'm not trying to be rude, I'm genuinely wondering why the code doesn't automatically function for newer 1.16 versions like some plugins do.
In reply to JPopRoxz:
1.16.1 support was dropped when 1.16.4 released and Spigot bumped NMS revision to 3. OpenInv only maintains support for the last 2 major and minor revisions to prevent excess bloat. Downgrade OpenInv or update your server. A link to the correct OpenInv version should be in your server logs during OpenInv's enable.
In reply to Jikoo_K:
Thank you so much I downgraded to 4.1.2 and it works now
Nice Plugin but if players have a * as prefix it does not work (players connected through floodgate have * in their names)
In reply to taminoplm:
Per this issue comment you've probably made a mistake in the command. If you can provide a more exact reproduction case, please open an issue.
Hey Jikoo_K, I don't really have a question, I just wanted to thank you for doing a great job helping everyone. Any problems I have had with this plugin have been answered in the comment section by you, so I just wanted to give you a quick thanks. You're awesome.
In reply to palmmc:
Appreciate the comment, thanks!
I can open inventories but i can't open enderchests.
Console sends this i use mohist #371 no mods
[10:57:42 WARN]: java.lang.InstantiationException: Unable to create a new ISpecialEnderChest: null
[10:57:42 WARN]: at com.lishid.openinv.util.InternalAccessor.newSpecialEnderChest(InternalAccessor.java:156)
[10:57:42 WARN]: at com.lishid.openinv.OpenInv.getSpecialEnderChest(OpenInv.java:199)
[10:57:42 WARN]: at com.lishid.openinv.commands.OpenInvCommand.openInventory(OpenInvCommand.java:165)
[10:57:42 WARN]: at com.lishid.openinv.commands.OpenInvCommand.access$100(OpenInvCommand.java:34)
[10:57:42 WARN]: at com.lishid.openinv.commands.OpenInvCommand$1$1.run(OpenInvCommand.java:92)
[10:57:42 WARN]: at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftTask.run(CraftTask.java:81)
[10:57:42 WARN]: at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:400)
[10:57:42 WARN]: at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:980)
[10:57:42 WARN]: at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:333)
[10:57:42 WARN]: at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:928)
[10:57:42 WARN]: at net.minecraft.server.MinecraftServer.func_240802_v_(MinecraftServer.java:764)
[10:57:42 WARN]: at net.minecraft.server.MinecraftServer.lambda$startServer$0(MinecraftServer.java:276)
[10:57:42 WARN]: at java.lang.Thread.run(Unknown Source)
[10:57:44 INFO]: miniolek issued server command: /openender miniolek
[10:57:44 WARN]: java.lang.InstantiationException: Unable to create a new ISpecialEnderChest: null
[10:57:44 WARN]: at com.lishid.openinv.util.InternalAccessor.newSpecialEnderChest(InternalAccessor.java:156)
[10:57:44 WARN]: at com.lishid.openinv.OpenInv.getSpecialEnderChest(OpenInv.java:199)
[10:57:44 WARN]: at com.lishid.openinv.commands.OpenInvCommand.openInventory(OpenInvCommand.java:165)
[10:57:44 WARN]: at com.lishid.openinv.commands.OpenInvCommand.access$100(OpenInvCommand.java:34)
[10:57:44 WARN]: at com.lishid.openinv.commands.OpenInvCommand$1$1.run(OpenInvCommand.java:92)
[10:57:44 WARN]: at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftTask.run(CraftTask.java:81)
[10:57:44 WARN]: at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:400)
[10:57:44 WARN]: at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:980)
[10:57:44 WARN]: at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:333)
[10:57:44 WARN]: at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:928)
[10:57:44 WARN]: at net.minecraft.server.MinecraftServer.func_240802_v_(MinecraftServer.java:764)
[10:57:44 WARN]: at net.minecraft.server.MinecraftServer.lambda$startServer$0(MinecraftServer.java:276)
[10:57:44 WARN]: at java.lang.Thread.run(Unknown Source)
In reply to miniolekb:
Unfortunately, Mohist appears to be a modern C(K)auldron equivalent, which means that if they aren't transforming OpenInv's usage of Spigot NMS mappings things will break. May look into failing more gracefully, but since Mohist appears to be taking on the task of remapping Spigot -> MCP, this is something you should probably contact them about instead.