[FUN][ADMN] OpenInv 2.2.4 - Open anyone's inventory as a chest Real-Time! [1.4.5-1.7.10]

Discussion in 'Archived: Plugin Releases' started by lishid, Apr 30, 2011.

  1. Offline

    lishid

    OpenInv - 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

    Link to BukkitDev: http://dev.bukkit.org/server-mods/openinv/

    Description:
    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 use:
    Install: Copy to your plugins folder, and restart/reload your server.

    Use:
    Use command "/openinv <player>" to open a player's inventory
    Use command "/toggleopeninv" to toggle Item openinv:
    Code:
    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)
    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.

    Code:
    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

    "OpenInv.search" 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)



    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 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.
    Image:
    OpenInv.png
    Test.png

    Video tutorial:



    Credits:
    Thanks to WMisiedjan for the source of iSee, located here: http://forums.bukkit.org/threads/6676/
    Thanks to Dark_Balor from AdminCmd for helping with the bugs in Offline Openinv.
    Thanks to the many supporters who've tested this plugin.

    Download:


    Download OpenInv (2.2.4) CB1.4.5 up to CB1.7.10

    Legacy versions:
    See http://dev.bukkit.org/server-mods/openinv/

    Source Code

    Todo:
    • None ATM
    Bugs:
    • None ATM
    Statistics:
    Openinv will connect to http://mcstats.org/ to collect anonymous data (only version information).

    Changelog:

    Version 2.2.4[CB 1.7.10]
    • Fixed getting inventory from other plugin's custom inventory crashing

    Code:
    Version 2.2.2[CB 1.7.10]
    Finally fixed offline players
     
    Version 2.1.8[CB 1.7.10]
    Updated to MC1.7.10
    Removed metrics as the service is no longer available
     
    Version 2.1.7[CB 1.7.8]
    Fixed Offline player NoSuchMethodError
     
    Version 2.1.6[CB 1.7.8]
    Fixed ClassNotFoundError.
     
    Version 2.1.5[CB 1.7.8]
    Updated to CB1.7.8
     
    Version 2.1.4[CB 1.7.5]
    Updated to CB1.7.5
     
    Version 2.1.3[CB 1.7.4]
    Fixed silent chest not working with sneak+build.
    Removed /enderchest as alias for compatibility with Essentials. Use /openender or /oe instead.
     
    Version 2.1.2[CB 1.7.2]
    Changed updater to be compliant with new Bukkit rules.
     
    Version 2.1.1[CB 1.7.2]
    Changed updater to be compliant with new Bukkit rules.
     
    Version 2.1.0[CB 1.7.2]
    Update to CB1.7.2.
     
    Version 2.0.9[CB 1.6.4]
    Update to CB1.6.4.
     
    Version 2.0.8[CB 1.6.2]
    Added * nodes for permissions.
     
    Version 2.0.7[CB 1.6.2]
    Added OpenInv.openenderall permission node.
     
    Version 2.0.6[CB 1.6.2]
    Updated to CB1.6.2.
     
    Version 2.0.5[CB 1.6.1]
    Fixed editinv not locking shift-click and click-drag.
     
    Version 2.0.4[CB 1.6.1]
    Added config options for notifications for SilentChest and AnyChest.
     
    Version 2.0.3[CB 1.6.1]
    Updated to CB1.6.1.
     
    Version 2.0.2[CB 1.5.2]
    Updated to CB1.5.2.
     
    Version 2.0.1[CB 1.5.1]
    Fixed player loading crash caused by CraftBukkit internal change.
     
    Version 2.0.0[CB 1.5.1]
    Fixed trapped chest problem.
     
    Version 1.9.9 [CB 1.5.1]
    Updated to 1.5.1.
     
    Version 1.9.8 [CB 1.5]
    Updated to 1.5.
     
    Version 1.9.7 [CB 1.4.7]
    Fixed offline inventory not saved when server restarts.
     
    Version 1.9.6 [CB 1.4.7]
    Updated to 1.4.7.
     
    Version 1.9.5 [CB 1.4.6]
    Added new feature: Put item in any of the 5 unused slots and the item will be dropped by the targeted player.
     
    Version 1.9.4 [CB 1.4.6]
    Updated for MC1.4.6.
     
    Version 1.9.3 [CB 1.4.5]
    Fixed an issue about copying code from my other plugin without proper renaming.
     
    Version 1.9.2 [CB 1.4.5]
    Massive rewrite to support new CB naming system.
    Added auto-updater.
     
    Version 1.8.8 [CB 1.3.2/CB 1.4.2]
    Added permissions "OpenInv.openself".
     
    Version 1.8.7 [CB 1.3.1-R1]
    Added /openender <player>
    permissions, added "OpenInv.editinv", "OpenInv.openender", "OpenInv.editender".
     
    Version 1.8.6 [CB 1.3.1]
    Updated to 1.3.1. Not only works with 1.3.1.
     
     
    Version 1.8.5 [CB 1.2.5-R4]
    Fixed all problems related to Offline OpenInv (including inventory not updating AND/OR inventory being emptied on some occasions).
    Updated Metrics module to R5.
     
    Version 1.8.4 [CB 1.2.4-R0.1]
    Updated to MC 1.2.4.
     
    Version 1.8.3 [1.1-R6/CB 1.2.3-R0.1]
    Fixed perms not working.
     
    Version 1.8.2 [1.1-R6/CB 1.2.3-R0.1]
    New permissions system (removed support for old perms).
     
    Version 1.8.1 [1.1-R6/CB 1.2.3-R0.1]
    Updated to 1.1-R6.
     
    Version 1.7.5 [1.1-R3]
    Fixed Metrics add-on error on startup.
     
    Version 1.7.4 [1.1-R3]
    Fixed offline openinv being case sensitive.
     
    Version 1.7.3 [1.1-R3]
    New CB events.
     
    Version 1.7.2 [1.0.0-R1/1.1-R1]
    CraftBukkit refactoring. Fix the Exception caused by that.
     
    Version 1.7.1 [1.0.0-R1/1.1-R1]
    Statistics.
    Official CB1.1-R1 support.
    Still backward compatible (with 1.0.1-R1).
     
    Version 1.6.6 [1.0.1-R1]
    Help menu (/openinv ?).
    Code re-organizing.
    AnyChest now toggle-able.
     
    Version 1.6.5 [1.0.1-R1]
    Fix for silentchest + spout error.
     
    Version 1.6.4 [1.0.1-R1]
    Silent chest opening, no animation, no sound, use /silentchest to toggle on/off.
     
    Version 1.6.3 [1.0.1-R1]
    Switched toolbar from top to bottom.
    Added armor slots.
     
    Version 1.6.2 [1.0.1-R1]
    Added a fix for Offline Openinv.
     
    Version 1.6.1 [1550]
    Fixed inventory update bug that everyone was having!
    Updated for Minecraft 1.0.
     
    Version 1.5.2 [1185]
    Offline openinv bugfix.
     
    Version 1.5.1 [1185]
    OFFLINE OPENINV IMPLEMENTED.
     
    Version 1.4.6 [1118-1160]
    Fix conflict of anychest with other plugin.
     
    Version 1.4.5 [1118-1160]
    Fix for previous update not closing chests.
     
    Version 1.4.4 [1118-1160]
    Now allows opening of chests that are blocked by solid blocks on top!
    Use "OpenInv.anychest" for permission node.
     
    Version 1.4.3 [1118-1160]
    Toggle should now be saved between server restarts.
    Added configuration file.
    Configure the item to use instead of a stick be default.
     
    Version 1.4.2 [1118-1160]
    Fixed a character limit problem.
     
    Version 1.4.1 [1118-1160]
    Updated for 1.8.
     
    Version 1.3.3 [953+]
    Cross world openinv disabled! Use permissions node 'OpenInv.crossworld' to allow cross-world openinv.
     
    Version 1.3.2-test [818+]
    Try fixing compatibility problem.
     
    Version 1.3.1 [818+]
    Fixed for 818.
    Only works for 1.6+ (CraftBukkit RB 818).
     
    Version 1.2.3 [803-]
    Sign quick access: use second line for "[openinv]" (without quotes) and third line for target name.
    Use this for 1.5 versions.
     
    Version 1.2.2
    PERMISSIONS NODES CHANGE: please read permissions section.
    new "OpenInv.exempt" and "OpenInv.override" feature.
     
    Version 1.2.1
    MAJOR BUGFIX: inventory not updated correctly, especially after a death/respawn.
     
    Version 1.1.1
    New feature: /searchive Item Amount.
     
    Version 1.1.0
    New feature: sticks + toggle openinv (explainations on top).
     
    Version 1.0.3
    Fixed history not saved correctly.
    Fixed inventory access to respawned players.
     
    Version 1.0.2
    use the command without argument opens the last accessed person's inventory .
     
    Version 1.0.1
    Initial Release.
    
    Support the developer: [​IMG]
     
  2. Offline

    KiloWhiskey

    I'm also all for offline inv editing. Could hook into multiInv's data files, or just the player dats. That would be stellar though.
     
  3. Offline

    antondubek2

    I am running groupmanager. I have tried putting nodes Openinv.search + Openinv.search + openinv.search. Always it just comes up with 'you do not have access to open player's inventories' I need help on this what am I doing wrong?
     
  4. Offline

    KiloWhiskey

    One, the node is case sensitive, so you need to be using OpenInv.search, not Openinv.search. Two, if you're trying to open their inventory you should be adding OpenInv.openinv, not the search node. The search node is just for the /searchinv command. Give that a shot and see how it works out.
     
  5. Offline

    lishid

    people, it's been a while since i last focused on goofing with bukkit and craftbukkit stuff, but i still dont think we're able to safely retrieve and modify offline player's inventory yet. If by any chance bukkit/craftbukkit have something for that, it would be good to alert me so i can get to working on it right away.

    Also, I heard Afforess was doing something about this, maybe he's having something ready soon?
     
  6. Offline

    KiloWhiskey

    The reason I mentioned hooking into MultiInv is that it keeps all players inventories in their own PlayerName.data files in their directory. That should make it pretty easy to do a /openinv on the player as long as you have the correct full name. I know you can edit those files offline, but since it pulls up each file based on the world the player is in, it may be hard to get what you're looking for.
     
  7. Offline

    lishid

    It's most likely that MultiInv's dev will have to add a few lines of code to make it compatible with openinv
    but for offline inv modifications, I will not be using multiInv's files, but rather the minecraft inv's (since some people may prefer not having multiInv.

    But to correct this issue, I see a few possibilities
    1. I'll try to see if it is still unsafe to do offline inv
    2. I'll contact MultiInv's dev to see what we can do to their code to make it compatible with openinv and if possible, offline openinv

    It's "OpenInv", caps on the 'O' and 'I'.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 14, 2016
  8. Offline

    TruffleDucks

    *Reads Title*
    -trollface emerges-
     
  9. Offline

    KiloWhiskey

    Awesome. Thanks for looking into it. Also, I shot Afforess a message about getting BukkitContrib to allow safe access to inventories offline and he liked the idea. You might see what he gets going in the next few days.
     
  10. Offline

    lishid

    Thanks, he was planning to do it since a long time ago (like when i first started programming openinv), but i never heard news of offline inventory access after that lol...
     
  11. Offline

    efstajas

    Hi, this looks really nice and I would really like to install it on my server.
    But, I have a server with 4 Worlds, and those worlds MUST have their own inventory, because some of them are survival and some creative, my players shouldn't be able to transfer cheated blocks from the creative- world into the survival- world. I use the really nice plugin "MultiInv" for this, it stores an inventory for every player and for every world in its directory. Now I think that this plugin will most likely conflict with MultiInv, won't it?
     
  12. Offline

    CushFiles

  13. Offline

    KiloWhiskey

    No it doesn't conflict at all. Be sure you don't give anyone access to this unless you trust them not to move items from world to world with it. I gave this just to my mods and admins and it's quite useful for keeping track of stolen items and such. But I too have a survival world that's harder to get items in and one of the mods moved items into that world with this. He didn't realize that it would be a problem, but did prove that it's possible. To fix it, I just added the exempt permission to all players in that world and no one but admins can open their inventories, thus preventing anyone from transporting items into that world.
     
    efstajas likes this.
  14. Offline

    lishid

  15. Offline

    efstajas

    Nice that there is somebody who does exactly the same! I'll try it then. Thank you. :)
     
  16. Offline

    lishid

    Guys, I'm thinking of disabling cross world and have a 'OpenInv.crossworld' to allow cross-world openinv.
    Of course, 'OpenInv.override' will override that protection too.

    Like the idea? :D
     
  17. Hmm, about that image with both invntories, you should place the quickbar items at the bottom :}
     
  18. Offline

    KiloWhiskey

    Not a bad idea. That would make it easier in a few cases, but no better in others. Wouldn't hurt anything either way.
     
  19. Offline

    lishid

    Was trying to do that but i would need to write alot more code and it would be hell debugging. Plus, it would be conflicting with alot of plugins to do that so.....
    I'll work on it soon.

    Updated! now cross-world is disabled unless the permissions node 'OpenInv.crossworld' is allowed.

    guys, please have a quick test and tell me if anything is broken (technically shouldn't)

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 14, 2016
  20. Offline

    morizuki

    I'm having a memory leak here with the latest.. my server is just idling and the memory went up on it's own..
     
  21. Offline

    lishid

    ... And you say it's openinv? Anyone else?
     
  22. Offline

    morizuki

    yep.. when I remove openinv.. it doesn't go up anymore..
     
  23. Offline

    lishid

    Only with the latest version? Is anyone else having this?
     
  24. Offline

    morizuki

    yeahh
     
  25. Offline

    lishid

    Here's some questions that will help me debug
    1. Did you restart server (restart, not reload) (probably did?)
    2. Was there any player logged in
    3. Did it happen after someone login? or does it happen right when the server is started?
     
  26. Offline

    morizuki

    it's a first start.. and just idling my server.. no people..
     
  27. Offline

    lishid

    Weird, there's practically no code change. And nobody else is reporting the issue... Is it possible for a plugin conflict?
     
  28. Offline

    morizuki

    i don't know.. 1.3.2 is ok.. but 1.3.3 not..
     
  29. Offline

    lishid

    Weird, use 1.3.2 for now then...
     
  30. Offline

    morizuki

    yeah.. using that now..
     
  31. Offline

    zenyl

    Perfect Plugin to test people! It help me alot as admin, f.eks. I once used it on a new guy, who had 4x64 diamonds (BAN).

    For this Plugin, you get: [cake][cake][cake][cake][cake]!
     

Share This Page