From 6fb3745d64f2dad3576ac1cd53165f38a9d194c1 Mon Sep 17 00:00:00 2001 From: Hunter Richardson Date: Fri, 2 Aug 2024 11:55:20 -0400 Subject: [PATCH] fixted bug where time was only ever set to sunrise or sunset [result of integer(long) division was either 0 or 1] --- .../jack1424/realTimeWeather/RealTimeWeather.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/java/io/github/jack1424/realTimeWeather/RealTimeWeather.java b/src/main/java/io/github/jack1424/realTimeWeather/RealTimeWeather.java index d061a41..bea33fb 100644 --- a/src/main/java/io/github/jack1424/realTimeWeather/RealTimeWeather.java +++ b/src/main/java/io/github/jack1424/realTimeWeather/RealTimeWeather.java @@ -161,15 +161,17 @@ public final class RealTimeWeather extends JavaPlugin { sunsetMinutes += 720; LocalTime currentTime = LocalTime.of(cal.get(Calendar.HOUR_OF_DAY), cal.get(Calendar.MINUTE)); - int currentMinutes = currentTime.getHour() * 60 + currentTime.getMinute(); + double currentMinutes = currentTime.getHour() * 60 + currentTime.getMinute(); if (currentMinutes >= sunriseMinutes && currentMinutes < sunsetMinutes) { - return ((currentMinutes - sunriseMinutes) / (sunsetMinutes - sunriseMinutes) * 13569) + 23041; + double daytimeFraction=(currentMinutes - sunriseMinutes) / (sunsetMinutes - sunriseMinutes); + return (long) (daytimeFraction * 13569) + 23041; } else { if (currentMinutes < sunriseMinutes) currentMinutes += 1440; - - return ((currentMinutes - sunsetMinutes) / (1440 - sunsetMinutes + sunriseMinutes) * 13569) + 12610; + + double nighttimeFraction=(currentMinutes - sunsetMinutes) / (1440 - sunsetMinutes + sunriseMinutes); + return (long)(nighttimeFraction * 13569) + 12610; } }