Skip to content

Commit 945ab6c

Browse files
committed
fix(bungee): clear cached bossbars when switching servers
Relates to #439 (cherry picked from commit 03d8945)
1 parent 095e25d commit 945ab6c

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

core/src/main/java/com/rexcantor64/triton/listeners/BungeeListener.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import net.md_5.bungee.event.EventHandler;
1818
import net.md_5.bungee.event.EventPriority;
1919
import net.md_5.bungee.netty.PipelineUtils;
20+
import net.md_5.bungee.protocol.ProtocolConstants;
2021

2122
import java.lang.reflect.Method;
2223
import java.util.ArrayList;
@@ -33,6 +34,11 @@ public void onPlayerJoin(ServerConnectedEvent event) {
3334

3435
Triton.asBungee().getBridgeManager().sendPlayerLanguage(lp, event.getServer());
3536

37+
if (event.getPlayer().getPendingConnection().getVersion() >= ProtocolConstants.MINECRAFT_1_20_2) {
38+
// On 1.20.2 and above, the join player packet starts clearing bossbars automatically, so clear them here
39+
lp.clearCachedBossbars();
40+
}
41+
3642
if (Triton.get().getConf().isRunLanguageCommandsOnLogin()) {
3743
lp.executeCommands(event.getServer());
3844
}

core/src/main/java/com/rexcantor64/triton/player/BungeeLanguagePlayer.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,10 @@ public void removeBossbar(UUID uuid) {
6969
bossBars.remove(uuid);
7070
}
7171

72+
public void clearCachedBossbars() {
73+
bossBars.clear();
74+
}
75+
7276
public void setLastTabHeader(BaseComponent lastTabHeader) {
7377
this.lastTabHeader = lastTabHeader.duplicate();
7478
}

0 commit comments

Comments
 (0)