InvSee++ icon

InvSee++ -----

View and edit inventories of your players! Works for offline players! Now with give/clear commands!




Hi all,

This release of InvSee++ adds support for CraftBukkit 1.21.4.
There are no other changes.

Cheers!
----------, Dec 3, 2024

Changes in this release:
  • Adds support for CraftBukkit 1.21.3
  • InvSee++_Give item tabcompletion now only tabcompletes materials which are items.
----------, Oct 24, 2024

This update adds the following changes to InvSee++:
  • Minecraft 1.21.1 is now supported.
  • API (breaking): SpectatorInventoryView has been changed from a class to an interface because of a breaking change in Bukkit's API. Consumers of this API will have to recompile their plugin.
----------, Aug 12, 2024

Hi all,

This release adds support for the following Minecraft versions:
  • 1.21
  • 1.20.1
Support for the following Minecraft versions has been dropped:
  • 1.20.5
  • 1.15.2
Cheers!
----------, Jun 13, 2024

Additions:
  • Support for Minecraft 1.20.5
  • Support for Minecraft 1.20.6
Deletions:
  • Support for Minecraft 1.20.2
Other breaking changes:
  • InvSee++_Give's command format was changed to accomodate the removal of NBT tags. The syntax of the /invgive and /endergive commands is now almost exactly like Vanilla's /give command. The exception is that entity selectors do not work with /ingvive and /endergive. Note that the new format is only required for Minecraft 1.20.5 and up. InvSee++ still uses the old format on Minecraft 1.20.4 and below.
  • InvSee++_Give now properly respects the max_stack_size component of item stacks - it is no longer possible to give stacks larger than the maximum stack size.
----------, May 5, 2024

For server owners who are too afraid or too incompetent to run their 1.12.2 or 1.8.8 PvP server on Java 11, InvSee++ now supports being ran on Java 8 for these Minecraft versions. When ran on CraftBukkit 1.15.2 or newer, InvSee++ still requires Java 11 (or newer).

Support for Minecraft 1.20.1 and 1.20.3 have also been dropped this release.

Cheers!
----------, Jan 8, 2024

This update makes InvSee++ work on CraftBukkit 1.20.3 and 1.20.4.
Support for no version has been dropped, but support for 1.20.3 will be dropped soon.

Cheers!
----------, Dec 10, 2023

- Implemented improved merging algorithm of item stacks for the ender spectator inventory too.
- Fixed disappearing placeholders for inacessible slots (disappearing for other types of slots are an intended feature).
----------, Oct 29, 2023

Hi all, this update brings the following changes to InvSee++:
  • Added support for the CraftBukkit 1.20.2 server software
  • Improved algorithm which merges item stacks together, used by /invgive
Cheers!
----------, Sep 22, 2023

Hi all,
This update brings the following changes to InvSee++:
  • Support for the Folia server software has been disabled in this version. It was experimental for a long while, and it never really worked completely. I still want to implement proper support at some point, but this is a non-trivial task due to the fact that inventory spectator views combine inventories managed by multiple entity schedulers.
  • InvSee++ now as an event api, starting out with two events:
    • Added SpectatorInventoryOfflineCreatedEvent. This event is called when a SpectatorInventory is created for an offline player.
    • Added SpectatorInventorySaveEvent which is called when InvseeApi#saveInventory or InvseeApi#saveEnderchest is called by plugins. This also happens when admin players close a spectator inventory.
I know the first point is not good news, but I'd rather have a safe but more limited featureset than cause data corruption on servers for now. Thank you for your understanding.
----------, Aug 31, 2023

This update fixes a bug that occured when an enderchest was spectated and the spectated target logged in.
If your server uses Bukkit 1.8.8 then it is strongly recommended to update.

Cheers!
----------, Aug 5, 2023

Hi all, this update contains the following changes:
  • [Added] Placeholder item stacks to indicate which inventory slots are usable. Can be configured in the config.yml using the placeholder-palette option. Allowed values are glass panes (new default), icons and empty (fallback).
  • [Fixed] Improved Folia detection, fixes an incompatibility with XClaim.
  • [Fixed] When a target player was looking at a villager, you would be able to see the result item of the villager trade. This now no longer shows.
  • [Removed] support for the CraftBukkit 1.20 server software.
That's all, cheers!

P.s. if you like my work on InvSee++, consider leaving a review, or making a donation. ;)
----------, Jul 23, 2023

This update contains the following changes:
  • Fixed a critical bug that caused custom persistent data (from other plugins) to be removed from players when their inventories were saved.
  • Added an extra check for player save file names such that the console no longer spams so much when a wrong file is encountered.
  • Fixed a potential memory leak that could occur when running InvSee++ on Glowstone.
Cheers!
----------, Jul 13, 2023

Hi all.

This update makes the following changes to InvSee++:

Additions:
  • Supports CraftBukkit 1.20.1
  • Added support for nbt-tag argument for /invgive and /endergive on Glowstone
Removed:
  • Support for Minecraft 1.19.2 and 1.19.3.
Cheers!
----------, Jun 12, 2023

This update adds support for the following server software to InvSee++:
  • CraftBukkit 1.20
    • Forks such as Spigot, Paper, Purpur and Pufferfish should work just as well.
    • Folia support is still experimental.
  • Mohist 1.19.4
  • Glowstone
Cheers!

P.S. If you like my work on InvSee++, consider making a donation, or leaving a review ;).
----------, Jun 8, 2023

Hey all.

To those using Minecraft 1.8.8 and 1.12.2, you can now specify item data values in the /invgive, /endergive, /invclear and /enderclear commands.

For example, to give the player Jannyboy11 10 red wool blocks, and then remove 5, use:
Code (Text):

/endergive Jannyboy11 wool:14 10
/enderclear Jannyboy11 wool:14 5
 
Cheers!
----------, May 18, 2023

Hi all, it's time for another udpate, this update contains the following changes:
  • InvSee++ now uses Mojang's profile api to resolve usernames from players' unique ids instead of the now removed name history api.
  • Fixed a resource leak in the difference logger implementation.
  • Implemented InventoryView#getOriginalTitle() and InventoryView#setTitle(String) for spectator inventory views.
If you like my work on InvSee++, consider leaving a review, or making a donation, thanks!
----------, May 18, 2023

Fixes the following bugs:
  • Fixed a StackOverflowError that occured when using /invsee or /endersee if PerWorldInventory was installed.
  • Fixed a bug where spectator inventories wouldn't open for the spectating player if a PWI command argument was used.
----------, Apr 28, 2023

This change to InvSee++ does not introduce any new features for server users, but the InvseeAPI used by other developers has seen several improvements and has been completely documented now.

If you are a developer wanting to make use of InvSee++'s API, these are your places to be:
Cheers!
----------, Apr 10, 2023

Hi all!

This includes the following changes to InvSee++:
  • InvSee++ now supports the Folia server software.
  • Missing configuration options will now be written to the config file with default values when the plugin starts.
Cheers!
----------, Apr 9, 2023

Hey there! This release of InvSee++ comes with the following changes:
  • Added CraftBukkit 1.19.4 support.
  • Improved support for Forge/Bukkit hybrid servers for Minecraft 1.16.5.
  • Fixed a bug where a player exempted from being spectated could still be spectated if already spectated by a player who bypasses exemption status.
If you like my work on InvSee++, please consider leaving a review, or donating. Thanks!
----------, Mar 14, 2023

This release of InvSee++ comes with the following changes:
  • InvSee++ now runs on CraftBukkit 1.8.8
  • Fixed a bug where /invsee and /endersee would not take the bypass permissions into account
  • Fixed a bug where sometimes the main spectator inventory would not correctly display the cursor slot
If you like my work on InvSee++, you can support me (indirectly) by leaving a review, or (directly) by making a donation :)

Cheers!
----------, Feb 7, 2023

Hey everybody,

This version of InvSee++ comes with the following changes:
  • Changed logging formatting internally.
  • Added configurable logging formats:
    Code (YAML):
    # Logging options. InvSee++ can log what spectators change in the SpectatorInventories.
    # Change these values to change how logging works.
    logging
    :
      # Pick one from: [LOG_NEVER, LOG_ON_CLOSE, LOG_EVERY_CHANGE]
      granularity
    : LOG_ON_CLOSE
      # Pick zero or more from: [SERVER_LOG_FILE, PLUGIN_LOG_FILE, SPECTATOR_LOG_FILE, CONSOLE]
      output
    : [PLUGIN_LOG_FILE ]
      #
      # Logging formats strings:
      # The following macros will be replaced by the plugin:
      #   <date> - will be replaced by the current date in yy-MM-dd notation
      #   <time> - will be replaced by the current time in HH:mm:ss notation
      #   <spectator_uuid> - will be replaced by the unique id of the spectator player
      #   <spectator_name> - will be replaced by the username of the spectator player
      #   <taken> - will be replaced by the items taken from the spectator inventory
      #   <given> - will be replaced by the items given to the spectator inventory
      #   <target> - will be replaced by the target player
      #
      # Format for logging to the server log file:
      format-server-log-file
    : |
     
        Spectator UUID: <spectator_uuid>

        Spectator Name
    : <spectator_name>
        Taken        
    : <taken>
        Given        
    : <given>
        Target        
    : <target >
      # Format for logging to the plugin's log file:
      format-plugin-log-file
    : |
        [<date> <time>] [<level>]
    :
        Spectator UUID
    : <spectator_uuid>
        Spectator Name
    : <spectator_name>
        Taken        
    : <taken>
        Given        
    : <given>
        Target        
    : <target >
      # Format for logging to the spectator's log file
      format-spectator-log-file
    : |
        [<date> <time>] [<level>]
    :
        Taken        
    : <taken>
        Given        
    : <given>
        Target        
    : <target >
      # Format for logging to the console:
      format-console
    : |
        [<date> <time>] [<level>]
    :
        Spectator UUID
    : <spectator_uuid>
        Spectator Name
    : <spectator_name>
        Taken        
    : <taken>
        Given        
    : <given>
        Target        
    : <target>
  • Api: Added SpectatorInventoryView, which allows access to the Difference that is tracked for logging.
----------, Feb 5, 2023

InvSee++ now works better on Forge/Bukkit hybrid servers for Minecraft versions 1.18.2 and newer. This update comes with the following changes:
  • Fixed #38
  • Fixed another bug that caused errors not to be logged when the spectator inventory could be created, but not opened.
  • Fixed #39
----------, Jan 31, 2023

Hi all,

This update of InvSee++ comes with the following changes:

Added:
  • Logging!
    • Support for logging changes made to the spectator inventories by spectating players.
    • Logging can be configured in the config now:
      Code (YAML):
      # Logging options. InvSee++ can log what spectators change in the SpectatorInventories.
      # Change these values to change how logging works.
      logging
      :
        # Pick one from: [LOG_NEVER, LOG_ON_CLOSE, LOG_EVERY_CHANGE]
        granularity
      : LOG_ON_CLOSE
        # Pick zero or more from: [CONSOLE, SERVER_LOG_FILE, PLUGIN_LOG_FILE, SPECTATOR_LOG_FILE]
        output
      : [PLUGIN_LOG_FILE ]
       
  • Bypass permissions!
    • invseeplusplus.bypass-exempt.invsee to ignore whether targets are exempted from having their inventory spectated using /invsee
    • invseeplusplus.bypass-exempt.endersee to ignore whether targets are exempted from having their enderchest spectated using /endersee
    • invseeplusplus.bypass-exempt has been added as a parent permission for both invseeplusplus.bypass-exempt.invsee and invseeplusplus.bypass-exempt.endersee
    • invseeplusplus.* has also gained these two new permissions as children.
  • Added configuration option for whether InvSee++ lets you create spectator inventories for players who were never on the server before:
    Code (YAML):
    # Whether InvSee++ will let you spectate inventories of players who never player on the server before.
    enable-unknown-player-support
    : true
  • Speaking of configuration options: InvSee++_Give has gained the following configuration options:
    Code (YAML):
    # Whether InvSee++_Give can give items to offline players.
    # Possible values: [false, true, same_as_InvSee++, same_as_InvseeAPI]
    offline-player-support
    : true

    # Whether InvSee++_Give can give items to players who have not played on the server before.
    # Possible values: [false, true, same_as_InvSee++, same_as_InvseeAPI]
    unknown-player-support
    : true

    # Whether InvSee++_Give respects the target player's exemption status.
    # Possible values: [false, true, permission]
    bypass-exempt
    : permission
     
  • With these options you can configure whether InvSee++_Give gives items to offline players, unknown players, and whether it can bypass exempt permissions. Use value permission to only bypass when the command sender has the exemption permission.​
  • InvSee++_Clear has got similar config options:
    Code (YAML):
    # Whether InvSee++_Clear can remove items from offline players.
    # Possible values: [false, true, same_as_InvSee++, same_as_InvseeAPI]
    offline-player-support
    : true

    # Whether InvSee++_Clear respects the target player's exemption status.
    # Possible values: [false, true, permission]
    bypass-exempt
    : permission
That is it! Cheers!

P.s. Feel free to write a review or make a donation ;)
----------, Jan 25, 2023

This update brings a bunch of improvements to the InvseeAPI.
First of all, the Api is now documented on the wiki on GitHub!

The following changes were made to the Api:
  • Optimised SpectatorInventory cache - no longer iterates over all online players.
  • Properly implemented methods in MainSpectatorInventory for checking whether items exist, or removing items from the inventory. (Adding items was already properly implemented.)
    • This fixes a bug in InvSee++_Clear where items wouldn't be removed from the armour slots, cursor slot, offhand slot, or personal slots.
  • Added PlayerInventorySlot#defaultIndex, PlayerInventorySlot#byDefaultIndex, EnderChestSlot#defaultIndex, EnderChestSlot#byDefaultIndex.
  • Addressed a code smell where a mutable public field was used to set the bukkit wrapper for nms inventories.
  • Default values for customisation parameters (Title, OfflineSupport, Mirror) are now obtained from InvSee++'s config.
Other changes:
  • Fixed an issue where tabcompletion on Paper API-enabled servers would not work as intended (the first character was case-insensitive, but the others were not).
  • Dropped support for CraftBukkit 1.19. (1.19.2 and 1.19.3 are still supported)
  • Fixed an issue in the PerWorldInventory integration caused by not doing world-specific permission checks.
  • The project is now licensed under the LGPLv2.1 since version 0.15.4.
And that brings me to another point. I provide InvSee++ for free, and in most cases I do provide support free of charge as well. While supporting the project financially is completely optional, I would like to remind people that the option to donate exists.

Cheers!
----------, Jan 8, 2023

InvSee++ can now also tabcomplete usernames that do not adhere to the specification for valid usernames: https://help.minecraft.net/hc/en-us...racters:,character accepted is _ (underscore)

This fixes an issue that would occur on servers that allow invalid usernames.
----------, Jan 1, 2023

This update brings the following changes:
Additions:
  • Config option to customise the layout of the spectator inventories:
    Code (YAML):
    # Default templates for spectator inventories.
    # legend:
    #   inventory:
    #     - i_xx is a regular inventory 'container' slot (xx being the slot number)
    #     - a_x is an armour slot: b for boots, l for leggings, c for chest and h for helmet
    #     - oh is the offhand slot
    #     - c is the cursor slot
    #     - p_xx is a 'personal' slot, where the contents of the player's crafting items / anvil items / enchanting table items / etc. live
    #     - _ is an unused slot
    #   enderchest:
    #     - e_xx is a regular enderchest 'container' slot (xx being the slot number)
    #   Note that normally a player's enderchest is only 3*9=27 slots in size, but on Purpur this can go up to 54.
    templates
    :
      inventory
    : |
        i_00 i_01 i_02 i_03 i_04 i_05 i_06 i_07 i_08
        i_09 i_10 i_11 i_12 i_13 i_14 i_15 i_16 i_17
        i_18 i_19 i_20 i_21 i_22 i_23 i_24 i_25 i_26
        i_27 i_28 i_29 i_30 i_31 i_32 i_33 i_34 i_35
        a_b  a_l  a_c  a_h  oh   c    _    _    _  
        p_00 p_01 p_02 p_03 p_04 p_05 p_06 p_07 p_08
      enderchest
    : |
        e_00 e_01 e_02 e_03 e_04 e_05 e_06 e_07 e_08
        e_09 e_10 e_11 e_12 e_13 e_14 e_15 e_16 e_17
        e_18 e_19 e_20 e_21 e_22 e_23 e_24 e_25 e_26
        e_27 e_28 e_29 e_30 e_31 e_32 e_33 e_34 e_35
        e_36 e_37 e_38 e_39 e_40 e_41 e_42 e_43 e_44
        e_45 e_46 e_47 e_48 e_49 e_50 e_51 e_52 e_53
  • This concept is also available via the api, it is called 'Mirror', representing a mirror through which the inventory is spectated. Mirrors have the power to change the slots in which the player's items are displayed, and they work on a per-window basis. This means that multiple admins could spectate the same player simultaniously, using different layouts! To make this work, several new overloads have been defined in the api, and new overloads have been defined that accept a Mirror as an argument. There are also two new methods: InvseeAPI#openMainSpectatorInventory and InvseeAPI#openEnderSpectatorInventory. The api is backwards-compatible for api consumers, but api implementors must update their code in order to work on this new version.
Removed:
  • Support for CraftBukkit 1.19.1
----------, Dec 27, 2022

This update contains the following changes:
  • Optimized tabcompletion for offline players on Paper (and forks): Instead of searching linearly over all the all the player data files, the tabcompleter now uses a Trie structure interally.
  • A warning is now emitted for corrupt player files that could not be read.
  • Tabcompletion for offline players is now enabled by default.
For api users there is one breaking change:
  • The interface OfflinePlayerProvider was changed. Users with custom implementations of this interface will have to adapt their implementation to the new reactive pattern. The old methods have been deprecated.
----------, Dec 24, 2022

Additions in this release:
  • InvSee++ and addons now support CraftBukkit (and forks) version 1.19.3
  • Can now customise the spectator inventory titles in the config, e.g.
    Code (YAML):
    titles:
      inventory
    : "<player>'s inventory"
      enderchest
    : "<player>'s enderchest"
----------, Dec 7, 2022

In order to spectate inventories of offline players, InvSee++ needs to do UUID lookups when the provided argument in the command is a username.
The order in which the strategies to look up UUIDs are attempted is changed in this update. The order is now as follows:
  1. Get it from the player in case they are online.
  2. If step 1 didn't succeed, get it from the cache of recenly logged out players.
  3. If step 2 didn't succeed, get it from the offline player cache in Paper-api enabled servers.
  4. If step 3 didn't succeed, get it from the permission plugin (supports LuckPerms, GroupManager, BungeePerms and UltraPermissions).
  5. If step 4 didn't succeed, get it from the proxy server using plugin messages (supports BungeeCord and Velocity).
  6. If step 5 didn't succeed, get it by making a REST api call to Mojang.
  7. If step 6 didn't succeed, get it from the player save files directly.
The last two strategies have been swapped, so that on server with lots of players getting the UUID won't take as long anymore since it's very likely that the player save files don't have to be inspected anymore.
Strategies 3 and 4 are also new in this update.
----------, Aug 17, 2022

If your server is in offline mode because it is running behind a proxy, then if the proxy is in online mode, InvSee++ will now still try to resolve player UUIDs via Mojang's api when needed. This supports both BungeeCord and Velocity.
----------, Aug 15, 2022

This update makes InvSee++, InvSee++_Give and InvSee++_Clear work on CraftBukkit 1.19.2 (and forks). There are no other changes.

Cheers!
----------, Aug 6, 2022

This release of InvSee++ brings the following changes:

Additions:
  • InvSee++_Clear addon
    • Command: /invclear <player> <item type>? <amount>?, permission: invseeplusplus.clear.inventory
    • Command: /enderclear <player> <item type>? <amount>? , permission: invseeplusplus.clear.enderchest
    • Permission: invseeplusplus.clear.* provides both invseeplusplus.clear.inventory and invseeplusplus.clear.enderchest
    • invseeplusplus.* will now also provide invseeplusplus.clear.*
Fixes:
  • Fixed a longstanding concurrency bug that caused player files to be read incorrectly occasionally.
----------, Aug 2, 2022

This update makes the following changes to InvSee++ and InvSee++_Give:

Added:
  • Support for CraftBukkit 1.19.1
  • /invgive & /endergive: If not all items could be given to the target player, the plugin will now log how many items are added to the queue.
Removed:
  • Support CraftBukkit 1.18.1
Changed:
  • The 'edit' permissions will also provide their respective 'view' permissions, i.e.: invseeplusplus.invsee.edit will now also provide invsee.plusplus.invsee.view, and similarly invseeplusplusinvsee.endersee.edit will provide invseeplusplus.endersee.view. This makes the invseeplusplus.invsee and invseeplusplus.endersee permissions obsolete.
----------, Jul 27, 2022

If you install InvSee++_Give next to InvSee++ you will get access to the /invgive and /endergive commands. They work exactly like you'd expect:
  • /invgive <player> <item type> <amount>? <nbt tag>? - Adds items to the inventory of an (offline) player. Permission: invseeplusplus.give.inventory
  • /endergive <player> <item type> <amount>? <nbt tag>? - Adds items to the enderchest of an (offline) player. Permission:
    invseeplusplus.give.enderchest
More permissions:
  • invseeplusplus.give.* provides both invseeplusplus.give.inventory and invseeplusplus.enderchest
  • invseeplusplus.* now also provides invseeplusplus.give.*
Other changes in this release:
  • Fixed MainSpectatorInventory#addItem, MainSpectatorInventory#firstEmpty and MainSpectatorInventory#first (both overloads)
  • Fixed MainSpectatorInventory#get/setStorageContents
----------, Jul 20, 2022

- Added a configuration option (config.yml):
Code (YAML):

enable-offline-player-support
: true
 
When set to false, InvSee++ will not let you spectate inventories and enderchests of players who are offline.

- Other changes
Removed Apis that were deprecated for removal.
Dropped support for CraftBukkit 1.18 (support for 1.18.1 and 1.18.2 is still included).
----------, Jun 9, 2022

This update makes InvSee++ work on CraftBukkit/Spigot 1.19.

Cheers!
----------, Jun 8, 2022

InvSee++ no longer tries to load code that is only intended to be used by more recent versions of Minecraft. This fixes a bug that would make it impossible for InvSee++ to load on older Minecraft versions due to their lower Java requirement.
----------, Mar 6, 2022

This update fixed a bug that got introduced while upgrading to 1.18.2. Shiftclicking items into or out of spectator inventories that are not your own now works again.
----------, Feb 28, 2022

Additionally, I included a workaround for yet another LuckPerms bug. Spectating inventories of players who have not yet played on the server should now be possible again when running LuckPerms.
----------, Feb 28, 2022

Fixed in this version:
  • The exempt permissions - just like before - are not provided to operators by default.
  • Shiftclicking when spectating your own inventory no longer results in items duplicating.
----------, Jan 4, 2022

LuckPerms decided to not obey to the contract of Vault's Permission abstraction layer, so I worked around it by doing permission lookups of offline players outside of the primary server thread. This might introduce race conditions when other permissions plugins that store all known UUID's in memory are used, but who the hell cares anyway.
----------, Jan 4, 2022

Fixed in this version:
  • Inventories of player's who haven't played on the server before wouldn't save.
----------, Jan 4, 2022

This update fixes two bugs:
  • A logic error in checking the exempt permission for offline players
  • An error thrown by LuckPerms that was caused by doing a permission lookup of an offline player given only the username (without the UUID).
----------, Dec 28, 2021

This update fixes two bugs:
  • A logic error in checking the exempt permission for offline players
  • An error thrown by LuckPerms that was caused by doing a permission lookup of an offline player given only the username (without the UUID).
----------, Dec 28, 2021

Hello, this release contains the following changes:

Added:
  • Two new permissions: invseeplusplus.exempt.invsee and
    invseeplusplus.exempt.endersee
    . These permissions make it so that the owner of these permissions can't be spectated using /invsee and /endersee respectively.
  • The 'master' permission invseeplusplus.* contains these two new permissions as children.
Fixed:
  • A bug where closing a spectator inventory would update the target player's lastPlayed (and on Paper LastSeen) timestamps.
Removed:
  • Support for Minecraft 1.15-1.15.1 (1.15.2 is still supported)
  • Support for Minecraft 1.16-1.16.4 (1.16.5 is still supported)
Changed:
  • Api changes to reflect the new reasons why creating a spectator inventory could fail.
  • Api changes to the uuid-resolve and name-resolve code.

Merry Christmas!
----------, Dec 26, 2021

Added:
  • Now supports CraftBukkit 1.18.1
Fixed:
  • A bug where async tabcompletion wouldn't work on 1.17.1 servers that lie about their bukkit version. (ehm Airplaine ahem)
----------, Dec 10, 2021

Removed
  • Support for CraftBukkit/Spigot 1.18-pre5
Added
  • Support for CraftBukkit/Spigot 1.18
----------, Nov 30, 2021

Added:
  • Support for Spigot 1.18-pre5
Fixed:
  • A bug that would trigger if an admin was viewing a player's enderchest when the target player would log in.
----------, Nov 24, 2021

I've always packaged the code for compatibility with multiple craftbukkit revisions within a single jar file, so that users wouldn't have to worry which version of InvSee++ they should download. However, since Spigot 1.17.1 md_5 decided that that he should stop bumping the net.minecraft.server revision numbers, which in the past updated always whenever a new versions of the mappings were used. I had to implement another check to see which names were used by actually fetching the version using some subroutine in de Server. This has worked fine on CraftBukkit, Spigot and Paper, HOWEVER one fork of Paper (*ehem Airplane ehem*) decided not to update their bukkit version, so InvSee++ loaded the wrong module.

This update changes the version checking code slightly to make it more robust. Hopefully this will make it so that InvSee++ loads successfully on all forks of Paper in the future, no matter how poorly maintained they are.

If you're already using InvSee++ 0.10.1 and it is working just fine for you, then there is no need to update now.
----------, Jul 13, 2021

If the plugin can't read a player's save file, then the entire stacktrace will not be printed, instead just a single line with the player's save file location will be logged.

Note that tabcompletion for offline players could already be disabled completely by setting tabcomplete-offline-players: false in the config.
----------, Jul 8, 2021

Added:
  • Support for CraftBukkit 1.17.1 & forks
Fixed:
  • An issue where integration with PerWorldInventory would not work correctly if load-data-on-join was set to false. Now InvSee++ will always save to the vanilla player data file if this setting is false.
----------, Jul 8, 2021

As requested by numerous people: This update adds support for CraftBukkit 1.12.2.

There are no other new changes, so if you're already running InvSee++ version 0.8, then updating is not strictly necessary.
----------, Jul 2, 2021

Fix that some unimplemented commands and permissions are no longer registered.
----------, Jun 16, 2021

Added:
  • Now runs on CraftBukkit and Spigot 1.17. It should also work on Paper and Purper when their 1.17 versions release, but I have no way to test that yet.
  • The ability to configure tabcompletion for offline players.
The plugin now also has a new logo thanks to @Icodak !
----------, Jun 16, 2021

Added:
  • Support for CraftBukkit/Spigot/Paper/Purpur 1.16.4
  • Added collection of Metrics using bStats. This can be disabled by setting 'enabled' to false in the bStats configuration. This configuration file is located at <server_root>/plugins/bStats/config.yml.
----------, Nov 4, 2020

Fixed:
  • A bug that caused spectators to receive inventory re-opens even when the targe player has the bypass permission from PerWorldInventory.
----------, Aug 27, 2020

Hey all, it's time for another update. This update includes new features requested by @Sofie.

Added:
  • Support for PerWorldInventory
  • Updated /invsee and /endersee commands to take an extra parameter if PerWorldInventory is installed. For example `/invsee Jannyboy11 PWI{world=world_nether}` will show you the inventory that I have in that world. This will also work for offline players. To make this as user-friendly as possible, I implemented tabcompletion and helpful error messages, should you forget the exact format.
Fixed:
  • A bug (IndexOutOfBoundsException) that could occur if another plugin tried to set contents of a spectator inventory.
----------, Aug 27, 2020

Fix the slots of the nms container for enderchests not working correctly.
----------, Aug 24, 2020

Added:
  • Support for CraftBukkit/Spigot/Paper 1.15.2
Fixed:
  • An error message would display that the player's save file could not be saved, but it had actually worked.
  • HTTP requests to Mojang's API would not work due to Java's built-in http client restricting the Connection header, causing /invsee and /endersee to break for target players that have never logged into the server yet.
----------, Aug 23, 2020

Added:
  • /invsee now shows the item that the target players is holding on his cursor
  • /invsee now shows contents of 'personal' inventories such as the player's crafting slots, workbench slots, anvils, smithing tables, enchanting tables, stone cutters, grindstones, and looms
Fixed:
  • A bug that caused some tasks to execute on the server thread instead of an async worker thread
  • Tabcompletion could sometimes yield duplicate players
----------, Aug 22, 2020

Fixed a bug that could crash the server when an item was shiftclicked into or from a spectator inventory.
----------, Aug 14, 2020

Permissions are now split up into 4 base permissions:
  • invseeplusplus.invsee.view
  • invseeplusplus.invsee.edit
  • invseeplusplus.endersee.view
  • invseeplusplus.endersee.edit
Added the following permission hierarchies:
  • invseeplusplus.invsee gives access to:
    • invseeplusplus.invsee.view
    • invseeplusplus.invsee.edit
  • invseeplusplus.endersee gives access to:
    • invseeplusplus.endersee.view
    • invseeplusplus.endersee.edit
  • invseeplusplus.view gives access to:
    • invseeplusplus.invsee.view
    • invseeplusplus.endersee.view
  • invseeplusplus.edit gives access to:
    • invseeplusplus.invsee.edit
    • invseeplusplus.endersee.edit
  • invseeplusplus.* gives access to all 4 of the base permissions.
----------, Aug 12, 2020

Adds support for Spigot 1.16.2.
----------, Aug 12, 2020

If you are running the Paper server software ( https://papermc.io/), then tabcompletion will work for ALL offline players, not just the ones that have been online during the current run of the server.
----------, Aug 11, 2020

Adds tabcompletion for offline players so long as their usernames are stored in the internal cache.
----------, Aug 11, 2020

- Added a new command: /endersee. The permission node is invseeplusplus.endersee
- Added custom inventory titles for spectator inventories
- Made it so the last 4 slots of the /invsee inventory no longer accept items
----------, Aug 6, 2020

- Fixed a uuid parsing mistake in SearchSaveFilesStrategy that caused this strategy to not work at all.
- Fixed a race condition that could occur in rare cases when a player logs in when somebody was requesting an offline inventory. This bug could make it that the spectator inventory wasn't actually linked to the player's live inventory.
----------, Aug 5, 2020

If the plugin is running on Spigot and 'bungeecord' is set to true in the settings of the spigot.yml configuration, then InvSee++ will attempt to use BungeeCord as a way to resolve player Unique IDs given a username.
----------, Aug 5, 2020

Resource Information
Author:
----------
Total Downloads: 441,267
First Release: Aug 4, 2020
Last Update: Dec 3, 2024
Category: ---------------
All-Time Rating:
87 ratings
Find more info at github.com...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings