aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authornmccullagh <narhanael64@gmail.com>2024-08-04 21:28:53 +0100
committernmccullagh <narhanael64@gmail.com>2024-08-07 19:44:52 +0100
commita087b150caa15b2401717c802720332818a5245e (patch)
tree97d11e614ba3d0f6dc8d63684ef9ad707cd08d64 /src/main/java
parentd167b8671da767da2335aa4eebd5335a8a790acb (diff)
downloadSkyblocker-a087b150caa15b2401717c802720332818a5245e.tar.gz
Skyblocker-a087b150caa15b2401717c802720332818a5245e.tar.bz2
Skyblocker-a087b150caa15b2401717c802720332818a5245e.zip
small distance tweaks
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/crimson/slayer/FirePillarAnnouncer.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/entity/MobGlow.java13
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/SlayerUtils.java19
3 files changed, 27 insertions, 7 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/crimson/slayer/FirePillarAnnouncer.java b/src/main/java/de/hysky/skyblocker/skyblock/crimson/slayer/FirePillarAnnouncer.java
index 388e66dd..534d7a2f 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/crimson/slayer/FirePillarAnnouncer.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/crimson/slayer/FirePillarAnnouncer.java
@@ -42,7 +42,7 @@ public class FirePillarAnnouncer {
// There is an edge case where the slayer has entered demon phase and temporarily despawned with
// an active fire pillar in play, So fallback to the player
Entity referenceEntity = SlayerUtils.getSlayerEntity();
- if (!(referenceEntity != null ? referenceEntity : MinecraftClient.getInstance().player).getBlockPos().isWithinDistance(entity.getPos(), 24)) return;
+ if (!(referenceEntity != null ? referenceEntity : MinecraftClient.getInstance().player).getBlockPos().isWithinDistance(entity.getPos(), 22)) return;
announceFirePillarDetails(entityName);
}
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/entity/MobGlow.java b/src/main/java/de/hysky/skyblocker/skyblock/entity/MobGlow.java
index 83519c32..734fc821 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/entity/MobGlow.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/entity/MobGlow.java
@@ -2,6 +2,7 @@ package de.hysky.skyblocker.skyblock.entity;
import com.google.common.collect.Streams;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.config.configs.SlayersConfig;
import de.hysky.skyblocker.skyblock.crimson.dojo.DojoManager;
import de.hysky.skyblocker.skyblock.crimson.kuudra.Kuudra;
import de.hysky.skyblocker.skyblock.crimson.slayer.AttunementColours;
@@ -60,13 +61,13 @@ public class MobGlow {
/**
* Checks if the player can see the entity.
- * Has "True sight" within an small aura, but since name tags exist I think this is fine...
+ * Has "True sight" within a certain aura, but since name tags exist I think this is fine...
*/
private static boolean playerCanSee(Entity entity, long currentTime) {
CacheEntry canSee = canSeeCache.get(entity);
if (canSee == null || (currentTime - canSee.timestamp) > PLAYER_CAN_SEE_CACHE_DURATION) {
- boolean playerCanSee = entity.distanceTo(MinecraftClient.getInstance().player) <= 15 || MinecraftClient.getInstance().player.canSee(entity);
+ boolean playerCanSee = entity.distanceTo(MinecraftClient.getInstance().player) <= 20 || MinecraftClient.getInstance().player.canSee(entity);
canSeeCache.put(entity, new CacheEntry(playerCanSee, currentTime));
return playerCanSee;
}
@@ -128,10 +129,10 @@ public class MobGlow {
SkyblockerConfigManager.get().slayers.endermanSlayer.highlightNukekubiHeads;
// Blaze Slayer's Demonic minions
- case WitherSkeletonEntity e when SkyblockerConfigManager.get().slayers.highlightBosses.toString().equals("GLOW") ->
- SlayerUtils.isInSlayerQuestType(SlayerUtils.DEMONLORD) && e.distanceTo(MinecraftClient.getInstance().player) <= 10;
- case ZombifiedPiglinEntity e when SkyblockerConfigManager.get().slayers.highlightBosses.toString().equals("GLOW") ->
- SlayerUtils.isInSlayerQuestType(SlayerUtils.DEMONLORD) && e.distanceTo(MinecraftClient.getInstance().player) <= 10;
+ case WitherSkeletonEntity e when SkyblockerConfigManager.get().slayers.highlightBosses == SlayersConfig.HighlightSlayerEntities.GLOW ->
+ SlayerUtils.isInSlayerType(SlayerUtils.DEMONLORD) && e.distanceTo(MinecraftClient.getInstance().player) <= 14;
+ case ZombifiedPiglinEntity e when SkyblockerConfigManager.get().slayers.highlightBosses == SlayersConfig.HighlightSlayerEntities.GLOW ->
+ SlayerUtils.isInSlayerType(SlayerUtils.DEMONLORD) && e.distanceTo(MinecraftClient.getInstance().player) <= 14;
default -> false;
};
diff --git a/src/main/java/de/hysky/skyblocker/utils/SlayerUtils.java b/src/main/java/de/hysky/skyblocker/utils/SlayerUtils.java
index eb07dec9..363de85a 100644
--- a/src/main/java/de/hysky/skyblocker/utils/SlayerUtils.java
+++ b/src/main/java/de/hysky/skyblocker/utils/SlayerUtils.java
@@ -58,6 +58,25 @@ public class SlayerUtils {
return false;
}
+ public static boolean isInSlayerType(String slayer) {
+ try {
+ boolean inFight = false;
+ boolean type = false;
+ for (String line : Utils.STRING_SCOREBOARD) {
+ switch (line) {
+ case String a when a.contains("Slayer Quest") -> { return false; }
+ case String b when b.contains("Slay the boss!") -> inFight = true;
+ case String c when c.contains(slayer) -> type = true;
+ default -> { continue; }
+ }
+ if (inFight && type) return true;
+ }
+ } catch (NullPointerException e) {
+ LOGGER.error("[Skyblocker] Error while checking if player is in slayer", e);
+ }
+ return false;
+ }
+
public static boolean isInSlayerQuestType(String slayer) {
try {
boolean quest = false;