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 ++++++++++ .../resources/assets/skyblocker/lang/en_us.json | 5 +++++ 4 files changed, 47 insertions(+) (limited to 'src/main') 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; diff --git a/src/main/resources/assets/skyblocker/lang/en_us.json b/src/main/resources/assets/skyblocker/lang/en_us.json index 84409b9f..4f5a1843 100644 --- a/src/main/resources/assets/skyblocker/lang/en_us.json +++ b/src/main/resources/assets/skyblocker/lang/en_us.json @@ -253,6 +253,11 @@ "text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreSound.@Tooltip": "Plays a sound when reaching %d score in dungeons.", "text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.dungeonScoreMessage": "Dungeon Score %d Message", "text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.dungeonScoreMessage.@Tooltip": "Message which will be sent in the chat when reaching %d score in dungeons. The string \"[score]\" will be replaced with the dungeon score (%d).", + "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.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", "text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.enableScoreHUD.@Tooltip": "Displays the dungeon score in the HUD.", "text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.enableScoreHUD.deathMessagesNote": "\n\n\nNote: This only works correctly if death messages are enabled in your skyblock settings. If you want to hide death messages, use this mod's Hide Player Death Messages setting instead to allow further processing of death messages.", -- 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') 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 cc2cbdb2f36034cfecbed098847dfcb9e95e824b Mon Sep 17 00:00:00 2001 From: Fluboxer Date: Sun, 7 Apr 2024 16:14:25 +0300 Subject: crypts message --- src/main/resources/assets/skyblocker/lang/en_us.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/main') diff --git a/src/main/resources/assets/skyblocker/lang/en_us.json b/src/main/resources/assets/skyblocker/lang/en_us.json index 09623e74..f37c6a5f 100644 --- a/src/main/resources/assets/skyblocker/lang/en_us.json +++ b/src/main/resources/assets/skyblocker/lang/en_us.json @@ -256,7 +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.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, otherwise it will be useless", "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') 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') 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') 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') 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') 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