Skip to content

Commit e994d6e

Browse files
committed
Bring in #4847 change
1 parent 6299903 commit e994d6e

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

core/src/main/java/org/geysermc/geyser/util/DimensionUtils.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,11 @@
2727

2828
import org.cloudburstmc.math.vector.Vector3f;
2929
import org.cloudburstmc.math.vector.Vector3i;
30+
import org.cloudburstmc.protocol.bedrock.data.LevelEvent;
3031
import org.cloudburstmc.protocol.bedrock.data.PlayerActionType;
3132
import org.cloudburstmc.protocol.bedrock.packet.ChangeDimensionPacket;
3233
import org.cloudburstmc.protocol.bedrock.packet.ChunkRadiusUpdatedPacket;
34+
import org.cloudburstmc.protocol.bedrock.packet.LevelEventPacket;
3335
import org.cloudburstmc.protocol.bedrock.packet.MobEffectPacket;
3436
import org.cloudburstmc.protocol.bedrock.packet.PlayerActionPacket;
3537
import org.cloudburstmc.protocol.bedrock.packet.StopSoundPacket;
@@ -85,6 +87,20 @@ public static void switchDimension(GeyserSession session, JavaDimension javaDime
8587
// Effects are re-sent from server
8688
entityEffects.clear();
8789

90+
// Always reset weather, as it sometimes suddenly starts raining. See https://github.com/GeyserMC/Geyser/issues/3679
91+
LevelEventPacket stopRainPacket = new LevelEventPacket();
92+
stopRainPacket.setType(LevelEvent.STOP_RAINING);
93+
stopRainPacket.setData(0);
94+
stopRainPacket.setPosition(Vector3f.ZERO);
95+
session.sendUpstreamPacket(stopRainPacket);
96+
session.setRaining(false);
97+
LevelEventPacket stopThunderPacket = new LevelEventPacket();
98+
stopThunderPacket.setType(LevelEvent.STOP_THUNDERSTORM);
99+
stopThunderPacket.setData(0);
100+
stopThunderPacket.setPosition(Vector3f.ZERO);
101+
session.sendUpstreamPacket(stopThunderPacket);
102+
session.setThunder(false);
103+
88104
finalizeDimensionSwitch(session, player);
89105

90106
// If the bedrock nether height workaround is enabled, meaning the client is told it's in the end dimension,

0 commit comments

Comments
 (0)