Please be sure to install the latest ProtocolLib dev build. Please also keep your server up-to-date.
Now only displaying a warning for failed tab-complete interceptions instead of a long error message to avoid console spam. Tab-completions are still intercepted using API, however the packet listener that uses ProtocolLib is not supported on all server versions currently.
Updated to 1.19.3. Please use the latest ProtocolLib dev build. Additionally, please make sure you are using the latest PaperSpigot build if you are already using PaperSpigot. One of the recent PaperSpigot updates fixed players in vanish who send a chat message kicking other players.
The features ModifyTablistPackets and MarkVanishedPlayersAsSpectators are disabled on 1.19+ because the PlayerInfo packets are currently too unreliable to modify without severe drawbacks such as lag or instability
Instead, there are now two new PlaceholderAPI placeholders that you can use instead: %supervanish_vanishprefix% and %supervanish_vanishsuffix%.
Since these days most servers have a Tablist and Nametag plugin with PlaceholderAPI support, it is better to configure custom prefixes/suffixes for vanished players through those plugins than have SuperVanish add them. These new placeholders are either empty if the player is not vanished, or return a prefix like "[V] " if the player is vanished. The prefix can be configured in the messages.yml file (see default messages.yml file in resource description).
I forgot to turn the night vision feature back on after fixing it in the last update. That's corrected now.
Added a new feature that makes vanished players be unable to trigger the vibration of a sculk sensor. Now enabled by default. You can copy in the new config option 'PreventSculkSensorActivation' from the default config (see resource page) to disable this feature.
Because ProtocolLib is still unstable on 1.19 I haven't been able to get the NightVisionEffect feature to work on 1.19 yet. It will be fixed as soon as ProtocolLib becomes more stable or I find a workaround.
Added HEX colors. Format: #XXXXXX e.g.: '#663EF6This text would be purple!'
SilentOpenChest changes and clarifications
Now requires the permission sv.silentchest
The error message in chat and in the console regarding a plugin loading another plugin's class should now be gone
Vanished players will appear as spectators temporarily when they're opening chests silently. This is of course only the case for players who are allowed to see the vanished player. SV is required to switch players to spectator mode for them to open chests silently because of technical limitations. This is not new, it's just more visible now than in previous versions. The method I used back then doesn't work anymore and now causes error messages to appear in chat on many servers. Perhaps this will be fixed by ProtocolLib in the future so I can restore the old functionality without side-effects.
Because players are being put into spectator mode temporarily it's best to only give the permission sv.silentchest to staff. While there are checks in place to make sure that this temporary spectator mode can't be abused, players will stay in spectator mode if the server has a hard crash while they are looking into the chest (and that can be abused).
Many plugin stability improvements
Action bars should now work on many more server versions
Errors should no longer spam the console; they will only be displayed once
Many errors will now contain information on what caused them and how they can be fixed
Fixed mobs still targeting players that just vanished. Previously mobs didn't target vanished players only if they hadn't already targeted the player before the player vanished.
I'm aware that there's an issue with a "[ProtocolLib] Loaded class ..." message being displayed in-game. I'm still not sure how I can fix this or if it's even within SV's control to fix it properly. You can bypass the issue by turning off the OpenChestsSilently feature in the config. The error itself is completely harmless (but of course annoying).
Issues with "NullPointerException"s in the console are usually fixed by updating ProtocolLib.
Fixed that players named after a sub command were being put into vanish instead of executing the sub command (e.g. with a player named "list" didn't execute /sv list)
Fixed that players with no SV permissions could tab-complete SV commands
Updated PlaceholderAPI hook to the new Placeholder expansion system. If you are already using the latest version of PlaceholderAPI, you don't have to do anything. If not, update PlaceholderAPI.
Please make sure that you are using the latest ProtocolLib release. Layered permissions need to be turned on in the config to work and players need to rejoin after permission changes for them to apply.
Updated SilentOpenChest for 1.15 to support all shulker boxes
1.14: I'd like to stress once again that you need to install the latest
dev-build of ProtocolLib for 1.14 support (Instructions on ProtocolLib's resource page).
Added silent chest support for barrels
Fixed the default "/sv list" message which didnt actually include the list of vanished players. Please add "%l%" to the end of the ListMessagePrefix message in the mesages.yml file if you are affected by this.
Added new tablist indication method by using spectator mode
Removed old prefix indication since it doesn't work, if you still see the prefixes please delete the scoreboard.dat file in your world folder
Performance improvements by caching permission checks (Please note that this means that you have to rejoin to have your permissions updated if you cant use /sv even though you should be able to)
You no longer require sv.use as base permission to use /sv if you have sv.use.levelX instead
Example: If player1 has sv.use.level3 and player2 has sv.see.level3 then player2 can see player1 even if player1 is vanished, however if player1 has sv.use.level4 then player2 cant see him if he's vanished unless he has sv.see.level4 or higher
For example, you can use this feature to let nobody but the owner see admins but admins can still see mods and mods can see each other
sv.use and sv.see without any level still work and both are level 1
Players with sv.* and/or supervanish.* have access to sv.use.level1 and sv.see.level1 by default
Opped players or players with * perm have access to sv.see.level100 and sv.use.level100 and can therefore see any player and can not be seen by any player who hasn't got sv.see.level100
Fixes a small bug, which causes an error when loading supervanish with an outdated messages file
Note: If you use a 1.7.X server, turn "DisplayActionBarsToInvisiblePlayers" off!
New features: - Invisible players can open chests silently
Bugfixes: - Fixed a serious bug, which concerns servers that use multiple worlds or dimensions
- Fixed a bug of the api
Important: Save your configuration somewhere before you update to be able to restore your changes!
The jar-file is now much smaller (59kb).
Also fixed a bug and removed some annotations.
Just noticed that there is a bug in the api(may concern older versions, too): isInvisible() always returns false. Use getInvisiblePlayers().contains(p.getUniqueId().toString()) instead