diff options
author | Kevin <92656833+kevinthegreat1@users.noreply.github.com> | 2024-06-15 00:15:41 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-14 12:15:41 -0400 |
commit | f5871d8a18e0be2a3a4538fc0ab4f51f58cef3b3 (patch) | |
tree | 718829adf4b09a6482f0f1b63567d4df3bae968b /src/main/java/de/hysky/skyblocker/skyblock/events/EventNotifications.java | |
parent | 7b288fbfccb93ed8a10242acf6532127c41f6dfb (diff) | |
download | Skyblocker-f5871d8a18e0be2a3a4538fc0ab4f51f58cef3b3.tar.gz Skyblocker-f5871d8a18e0be2a3a4538fc0ab4f51f58cef3b3.tar.bz2 Skyblocker-f5871d8a18e0be2a3a4538fc0ab4f51f58cef3b3.zip |
Add event notifications criterion (#763)
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/skyblock/events/EventNotifications.java')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/events/EventNotifications.java | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/events/EventNotifications.java b/src/main/java/de/hysky/skyblocker/skyblock/events/EventNotifications.java index 0fd41969..da2a0c2f 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/events/EventNotifications.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/events/EventNotifications.java @@ -10,6 +10,7 @@ import de.hysky.skyblocker.SkyblockerMod; import de.hysky.skyblocker.config.SkyblockerConfigManager; import de.hysky.skyblocker.events.SkyblockEvents; import de.hysky.skyblocker.utils.Http; +import de.hysky.skyblocker.utils.Utils; import de.hysky.skyblocker.utils.scheduler.Scheduler; import it.unimi.dsi.fastutil.ints.IntList; import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; @@ -23,7 +24,10 @@ import net.minecraft.sound.SoundEvent; import org.jetbrains.annotations.Nullable; import org.slf4j.Logger; -import java.util.*; +import java.util.Comparator; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; import java.util.concurrent.CompletableFuture; public class EventNotifications { @@ -140,7 +144,7 @@ public class EventNotifications { if (reminderTimes.isEmpty()) continue; for (Integer reminderTime : reminderTimes) { - if (currentTime + reminderTime < skyblockEvent.start() && newTime + reminderTime >= skyblockEvent.start()) { + if (criterionMet() && currentTime + reminderTime < skyblockEvent.start() && newTime + reminderTime >= skyblockEvent.start()) { MinecraftClient instance = MinecraftClient.getInstance(); if (eventName.equals(JACOBS)) { instance.getToastManager().add( @@ -161,6 +165,15 @@ public class EventNotifications { currentTime = newTime; } + private static boolean criterionMet() { + return switch (SkyblockerConfigManager.get().eventNotifications.criterion) { + case NONE -> false; + case SKYBLOCK -> Utils.isOnSkyblock(); + case HYPIXEL -> Utils.isOnHypixel(); + case EVERYWHERE -> true; + }; + } + public record SkyblockEvent(long start, int duration, String[] extras, @Nullable String warpCommand) { public static SkyblockEvent of(JsonObject jsonObject) { String location = jsonObject.get("location").getAsString(); |