Skip to content

Commit cc94d5a

Browse files
committed
Fix #5395, fix #5398
1 parent 679bc41 commit cc94d5a

File tree

3 files changed

+8
-4
lines changed

3 files changed

+8
-4
lines changed

core/src/main/java/org/geysermc/geyser/impl/camera/GeyserCameraData.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,12 @@ public void hideElement(GuiElement... elements) {
272272
elementSet.add(HUD_ELEMENT_VALUES[element.id()]);
273273
}
274274

275-
session.sendUpstreamPacket(packet);
275+
if (session.isSentSpawnPacket()) {
276+
session.sendUpstreamPacket(packet);
277+
} else {
278+
// Ensures hidden GUI elements properly hide when we spawn in the spectator gamemode
279+
session.getUpstream().queuePostStartGamePacket(packet);
280+
}
276281
}
277282

278283
@Override

core/src/main/java/org/geysermc/geyser/network/netty/handler/RakGeyserRateLimiter.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ public RakGeyserRateLimiter(Channel channel) {
4444

4545
@Override
4646
protected int getAddressMaxPacketCount(InetAddress address) {
47-
// The default packet limit is already padded, so we reduce it by 20%
48-
return (int) (super.getAddressMaxPacketCount(address) * sessionManager.getAddressMultiplier(address) * 0.8);
47+
return super.getAddressMaxPacketCount(address) * sessionManager.getAddressMultiplier(address);
4948
}
5049
}

core/src/main/java/org/geysermc/geyser/translator/protocol/java/JavaLoginTranslator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ public void translate(GeyserSession session, ClientboundLoginPacket packet) {
8282
session.setDimensionType(newDimension);
8383
session.setWorldName(spawnInfo.getWorldName());
8484
session.setLevels(Arrays.stream(packet.getWorldNames()).map(Key::asString).toArray(String[]::new));
85+
session.setGameMode(spawnInfo.getGameMode());
8586

8687
boolean needsSpawnPacket = !session.isSentSpawnPacket();
8788
if (needsSpawnPacket) {
@@ -97,7 +98,6 @@ public void translate(GeyserSession session, ClientboundLoginPacket packet) {
9798
session.sendUpstreamPacket(playerGameTypePacket);
9899
}
99100

100-
session.setGameMode(spawnInfo.getGameMode());
101101
entity.setLastDeathPosition(spawnInfo.getLastDeathPos());
102102

103103
entity.updateBedrockMetadata();

0 commit comments

Comments
 (0)