mirror of
https://github.com/GeyserMC/Geyser.git
synced 2025-12-19 14:59:27 +00:00
Reset the scoreboard in the configuration stage
This commit is contained in:
@@ -81,7 +81,7 @@ public final class WorldCache {
|
||||
resetTitleTimes(false);
|
||||
}
|
||||
|
||||
public void removeScoreboard() {
|
||||
public void resetScoreboard() {
|
||||
scoreboard.removeScoreboard();
|
||||
scoreboard = new Scoreboard(session);
|
||||
}
|
||||
|
||||
@@ -45,5 +45,11 @@ public class JavaFinishConfigurationPacketTranslator extends PacketTranslator<Cl
|
||||
}
|
||||
session.sendUpstreamPacket(playerListPacket);
|
||||
session.getEntityCache().removeAllPlayerEntities();
|
||||
|
||||
// while ClientboundLoginPacket holds the level, it doesn't hold the scoreboard.
|
||||
// The ClientboundStartConfigurationPacket indirectly removes the old scoreboard,
|
||||
// and this packet indirectly creates the new one.
|
||||
// This makes this packet a good place to reset the scoreboard.
|
||||
session.getWorldCache().resetScoreboard();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,8 +71,6 @@ public class JavaLoginTranslator extends PacketTranslator<ClientboundLoginPacket
|
||||
DimensionUtils.fastSwitchDimension(session, fakeDim);
|
||||
}
|
||||
|
||||
session.getWorldCache().removeScoreboard();
|
||||
|
||||
// Remove all bossbars
|
||||
session.getEntityCache().removeAllBossBars();
|
||||
// Remove extra hearts, hunger, etc.
|
||||
|
||||
Reference in New Issue
Block a user