mirror of
https://github.com/GeyserMC/Geyser.git
synced 2025-12-19 23:09:29 +00:00
Reset the scoreboard in the configuration stage
This commit is contained in:
@@ -81,7 +81,7 @@ public final class WorldCache {
|
|||||||
resetTitleTimes(false);
|
resetTitleTimes(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void removeScoreboard() {
|
public void resetScoreboard() {
|
||||||
scoreboard.removeScoreboard();
|
scoreboard.removeScoreboard();
|
||||||
scoreboard = new Scoreboard(session);
|
scoreboard = new Scoreboard(session);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,5 +45,11 @@ public class JavaFinishConfigurationPacketTranslator extends PacketTranslator<Cl
|
|||||||
}
|
}
|
||||||
session.sendUpstreamPacket(playerListPacket);
|
session.sendUpstreamPacket(playerListPacket);
|
||||||
session.getEntityCache().removeAllPlayerEntities();
|
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);
|
DimensionUtils.fastSwitchDimension(session, fakeDim);
|
||||||
}
|
}
|
||||||
|
|
||||||
session.getWorldCache().removeScoreboard();
|
|
||||||
|
|
||||||
// Remove all bossbars
|
// Remove all bossbars
|
||||||
session.getEntityCache().removeAllBossBars();
|
session.getEntityCache().removeAllBossBars();
|
||||||
// Remove extra hearts, hunger, etc.
|
// Remove extra hearts, hunger, etc.
|
||||||
|
|||||||
Reference in New Issue
Block a user