mirror of
https://github.com/GeyserMC/Geyser.git
synced 2024-08-14 23:57:35 +00:00
Always reset weather
This commit is contained in:
parent
e391a67e38
commit
62eeda9641
2 changed files with 15 additions and 19 deletions
|
|
@ -79,25 +79,6 @@ public class JavaLoginTranslator extends PacketTranslator<ClientboundLoginPacket
|
||||||
// Remove extra hearts, hunger, etc.
|
// Remove extra hearts, hunger, etc.
|
||||||
entity.resetAttributes();
|
entity.resetAttributes();
|
||||||
entity.resetMetadata();
|
entity.resetMetadata();
|
||||||
|
|
||||||
// Reset weather
|
|
||||||
if (session.isRaining()) {
|
|
||||||
LevelEventPacket stopRainPacket = new LevelEventPacket();
|
|
||||||
stopRainPacket.setType(LevelEvent.STOP_RAINING);
|
|
||||||
stopRainPacket.setData(0);
|
|
||||||
stopRainPacket.setPosition(Vector3f.ZERO);
|
|
||||||
session.sendUpstreamPacket(stopRainPacket);
|
|
||||||
session.setRaining(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (session.isThunder()) {
|
|
||||||
LevelEventPacket stopThunderPacket = new LevelEventPacket();
|
|
||||||
stopThunderPacket.setType(LevelEvent.STOP_THUNDERSTORM);
|
|
||||||
stopThunderPacket.setData(0);
|
|
||||||
stopThunderPacket.setPosition(Vector3f.ZERO);
|
|
||||||
session.sendUpstreamPacket(stopThunderPacket);
|
|
||||||
session.setThunder(false);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
session.setWorldName(spawnInfo.getWorldName());
|
session.setWorldName(spawnInfo.getWorldName());
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,7 @@ package org.geysermc.geyser.util;
|
||||||
|
|
||||||
import org.cloudburstmc.math.vector.Vector3f;
|
import org.cloudburstmc.math.vector.Vector3f;
|
||||||
import org.cloudburstmc.math.vector.Vector3i;
|
import org.cloudburstmc.math.vector.Vector3i;
|
||||||
|
import org.cloudburstmc.protocol.bedrock.data.LevelEvent;
|
||||||
import org.cloudburstmc.protocol.bedrock.data.PlayerActionType;
|
import org.cloudburstmc.protocol.bedrock.data.PlayerActionType;
|
||||||
import org.cloudburstmc.protocol.bedrock.packet.*;
|
import org.cloudburstmc.protocol.bedrock.packet.*;
|
||||||
import org.geysermc.geyser.entity.type.Entity;
|
import org.geysermc.geyser.entity.type.Entity;
|
||||||
|
|
@ -110,6 +111,20 @@ public class DimensionUtils {
|
||||||
// Effects are re-sent from server
|
// Effects are re-sent from server
|
||||||
entityEffects.clear();
|
entityEffects.clear();
|
||||||
|
|
||||||
|
// Always reset weather, as it sometimes suddenly starts raining. See https://github.com/GeyserMC/Geyser/issues/3679
|
||||||
|
LevelEventPacket stopRainPacket = new LevelEventPacket();
|
||||||
|
stopRainPacket.setType(LevelEvent.STOP_RAINING);
|
||||||
|
stopRainPacket.setData(0);
|
||||||
|
stopRainPacket.setPosition(Vector3f.ZERO);
|
||||||
|
session.sendUpstreamPacket(stopRainPacket);
|
||||||
|
session.setRaining(false);
|
||||||
|
LevelEventPacket stopThunderPacket = new LevelEventPacket();
|
||||||
|
stopThunderPacket.setType(LevelEvent.STOP_THUNDERSTORM);
|
||||||
|
stopThunderPacket.setData(0);
|
||||||
|
stopThunderPacket.setPosition(Vector3f.ZERO);
|
||||||
|
session.sendUpstreamPacket(stopThunderPacket);
|
||||||
|
session.setThunder(false);
|
||||||
|
|
||||||
//let java server handle portal travel sound
|
//let java server handle portal travel sound
|
||||||
StopSoundPacket stopSoundPacket = new StopSoundPacket();
|
StopSoundPacket stopSoundPacket = new StopSoundPacket();
|
||||||
stopSoundPacket.setStoppingAllSound(true);
|
stopSoundPacket.setStoppingAllSound(true);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue