Skip to content

Commit 1952562

Browse files
committed
Added option for showing miniboss name in alert
1 parent 78ebebd commit 1952562

File tree

4 files changed

+26
-3
lines changed

4 files changed

+26
-3
lines changed

src/main/java/de/hysky/skyblocker/config/categories/SlayersCategory.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,13 @@ public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig
6969
newValue -> config.slayers.miniBossSpawnAlert = newValue)
7070
.controller(ConfigUtils.createBooleanController())
7171
.build())
72+
.option(Option.<Boolean>createBuilder()
73+
.name(Text.translatable("skyblocker.config.slayer.showMiniBossNameInAlert"))
74+
.binding(defaults.slayers.showMiniBossNameInAlert,
75+
() -> config.slayers.showMiniBossNameInAlert,
76+
newValue -> config.slayers.showMiniBossNameInAlert = newValue)
77+
.controller(ConfigUtils.createBooleanController())
78+
.build())
7279
.option(Option.<Boolean>createBuilder()
7380
.name(Text.translatable("skyblocker.config.slayer.slainTime"))
7481
.description(Text.translatable("skyblocker.config.slayer.slainTime.@Tooltip"))

src/main/java/de/hysky/skyblocker/config/configs/SlayersConfig.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ public String toString() {
2222

2323
public boolean miniBossSpawnAlert = true;
2424

25+
public boolean showMiniBossNameInAlert = false;
26+
2527
public boolean slainTime = true;
2628

2729
public boolean enableHud = true;
@@ -78,7 +80,8 @@ public static class VampireSlayer {
7880

7981
public static class BlazeSlayer {
8082
public FirePillar firePillarCountdown = FirePillar.SOUND_AND_VISUAL;
81-
public Boolean attunementHighlights = true;
83+
84+
public boolean attunementHighlights = true;
8285

8386
public enum FirePillar {
8487
OFF,

src/main/java/de/hysky/skyblocker/skyblock/slayers/SlayerManager.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,20 @@ public class SlayerManager {
5050
private static final Pattern PATTERN_XP_NEEDED = Pattern.compile("\\s*(Wolf|Zombie|Spider|Enderman|Blaze|Vampire) Slayer LVL ([0-9]) - (?:Next LVL in ([\\d,]+) XP!|LVL MAXED OUT!)\\s*");
5151
private static final Pattern PATTERN_LVL_UP = Pattern.compile("\\s*LVL UP! ➜ (Wolf|Zombie|Spider|Enderman|Blaze|Vampire) Slayer LVL [1-9]\\s*");
5252
private static final Title BOSS_SPAWN = new Title(Text.translatable("skyblocker.slayer.bossSpawnAlert").formatted(Formatting.RED));
53+
private static final Title MINIBOSS_SPAWN = new Title(Text.translatable("skyblocker.slayer.miniBossSpawnAlert").formatted(Formatting.RED));
5354
private static @Nullable SlayerQuest slayerQuest;
5455
private static @Nullable BossFight bossFight;
5556

5657
private static boolean slayerExpBuffActive = false;
5758
private static float slayerExpBuff = 1.0f;
5859

60+
public static void sendTestMessage(String text) {
61+
var player = MinecraftClient.getInstance().player;
62+
if (player != null) {
63+
player.sendMessage(Text.of("[Slayers] " + text), false);
64+
}
65+
}
66+
5967
@Init
6068
public static void init() {
6169
ClientReceiveMessageEvents.ALLOW_GAME.register(SlayerManager::onChatMessage);
@@ -397,7 +405,7 @@ private BossFight(@Nullable ArmorStandEntity armorStand) {
397405
findBoss(armorStand);
398406
bossSpawnTime = Instant.now();
399407
if (SkyblockerConfigManager.get().slayers.bossSpawnAlert) {
400-
TitleContainer.addTitleAndPlaySound(BOSS_SPAWN, 40);
408+
TitleContainer.addTitleAndPlaySound(BOSS_SPAWN, 20);
401409
}
402410
}
403411

@@ -426,7 +434,9 @@ private void onMiniboss(ArmorStandEntity armorStand, SlayerType type) {
426434
minibosses.add(miniboss);
427435

428436
if (SkyblockerConfigManager.get().slayers.miniBossSpawnAlert) {
429-
TitleContainer.addTitleAndPlaySound(new Title((MutableText) armorStand.getCustomName()), 40);
437+
Title title = SkyblockerConfigManager.get().slayers.showMiniBossNameInAlert ?
438+
new Title((MutableText) armorStand.getCustomName()) : MINIBOSS_SPAWN;
439+
TitleContainer.addTitleAndPlaySound(title, 20);
430440
}
431441
}
432442
}

src/main/resources/assets/skyblocker/lang/en_us.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -991,6 +991,8 @@
991991
"skyblocker.config.slayer.minibossSpawnAlert": "MiniBoss Spawn Alert",
992992
"skyblocker.config.slayer.minibossSpawnAlert.@Tooltip": "\nDisplays a warning when a slayer miniboss spawns.",
993993

994+
"skyblocker.config.slayer.showMiniBossNameInAlert": "Show MiniBoss Name in Alert",
995+
994996
"skyblocker.config.slayer.slainTime": "Slayer kill time",
995997
"skyblocker.config.slayer.slainTime.@Tooltip": "Sends the amount of time spent to kill the slayer.",
996998

@@ -1646,6 +1648,7 @@
16461648
"skyblocker.slayer.hud.bossesNeeded": "Bosses until level up",
16471649
"skyblocker.slayer.hud.levelMaxed": "MAXED OUT",
16481650
"skyblocker.slayer.hud.levelUpIn": "Level up in %s bosses",
1651+
"skyblocker.slayer.miniBossSpawnAlert": "MiniBoss",
16491652
"skyblocker.slayer.personalBest": "PERSONAL BEST!",
16501653
"skyblocker.slayer.previousPersonalBest": "Your previous Personal Best was %s.",
16511654
"skyblocker.slayer.slainTime": "Slayer has been killed in %s!",

0 commit comments

Comments
 (0)