Migration Guide
Upgrading from the original AdvancedVanish by quantiom (1.2.x, 2026.2 or 2026.5.0, package
me.quantiom.advancedvanish) to the BusyBee rewrite (26.10.0 and later).
For server owners
- Check you run Paper or Folia 1.21+. Spigot isn't supported any more.
- Stop the server, replace the jar, start it.
- That's it. Your
config.ymlis used as it is (same keys, sameconfig-version), and so are your permission nodes andvanishStates.json.
What you can remove
- ProtocolLib is no longer used. If nothing else needs it, you can remove it. Server-list hiding is built in now.
What behaves differently
| Before | Now |
|---|---|
| Staff online when someone vanished couldn't see them without priority, but staff who joined later could | Without priority nobody sees vanished players, consistently. With priority, the priority rule applies everywhere |
| Unvanishing took flight away from everyone except spectators | Only flight that vanishing granted is taken away. Creative players and /fly users keep theirs |
when-vanished.fly.keep-on-unvanish had no effect |
It works |
receive-damage-from-entities: true still blocked all damage |
Vanished players take entity damage when it's on |
| Every shutdown sent fake join messages and reset everyone's cross-server state to visible | Shutdowns are quiet and leave the network state alone |
| On 26.x, vanish potion effects showed a countdown timer (the version check didn't recognise 26.x) | They are infinite (∞) on every version |
sql.table-prefix did nothing; the table was advancedvanish |
The table is advancedvanish_states. Old rows are copied over automatically |
| The update checker pointed at the original Spigot page | It checks the BusyBee GitHub releases |
| Arrows and other projectiles fired by a vanished player ignored the attack rules | Projectiles count as an attack by their shooter |
| The old config and README listed bPermissions, GroupManager and PermissionsEx for priority. Only | |
| LuckPerms was ever implemented, and that's still the case. |
For developers
The API moved package and became thread-safe, so code that used it needs a small update. Plugins
that only check the vanished metadata don't need any change.
| Before | Now |
|---|---|
me.quantiom.advancedvanish.util.AdvancedVanishAPI.INSTANCE |
net.busybee.advancedvanish.api.AdvancedVanishAPI (static methods) |
isPlayerVanished(player) |
isVanished(player) |
vanishPlayer(player, onJoin) |
vanish(player), returns CompletableFuture<Boolean> |
unVanishPlayer(player, onLeave) |
unVanish(player), returns CompletableFuture<Boolean> |
getVanishedPlayers() (mutable list) |
getVanishedPlayers() (read-only set) |
canSee(player, target) returned false for visible targets |
canSee(observer, target) returns true for visible targets |
me.quantiom.advancedvanish.event.* |
net.busybee.advancedvanish.api.event.* |
event.player, event.onJoin, event.onLeave (Kotlin) |
getPlayer(), isOnJoin(), isOnLeave() |
PrePlayerUnVanishEvent.fromLeave |
isOnLeave() |
The four event names are unchanged. Details on the Developer API page.