diff options
Diffstat (limited to 'src/main/java/com/thatgravyboat/skyblockhud/handlers/TimeHandler.java')
-rw-r--r-- | src/main/java/com/thatgravyboat/skyblockhud/handlers/TimeHandler.java | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/main/java/com/thatgravyboat/skyblockhud/handlers/TimeHandler.java b/src/main/java/com/thatgravyboat/skyblockhud/handlers/TimeHandler.java new file mode 100644 index 0000000..06edf6b --- /dev/null +++ b/src/main/java/com/thatgravyboat/skyblockhud/handlers/TimeHandler.java @@ -0,0 +1,29 @@ +package com.thatgravyboat.skyblockhud.handlers; + +import com.thatgravyboat.skyblockhud.api.events.SidebarLineUpdateEvent; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import org.apache.logging.log4j.LogManager; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Locale; +import java.util.regex.Pattern; + +public class TimeHandler { + + public static long time; + + @SubscribeEvent + public void onSidebarLineUpdate(SidebarLineUpdateEvent event){ + if (Pattern.matches("([0-9]*):([0-9]*)(pm|am)", event.formattedLine.toLowerCase().trim())) { + boolean isPm = event.formattedLine.toLowerCase().trim().endsWith("pm"); + SimpleDateFormat parseFormat = new SimpleDateFormat("hh:mm a", Locale.CANADA); + String currentTimeString = event.formattedLine.replace(" ", "").replace(isPm ? "pm" : "am", isPm ? " pm" : " am"); + try { + time = (parseFormat.parse(currentTimeString).getTime() - parseFormat.parse("00:00 am").getTime()) / 1000L; + } catch (ParseException ignored) { + LogManager.getLogger().warn("timeformat error: " + currentTimeString); + } + } + } +} |