mirror of
https://github.com/GeyserMC/Geyser.git
synced 2024-08-14 23:57:35 +00:00
Make all moon phases visible
The fix to prevent integer overflows also prevented moon phases from being visible until now. Fixes #2927
This commit is contained in:
parent
cb8858fc42
commit
98db9c6948
1 changed files with 4 additions and 1 deletions
|
@ -42,7 +42,10 @@ public class JavaSetTimeTranslator extends PacketTranslator<ClientboundSetTimePa
|
||||||
|
|
||||||
// https://minecraft.gamepedia.com/Day-night_cycle#24-hour_Minecraft_day
|
// https://minecraft.gamepedia.com/Day-night_cycle#24-hour_Minecraft_day
|
||||||
SetTimePacket setTimePacket = new SetTimePacket();
|
SetTimePacket setTimePacket = new SetTimePacket();
|
||||||
setTimePacket.setTime((int) Math.abs(time) % 24000);
|
// We use modulus to prevent an integer overflow
|
||||||
|
// 24000 is the range of ticks that a Minecraft day can be; we times by 8 so all moon phases are visible
|
||||||
|
// (Last verified behavior: Bedrock 1.18.12 / Java 1.18.2)
|
||||||
|
setTimePacket.setTime((int) Math.abs(time) % (24000 * 8));
|
||||||
session.sendUpstreamPacket(setTimePacket);
|
session.sendUpstreamPacket(setTimePacket);
|
||||||
if (!session.isDaylightCycle() && time >= 0) {
|
if (!session.isDaylightCycle() && time >= 0) {
|
||||||
// Client thinks there is no daylight cycle but there is
|
// Client thinks there is no daylight cycle but there is
|
||||||
|
|
Loading…
Reference in a new issue