From 4ce2db51c718db7be990d0686b957a74fde0d1d6 Mon Sep 17 00:00:00 2001 From: Fluboxer Date: Sun, 7 Apr 2024 16:00:16 +0300 Subject: crypts message --- .../hysky/skyblocker/config/SkyblockerConfig.java | 9 +++++++++ .../config/categories/DungeonsCategory.java | 23 ++++++++++++++++++++++ .../skyblocker/skyblock/dungeon/DungeonScore.java | 10 ++++++++++ 3 files changed, 42 insertions(+) (limited to 'src/main/java/de/hysky') diff --git a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java index 06ac748a..ad05090d 100644 --- a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java +++ b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java @@ -851,6 +851,15 @@ public class SkyblockerConfig { @SerialEntry public String dungeonScore300Message = "300 Score Reached!"; + @SerialEntry + public boolean enableDungeonCryptsMessage = true; + + @SerialEntry + public int dungeonCryptsMessageThreshold = 270; + + @SerialEntry + public String dungeonCryptsMessage = "We only have [crypts] crypts out of 5, we need more!"; + @SerialEntry public boolean enableScoreHUD = true; 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..295d3738 100644 --- a/src/main/java/de/hysky/skyblocker/config/categories/DungeonsCategory.java +++ b/src/main/java/de/hysky/skyblocker/config/categories/DungeonsCategory.java @@ -230,6 +230,29 @@ public class DungeonsCategory { newValue -> config.locations.dungeons.dungeonScore.dungeonScore300Message = newValue) .controller(StringControllerBuilder::create) .build()) + .option(Option.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.createBuilder() + .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.dungeonCryptsMessageThreshold")) + .binding(defaults.locations.dungeons.dungeonScore.dungeonCryptsMessageThreshold, + () -> config.locations.dungeons.dungeonScore.dungeonCryptsMessageThreshold, + newValue -> config.locations.dungeons.dungeonScore.dungeonCryptsMessageThreshold = newValue) + .controller(IntegerFieldControllerBuilder::create) + .build()) + .option(Option.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.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"))) 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..1be0c0cc 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,14 @@ public class DungeonScore { } sent270 = true; } + + if (!sentCrypts && score >= SCORE_CONFIG.dungeonCryptsMessageThreshold && (5 > getCrypts())) { + if (SCORE_CONFIG.enableDungeonCryptsMessage) { + MessageScheduler.INSTANCE.sendMessageAfterCooldown("/pc " + Constants.PREFIX.get().getString() + SCORE_CONFIG.dungeonCryptsMessage.replaceAll("\\[crypts]", String.valueOf(getCrypts()))); + } + 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 +141,7 @@ public class DungeonScore { currentFloor = ""; isCurrentFloorEntrance = false; floorHasMimics = false; + sentCrypts = false; sent270 = false; sent300 = false; mimicKilled = false; -- cgit From 10bf9e7bc4b6a22db4b432b690fca271892874df Mon Sep 17 00:00:00 2001 From: Fluboxer Date: Sun, 7 Apr 2024 16:12:19 +0300 Subject: crypts message --- .../java/de/hysky/skyblocker/config/categories/DungeonsCategory.java | 1 + src/main/resources/assets/skyblocker/lang/en_us.json | 1 + 2 files changed, 2 insertions(+) (limited to 'src/main/java/de/hysky') 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 295d3738..06a904ba 100644 --- a/src/main/java/de/hysky/skyblocker/config/categories/DungeonsCategory.java +++ b/src/main/java/de/hysky/skyblocker/config/categories/DungeonsCategory.java @@ -240,6 +240,7 @@ public class DungeonsCategory { .build()) .option(Option.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) diff --git a/src/main/resources/assets/skyblocker/lang/en_us.json b/src/main/resources/assets/skyblocker/lang/en_us.json index 4f5a1843..09623e74 100644 --- a/src/main/resources/assets/skyblocker/lang/en_us.json +++ b/src/main/resources/assets/skyblocker/lang/en_us.json @@ -256,6 +256,7 @@ "text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.enableDungeonCryptsMessage": "Enable Dungeon Crypts Message", "text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.enableDungeonCryptsMessage.@Tooltip": "After reaching threshold sends message in chat if less than 5 crypts found.", "text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.dungeonCryptsMessageThreshold": "Dungeon Crypts Message Threshold", + "text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.dungeonCryptsMessageThreshold.@Tooltip": "Default 270 is intended for S+ runs when you enter at 300+ score - which is usually F5-F7 and M5-M7. \nIf you are running S runs (enter at 270 score) then you should consider lowering this to 250 or less", "text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.dungeonCryptsMessage": "Dungeon Crypts Message", "text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.dungeonCryptsMessage.@Tooltip": "Message which will be sent in the chat when reaching threshold score before getting 5+ crypts. The string \"[crypts]\" will be replaced with the amount of crypts.", "text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.enableScoreHUD": "Enable Score HUD", -- cgit From 9488e1fdb68d180575da7af66d313d5f56263cbd Mon Sep 17 00:00:00 2001 From: Fluboxer <36457056+Fluboxer@users.noreply.github.com> Date: Thu, 11 Apr 2024 13:59:08 +0300 Subject: Update SkyblockerConfig.java changed default threshold --- src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/main/java/de/hysky') diff --git a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java index ad05090d..bafcd115 100644 --- a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java +++ b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java @@ -855,7 +855,7 @@ public class SkyblockerConfig { public boolean enableDungeonCryptsMessage = true; @SerialEntry - public int dungeonCryptsMessageThreshold = 270; + public int dungeonCryptsMessageThreshold = 250; @SerialEntry public String dungeonCryptsMessage = "We only have [crypts] crypts out of 5, we need more!"; -- cgit From 732ab7e8ef193ce108f2c64206a0b0a4e111f132 Mon Sep 17 00:00:00 2001 From: Fluboxer <36457056+Fluboxer@users.noreply.github.com> Date: Wed, 17 Apr 2024 02:46:25 +0300 Subject: Update src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java Co-authored-by: Kevin <92656833+kevinthegreat1@users.noreply.github.com> --- src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/main/java/de/hysky') 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 1be0c0cc..c27e68d5 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java @@ -114,7 +114,7 @@ public class DungeonScore { sent270 = true; } - if (!sentCrypts && score >= SCORE_CONFIG.dungeonCryptsMessageThreshold && (5 > getCrypts())) { + if (!sentCrypts && score >= SCORE_CONFIG.dungeonCryptsMessageThreshold && getCrypts() < 5) { if (SCORE_CONFIG.enableDungeonCryptsMessage) { MessageScheduler.INSTANCE.sendMessageAfterCooldown("/pc " + Constants.PREFIX.get().getString() + SCORE_CONFIG.dungeonCryptsMessage.replaceAll("\\[crypts]", String.valueOf(getCrypts()))); } -- cgit From 82dc828a83b6efaf9d14a0bf713b7776faa01dcc Mon Sep 17 00:00:00 2001 From: Fluboxer <36457056+Fluboxer@users.noreply.github.com> Date: Wed, 17 Apr 2024 02:49:17 +0300 Subject: store crypts in int instead of calling it twice untested, made in github's editor. Proceed with caution --- .../java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/main/java/de/hysky') 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 c27e68d5..9c81aa07 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java @@ -68,6 +68,7 @@ public class DungeonScore { private static int puzzleCount; private static int deathCount; private static int score; + private static int crypts; private static final Map SpiritPetCache = new HashMap<>(); public static void init() { @@ -114,9 +115,10 @@ public class DungeonScore { sent270 = true; } - if (!sentCrypts && score >= SCORE_CONFIG.dungeonCryptsMessageThreshold && getCrypts() < 5) { + 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(getCrypts()))); + MessageScheduler.INSTANCE.sendMessageAfterCooldown("/pc " + Constants.PREFIX.get().getString() + SCORE_CONFIG.dungeonCryptsMessage.replaceAll("\\[crypts]", String.valueOf(crypts))); } sentCrypts = true; } -- cgit From 300f33b95414c36e7d69a2af71fd37a624e9e0a0 Mon Sep 17 00:00:00 2001 From: Fluboxer <36457056+Fluboxer@users.noreply.github.com> Date: Wed, 17 Apr 2024 02:52:11 +0300 Subject: I forgor semicolon :skull: python tax --- src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/main/java/de/hysky') 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 9c81aa07..d3a7f45c 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java @@ -115,7 +115,7 @@ public class DungeonScore { sent270 = true; } - crypts = getCrypts() + 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))); -- cgit From 17c0a19b34d353d8d28e21dcb99d7ff98fc0ee8e Mon Sep 17 00:00:00 2001 From: Kevin <92656833+kevinthegreat1@users.noreply.github.com> Date: Tue, 16 Apr 2024 20:00:33 -0400 Subject: Apply suggestions from code review --- src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src/main/java/de/hysky') 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 d3a7f45c..9d610ccd 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java @@ -68,7 +68,6 @@ public class DungeonScore { private static int puzzleCount; private static int deathCount; private static int score; - private static int crypts; private static final Map SpiritPetCache = new HashMap<>(); public static void init() { @@ -115,7 +114,7 @@ public class DungeonScore { sent270 = true; } - crypts = getCrypts(); + 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))); -- cgit