aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky
diff options
context:
space:
mode:
authorRime <81419447+Emirlol@users.noreply.github.com>2024-05-14 08:04:10 +0300
committerRime <81419447+Emirlol@users.noreply.github.com>2024-05-23 13:31:48 +0300
commiteee4ee696a4c4263c7e00af54c6faac40fe93ed0 (patch)
treeab5965897c0e7fab8fbc0d35d59fefc358f5ee09 /src/main/java/de/hysky
parentba5047d708858ed863bbc207de20afcd42337451 (diff)
downloadSkyblocker-eee4ee696a4c4263c7e00af54c6faac40fe93ed0.tar.gz
Skyblocker-eee4ee696a4c4263c7e00af54c6faac40fe93ed0.tar.bz2
Skyblocker-eee4ee696a4c4263c7e00af54c6faac40fe93ed0.zip
Time tower fix attempt
Diffstat (limited to 'src/main/java/de/hysky')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/chocolatefactory/TimeTowerReminder.java29
1 files changed, 20 insertions, 9 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/chocolatefactory/TimeTowerReminder.java b/src/main/java/de/hysky/skyblocker/skyblock/chocolatefactory/TimeTowerReminder.java
index aa3a49d8..f1458b59 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/chocolatefactory/TimeTowerReminder.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/chocolatefactory/TimeTowerReminder.java
@@ -16,8 +16,8 @@ import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.nio.file.Files;
-import java.time.Instant;
import java.util.regex.Pattern;
+import java.util.stream.Stream;
public class TimeTowerReminder {
private static final String TIME_TOWER_FILE = "time_tower.txt";
@@ -34,16 +34,20 @@ public class TimeTowerReminder {
public static void checkIfTimeTower(Message message, boolean overlay) {
if (!TIME_TOWER_PATTERN.matcher(message.getString()).matches()) return;
- Scheduler.INSTANCE.schedule(TimeTowerReminder::sendMessage, 60*60*20); // 1 hour
+ Scheduler.INSTANCE.schedule(TimeTowerReminder::sendMessage, 60 * 60 * 20); // 1 hour
File tempFile = SkyblockerMod.CONFIG_DIR.resolve(TIME_TOWER_FILE).toFile();
- if (!tempFile.exists() && !tempFile.mkdir()) {
- LOGGER.error("[Skyblocker Time Tower Reminder] Failed to create temp file for Time Tower Reminder!");
- return;
+ if (!tempFile.exists()) {
+ try {
+ tempFile.createNewFile();
+ } catch (IOException e) {
+ LOGGER.error("[Skyblocker Time Tower Reminder] Failed to create temp file for Time Tower Reminder!", e);
+ return;
+ }
}
try (FileWriter writer = new FileWriter(tempFile)) {
- writer.write(Instant.now().toString());
+ writer.write(String.valueOf(System.currentTimeMillis()));
} catch (IOException e) {
LOGGER.error("[Skyblocker Time Tower Reminder] Failed to write to temp file for Time Tower Reminder!", e);
}
@@ -65,8 +69,15 @@ public class TimeTowerReminder {
File tempFile = SkyblockerMod.CONFIG_DIR.resolve(TIME_TOWER_FILE).toFile();
if (!tempFile.exists()) return;
- long time = tempFile.lastModified();
- if (System.currentTimeMillis() - time >= 60*60*1000) sendMessage();
- else Scheduler.INSTANCE.schedule(TimeTowerReminder::sendMessage, 60*60*20 - (int) ((System.currentTimeMillis() - time) / 50)); // 50 milliseconds is 1 tick
+ long time;
+ try (Stream<String> file = Files.lines(tempFile.toPath())) {
+ time = Long.parseLong(file.findFirst().orElseThrow());
+ } catch (Exception e) {
+ LOGGER.error("[Skyblocker Time Tower Reminder] Failed to read temp file for Time Tower Reminder!", e);
+ return;
+ }
+
+ if (System.currentTimeMillis() - time >= 60 * 60 * 1000) sendMessage();
+ else Scheduler.INSTANCE.schedule(TimeTowerReminder::sendMessage, 60 * 60 * 20 - (int) ((System.currentTimeMillis() - time) / 50)); // 50 milliseconds is 1 tick
}
}