Open anyone's inventory as a chest! in real time! Works with offline players! Open EnderChests of any player via command!

Source Code hosted on GitHub


  • Open a player's inventory as a chest and interact with it in real time.
  • Access to the inventory and armor slots.
  • Open any chest that has blocks on top (blocked chests) with AnyChest.
  • Open a chest silently (without chest animation nor sound) with SilentChest.
  • Open any player's EnderChest from a command.
  • Drop item as another player (by putting it in the 5 unused slots in openinv)!

How to install

  • Copy to your plugins folder, and restart/reload your server.


  • Use command "/openinv <player>" to open a player's inventory
  • Use command "/toggleopeninv" to toggle Item openinv:
  • * Hit a player with an item of your choice (STICK by default), and you will open the player's inventory (no damage)
  • * Right click the air with the item opens the last opened inventory (toggle must be ON)[/CODE]
  • Use command "/anychest" to toggle anychest (blocked chest bypass)
  • Use command "/silentchest" to toggle silent chest
  • Use command "/openender <Player>" to open a player's enderchest
  • Use command "/searchinv <Item> [MinimalAmount]" list all players having a certain item in their inventory.
  • To use a sign for quick access (this uses the normal Openinv.openinv permissions, override and exempt applies), You need: "[openinv]" (without quotes) on the 1st line and the player's name on the other lines.

Permissions nodes (CaSe SeNsItIvE)

  • "OpenInv.openinv" gives permission to use OpenInv
  • "OpenInv.openself" Allows opening the inventory of the command user
  • "OpenInv.editinv" - Allows editing of inventory
  • "OpenInv.openender" - Allows opening of EnderChests
  • "OpenInv.openenderall" - Allows opening of EnderChests of everybody. Without this permission, someone can only open his own enderchest.
  • "OpenInv.editender" - Allows editing of enderchest
  • "" gives permission to use searchinv
  • "OpenInv.crossworld" allows cross-world 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.silent" gives permission to open chests in total silence, without animation.
  • (without quotes)


  • Read-only permissions for OpenInv and OpenEnder! Just don't give the editinv and editender permissions nodes!
  • Administrators can modify any user's inventory contents as they wish, in real time.
  • Access it anywhere! No distance or obstacle limitations.
  • Permissions support.
  • Use the command without argument opens the last accessed person's inventory.
  • Use sticks or any (configurable) item and toggles for quick access.
  • Search all online players for a certain item in their inventory.
  • Protect players from openinv with exempt permission, and bypass protection with override permission.
  • Use a sign to perform openinv for convenience.
  • Cross-world openinv protection.
  • Offline player openinv supported.
  • Open chests that are blocked because they have a solid block on top. (AnyChest)
  • Silent opening of chest, no sound and opening animation.
  • EnderChests can be opened, even for offline players!
  • NEW: Drop item as another player (by putting it in the 5 unused slots in openinv)
  • Self-opening protection.


This plugin utilises Hidendra's plugin metrics system, which means that anonymous information of your OS and setup will be collected and sent to


This plugin uses an Auto-updater to fetch the latest version from BukkitDev automatically. It can be disabled in the configuration file.

More info on the forum:

Support the developer: Donate!

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of Schneidertm Schneidertm Apr 18, 2014 at 17:16 UTC - 0 likes

    CB 1.7.5 > OpenInv 2.1.7 > performing /openinv <player> by an offline player. If I update to 1.7.9, will this fix?

    [19:13:35] [Server thread/ERROR]: null
    org.bukkit.command.CommandException: Unhandled exception executing command 'openinv' in plugin OpenInv v2.1.7
    	at org.bukkit.command.PluginCommand.execute( ~[craftbukkit.jar:git-Spigot-1387]
    	at org.bukkit.command.SimpleCommandMap.dispatch( ~[craftbukkit.jar:git-Spigot-1387]
    	at org.bukkit.craftbukkit.v1_7_R2.CraftServer.dispatchCommand( ~[craftbukkit.jar:git-Spigot-1387]
    	at net.minecraft.server.v1_7_R2.PlayerConnection.handleCommand( [craftbukkit.jar:git-Spigot-1387]
    	at net.minecraft.server.v1_7_R2.PlayerConnection.a( [craftbukkit.jar:git-Spigot-1387]
    	at net.minecraft.server.v1_7_R2.PacketPlayInChat.a( [craftbukkit.jar:git-Spigot-1387]
    	at net.minecraft.server.v1_7_R2.PacketPlayInChat.handle( [craftbukkit.jar:git-Spigot-1387]
    	at net.minecraft.server.v1_7_R2.NetworkManager.a( [craftbukkit.jar:git-Spigot-1387]
    	at net.minecraft.server.v1_7_R2.ServerConnection.c( [craftbukkit.jar:git-Spigot-1387]
    	at net.minecraft.server.v1_7_R2.MinecraftServer.v( [craftbukkit.jar:git-Spigot-1387]
    	at net.minecraft.server.v1_7_R2.DedicatedServer.v( [craftbukkit.jar:git-Spigot-1387]
    	at net.minecraft.server.v1_7_R2.MinecraftServer.u( [craftbukkit.jar:git-Spigot-1387]
    	at [craftbukkit.jar:git-Spigot-1387]
    	at [craftbukkit.jar:git-Spigot-1387]
    Caused by: java.lang.NoSuchMethodError:<init>(Ljava/util/UUID;Ljava/lang/String;)V
    	at com.lishid.openinv.internal.v1_7_R2.PlayerDataManager.loadPlayer( ~[?:?]
    	at com.lishid.openinv.commands.OpenInvPluginCommand.onCommand( ~[?:?]
    	at org.bukkit.command.PluginCommand.execute( ~[craftbukkit.jar:git-Spigot-1387]
    	... 13 more
  • Avatar of lishid lishid Apr 16, 2014 at 21:22 UTC - 0 likes

    @ThisUsernameIsMine: Go

    Will take a look. This is likely because of the new changeable names stuff.

  • Avatar of ThisUsernameIsMine ThisUsernameIsMine Apr 16, 2014 at 12:52 UTC - 1 like

    @lishid: Go

    hmm, viewing of offline player's inventories (regular and ender) doesn't seem to work after all (tested 2.1.7 under Spigot #1428):

    Player 'name of player' not found!

    Last edited Apr 16, 2014 by ThisUsernameIsMine
  • Avatar of sociala9133 sociala9133 Apr 14, 2014 at 22:54 UTC - 0 likes

    Would be great if you could add support so a user could put something in someone's inventory but not take it out.

  • Avatar of ThisUsernameIsMine ThisUsernameIsMine Apr 14, 2014 at 12:52 UTC - 0 likes

    @lishid: Go

    Great! :-) +1

  • Avatar of lishid lishid Apr 14, 2014 at 04:25 UTC - 1 like

    OpenInv 2.1.7 is a fix for using OpenInv on Offline Players. For early access, check out the description in the forum page.

  • Avatar of nudgemadnes nudgemadnes Apr 14, 2014 at 02:38 UTC - 0 likes


    Is there a place to download 2.1.6? I am having the same issue as ThisUsernameIsMine and I would like to fix it.

  • Avatar of ThisUsernameIsMine ThisUsernameIsMine Apr 13, 2014 at 21:13 UTC - 0 likes

    @lishid: Go

    confirmed! :-) +1

  • Avatar of lishid lishid Apr 13, 2014 at 18:45 UTC - 1 like

    @ThisUsernameIsMine: Go

    Ok, that should be now fixed in OpenInv 2.1.6

  • Avatar of ThisUsernameIsMine ThisUsernameIsMine Apr 13, 2014 at 13:13 UTC - 1 like

    @lishid: Go

    Thanks.. i tried the new version under Spigot 1.7.8-R0.1-SNAPSHOT build #1407, but it loads with the following error:

    Error occurred while enabling OpenInv v2.1.5 (Is it up to date?)
    Caused by: java.lang.ClassNotFoundException: net.minecraft.server.v1_7_R2.World

    edit: /invsee seems to work but when trying the other commands/aliases (i.e. /oi /openinv) it shows the command usage

    +1 though for the quick response :)

    Last edited Apr 13, 2014 by ThisUsernameIsMine


Date created
Aug 27, 2011
Last update
Apr 14, 2014
Development stage
  • enUS
GNU General Public License version 3 (GPLv3)
Curse link
Recent files