aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky
diff options
context:
space:
mode:
authorKevin <92656833+kevinthegreat1@users.noreply.github.com>2024-04-19 10:08:32 -0400
committerGitHub <noreply@github.com>2024-04-19 10:08:32 -0400
commitf6e59a083cd2db9c10293b5b17b79aecb5d7f9e6 (patch)
tree354fe0831f8d691e70e514ebb25feab1a41bc316 /src/main/java/de/hysky
parent226df55005fe3d227fbe52b39c2a60f32fef4b2a (diff)
parent17c0a19b34d353d8d28e21dcb99d7ff98fc0ee8e (diff)
downloadSkyblocker-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')
-rw-r--r--src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java9
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/DungeonsCategory.java24
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java11
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;