From 5a93ec0cad70cec2e55649b63704877bb6bfddc5 Mon Sep 17 00:00:00 2001 From: kacimiamine Date: Sun, 19 Jul 2026 10:22:10 +0100 Subject: [PATCH 1/2] Fix daylight cycle integer division --- .../net/minecraft/world/clock/ServerClockManager.java.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/purpur-server/minecraft-patches/sources/net/minecraft/world/clock/ServerClockManager.java.patch b/purpur-server/minecraft-patches/sources/net/minecraft/world/clock/ServerClockManager.java.patch index 69470ccc8..09fd02f74 100644 --- a/purpur-server/minecraft-patches/sources/net/minecraft/world/clock/ServerClockManager.java.patch +++ b/purpur-server/minecraft-patches/sources/net/minecraft/world/clock/ServerClockManager.java.patch @@ -7,7 +7,7 @@ - this.clocks.values().forEach(ServerClockManager.ClockInstance::tick); + this.clocks.forEach(((worldClockHolder, clockInstance) -> { // Purpur start - Configurable daylight cycle + ServerLevel l = level != null ? level : server.overworld(); -+ int incrementTicks = 12000 / (l.isBrightOutside() ? l.purpurConfig.daytimeTicks : l.purpurConfig.nighttimeTicks); ++ float incrementTicks = (float) (12000D / (l.isBrightOutside() ? l.purpurConfig.daytimeTicks : l.purpurConfig.nighttimeTicks)); + float rate = clockInstance.rate; + clockInstance.rate *= incrementTicks; + clockInstance.tick(); From 29304dfe3df2073384f65d796cdd43aca3d83991 Mon Sep 17 00:00:00 2001 From: kacimiamine Date: Sun, 19 Jul 2026 10:35:12 +0100 Subject: [PATCH 2/2] Use float instead of double without casting --- .../net/minecraft/world/clock/ServerClockManager.java.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/purpur-server/minecraft-patches/sources/net/minecraft/world/clock/ServerClockManager.java.patch b/purpur-server/minecraft-patches/sources/net/minecraft/world/clock/ServerClockManager.java.patch index 09fd02f74..c6bd3311d 100644 --- a/purpur-server/minecraft-patches/sources/net/minecraft/world/clock/ServerClockManager.java.patch +++ b/purpur-server/minecraft-patches/sources/net/minecraft/world/clock/ServerClockManager.java.patch @@ -7,7 +7,7 @@ - this.clocks.values().forEach(ServerClockManager.ClockInstance::tick); + this.clocks.forEach(((worldClockHolder, clockInstance) -> { // Purpur start - Configurable daylight cycle + ServerLevel l = level != null ? level : server.overworld(); -+ float incrementTicks = (float) (12000D / (l.isBrightOutside() ? l.purpurConfig.daytimeTicks : l.purpurConfig.nighttimeTicks)); ++ float incrementTicks = 12000F / (l.isBrightOutside() ? l.purpurConfig.daytimeTicks : l.purpurConfig.nighttimeTicks); + float rate = clockInstance.rate; + clockInstance.rate *= incrementTicks; + clockInstance.tick();