aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/skyblock
diff options
context:
space:
mode:
authorRime <81419447+Emirlol@users.noreply.github.com>2024-05-19 09:33:11 +0300
committerRime <81419447+Emirlol@users.noreply.github.com>2024-05-23 13:31:48 +0300
commiteb256675c76ffd8ba6c69d9c3fed92fb9a87cd93 (patch)
tree1a339246081ce0db40e16b2ca972f2c2955fe8c4 /src/main/java/de/hysky/skyblocker/skyblock
parent7a6fc4c624946719de43feed4d86b4a43a30e6cc (diff)
downloadSkyblocker-eb256675c76ffd8ba6c69d9c3fed92fb9a87cd93.tar.gz
Skyblocker-eb256675c76ffd8ba6c69d9c3fed92fb9a87cd93.tar.bz2
Skyblocker-eb256675c76ffd8ba6c69d9c3fed92fb9a87cd93.zip
Fix time tower reminder being sent multiple times
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/skyblock')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/chocolatefactory/TimeTowerReminder.java8
1 files changed, 5 insertions, 3 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 eb5f60cf..72cbeb2a 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/chocolatefactory/TimeTowerReminder.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/chocolatefactory/TimeTowerReminder.java
@@ -24,6 +24,7 @@ public class TimeTowerReminder {
private static final String TIME_TOWER_FILE = "time_tower.txt";
private static final Pattern TIME_TOWER_PATTERN = Pattern.compile("^TIME TOWER! Your Chocolate Factory production has increased by \\+[\\d.]+x for \\dh!$");
private static final Logger LOGGER = LoggerFactory.getLogger("Skyblocker Time Tower Reminder");
+ private static boolean scheduled = false;
private TimeTowerReminder() {
}
@@ -34,9 +35,9 @@ public class TimeTowerReminder {
}
public static void checkIfTimeTower(Message message, boolean overlay) {
- if (!TIME_TOWER_PATTERN.matcher(message.getString()).matches()) return;
+ if (!TIME_TOWER_PATTERN.matcher(message.getString()).matches() || scheduled) return;
Scheduler.INSTANCE.schedule(TimeTowerReminder::sendMessage, 60 * 60 * 20); // 1 hour
-
+ scheduled = true;
File tempFile = SkyblockerMod.CONFIG_DIR.resolve(TIME_TOWER_FILE).toFile();
if (!tempFile.exists()) {
try {
@@ -60,6 +61,7 @@ public class TimeTowerReminder {
File tempFile = SkyblockerMod.CONFIG_DIR.resolve(TIME_TOWER_FILE).toFile();
try {
+ scheduled = false;
if (tempFile.exists()) Files.delete(tempFile.toPath());
} catch (Exception e) {
LOGGER.error("[Skyblocker Time Tower Reminder] Failed to delete temp file for Time Tower Reminder!", e);
@@ -68,7 +70,7 @@ public class TimeTowerReminder {
private static void checkTempFile() {
File tempFile = SkyblockerMod.CONFIG_DIR.resolve(TIME_TOWER_FILE).toFile();
- if (!tempFile.exists()) return;
+ if (!tempFile.exists() || scheduled) return;
long time;
try (Stream<String> file = Files.lines(tempFile.toPath())) {