diff options
author | Kevin <92656833+kevinthegreat1@users.noreply.github.com> | 2024-04-19 10:08:32 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-19 10:08:32 -0400 |
commit | f6e59a083cd2db9c10293b5b17b79aecb5d7f9e6 (patch) | |
tree | 354fe0831f8d691e70e514ebb25feab1a41bc316 /src/main/java/de/hysky | |
parent | 226df55005fe3d227fbe52b39c2a60f32fef4b2a (diff) | |
parent | 17c0a19b34d353d8d28e21dcb99d7ff98fc0ee8e (diff) | |
download | Skyblocker-f6e59a083cd2db9c10293b5b17b79aecb5d7f9e6.tar.gz Skyblocker-f6e59a083cd2db9c10293b5b17b79aecb5d7f9e6.tar.bz2 Skyblocker-f6e59a083cd2db9c10293b5b17b79aecb5d7f9e6.zip |
Merge pull request #640 from Fluboxer/dungeon-crypts-message
Dungeon Crypts Message
Diffstat (limited to 'src/main/java/de/hysky')
3 files changed, 44 insertions, 0 deletions
diff --git a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java index 6fddd3d0..e301e8e2 100644 --- a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java +++ b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java @@ -865,6 +865,15 @@ public class SkyblockerConfig { public String dungeonScore300Message = "300 Score Reached!"; @SerialEntry + public boolean enableDungeonCryptsMessage = true; + + @SerialEntry + public int dungeonCryptsMessageThreshold = 250; + + @SerialEntry + public String dungeonCryptsMessage = "We only have [crypts] crypts out of 5, we need more!"; + + @SerialEntry public boolean enableScoreHUD = true; @SerialEntry diff --git a/src/main/java/de/hysky/skyblocker/config/categories/DungeonsCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/DungeonsCategory.java index 9d6e1beb..06a904ba 100644 --- a/src/main/java/de/hysky/skyblocker/config/categories/DungeonsCategory.java +++ b/src/main/java/de/hysky/skyblocker/config/categories/DungeonsCategory.java @@ -231,6 +231,30 @@ public class DungeonsCategory { .controller(StringControllerBuilder::create) .build()) .option(Option.<Boolean>createBuilder() + .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.enableDungeonCryptsMessage")) + .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.enableDungeonCryptsMessage.@Tooltip"))) + .binding(defaults.locations.dungeons.dungeonScore.enableDungeonCryptsMessage, + () -> config.locations.dungeons.dungeonScore.enableDungeonCryptsMessage, + newValue -> config.locations.dungeons.dungeonScore.enableDungeonCryptsMessage = newValue) + .controller(ConfigUtils::createBooleanController) + .build()) + .option(Option.<Integer>createBuilder() + .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.dungeonCryptsMessageThreshold")) + .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.dungeonCryptsMessageThreshold.@Tooltip"))) + .binding(defaults.locations.dungeons.dungeonScore.dungeonCryptsMessageThreshold, + () -> config.locations.dungeons.dungeonScore.dungeonCryptsMessageThreshold, + newValue -> config.locations.dungeons.dungeonScore.dungeonCryptsMessageThreshold = newValue) + .controller(IntegerFieldControllerBuilder::create) + .build()) + .option(Option.<String>createBuilder() + .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.dungeonCryptsMessage")) + .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.dungeonCryptsMessage.@Tooltip"))) + .binding(defaults.locations.dungeons.dungeonScore.dungeonCryptsMessage, + () -> config.locations.dungeons.dungeonScore.dungeonCryptsMessage, + newValue -> config.locations.dungeons.dungeonScore.dungeonCryptsMessage = newValue) + .controller(StringControllerBuilder::create) + .build()) + .option(Option.<Boolean>createBuilder() .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.enableScoreHUD")) .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.enableScoreHUD.@Tooltip"), Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.enableScoreHUD.deathMessagesNote"))) .binding(defaults.locations.dungeons.dungeonScore.enableScoreHUD, diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java index 10605d8b..9d610ccd 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java @@ -56,6 +56,7 @@ public class DungeonScore { private static String currentFloor; private static boolean isCurrentFloorEntrance; private static boolean floorHasMimics; + private static boolean sentCrypts; private static boolean sent270; private static boolean sent300; private static boolean mimicKilled; @@ -112,6 +113,15 @@ public class DungeonScore { } sent270 = true; } + + int crypts = getCrypts(); + if (!sentCrypts && score >= SCORE_CONFIG.dungeonCryptsMessageThreshold && crypts < 5) { + if (SCORE_CONFIG.enableDungeonCryptsMessage) { + MessageScheduler.INSTANCE.sendMessageAfterCooldown("/pc " + Constants.PREFIX.get().getString() + SCORE_CONFIG.dungeonCryptsMessage.replaceAll("\\[crypts]", String.valueOf(crypts))); + } + sentCrypts = true; + } + if (!sent300 && score >= 300) { if (SCORE_CONFIG.enableDungeonScore300Message) { MessageScheduler.INSTANCE.sendMessageAfterCooldown("/pc " + Constants.PREFIX.get().getString() + SCORE_CONFIG.dungeonScore300Message.replaceAll("\\[score]", "300")); @@ -132,6 +142,7 @@ public class DungeonScore { currentFloor = ""; isCurrentFloorEntrance = false; floorHasMimics = false; + sentCrypts = false; sent270 = false; sent300 = false; mimicKilled = false; |