From 5c4a5241cd2cf644165535cea6945c7f905ad342 Mon Sep 17 00:00:00 2001 From: Dustin Weckenbrock Date: Sat, 27 Dec 2025 10:51:10 +0100 Subject: [PATCH] fix(vanish): allow game mode updates to pass through --- .../stardust/listener/VanishNoPacketListener.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/onelitefeather/stardust/listener/VanishNoPacketListener.java b/src/main/java/net/onelitefeather/stardust/listener/VanishNoPacketListener.java index a52526a..242ab18 100644 --- a/src/main/java/net/onelitefeather/stardust/listener/VanishNoPacketListener.java +++ b/src/main/java/net/onelitefeather/stardust/listener/VanishNoPacketListener.java @@ -28,6 +28,9 @@ public void onPacketSend(PacketSendEvent event) { if (event.getPacketType() != PacketType.Play.Server.PLAYER_INFO) return; WrapperPlayServerPlayerInfo info = new WrapperPlayServerPlayerInfo(event); + // Allow game mode updates to pass through. + if (info.getAction() == WrapperPlayServerPlayerInfo.Action.UPDATE_GAME_MODE) return; + List list = info.getPlayerDataList(); list.removeIf(this::isVanished); info.setPlayerDataList(list); @@ -43,7 +46,7 @@ public void register() { private boolean isVanished(WrapperPlayServerPlayerInfo.PlayerData data) { UserProfile userProfile = data.getUserProfile(); - if(userProfile == null) return false; + if (userProfile == null) return false; var user = this.stardustPlugin.getUserService().getUser(userProfile.getUUID()); if (user == null) return false; return this.stardustPlugin.getUserService().getVanishService().isVanished(user.getBase());