aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonBlaze.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/CompactorPreviewTooltipComponent.java10
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/rift/EffigyWaypoints.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/rift/HealingMelonIndicator.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/rift/ManiaIndicator.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/rift/StakeIndicator.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/rift/TwinClawsIndicator.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/Utils.java60
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/discord/DiscordRPCManager.java4
10 files changed, 38 insertions, 54 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonBlaze.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonBlaze.java
index 9f247668..044949db 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonBlaze.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonBlaze.java
@@ -63,7 +63,7 @@ public class DungeonBlaze {
String blazeName = blaze.getName().getString();
if (blazeName.contains("Blaze") && blazeName.contains("/")) {
try {
- int health = Integer.parseInt(blazeName.substring(blazeName.indexOf("/") + 1, blazeName.length() - 1));
+ int health = Integer.parseInt((blazeName.substring(blazeName.indexOf("/") + 1, blazeName.length() - 1)).replaceAll(",", ""));
blazes.add(ObjectIntPair.of(blaze, health));
} catch (NumberFormatException e) {
handleException(e);
@@ -147,6 +147,6 @@ public class DungeonBlaze {
* @param e The exception to handle.
*/
private static void handleException(Exception e) {
- LOGGER.warn("[Skyblocker BlazeRenderer] Encountered an unknown exception", e);
+ LOGGER.error("[Skyblocker BlazeRenderer] Encountered an unknown exception", e);
}
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java
index b853d7cc..779a3a62 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java
@@ -26,7 +26,7 @@ public class DwarvenHud {
public static final List<Pattern> COMMISSIONS = Stream.of(
"(?:Titanium|Mithril|Hard Stone) Miner",
- "(?:Ice Walker|Goblin|Goblin Raid|Automaton|Sludge|Team Treasurite Member|Yog|Boss Corleone|Thyst) Slayer",
+ "(?:Ice Walker|Golden Goblin|(?<!Golden )Goblin|Goblin Raid|Automaton|Sludge|Team Treasurite Member|Yog|Boss Corleone|Thyst) Slayer",
"(?:Lava Springs|Cliffside Veins|Rampart's Quarry|Upper Mines|Royal Mines) Mithril",
"(?:Lava Springs|Cliffside Veins|Rampart's Quarry|Upper Mines|Royal Mines) Titanium",
"Goblin Raid",
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/CompactorPreviewTooltipComponent.java b/src/main/java/de/hysky/skyblocker/skyblock/item/CompactorPreviewTooltipComponent.java
index f3634548..513d7d72 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/item/CompactorPreviewTooltipComponent.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/CompactorPreviewTooltipComponent.java
@@ -45,10 +45,12 @@ public class CompactorPreviewTooltipComponent implements TooltipComponent {
context.drawTexture(INVENTORY_TEXTURE, x + 7 + dimensions.rightInt() * 18, y + 7 + dimensions.leftInt() * 18, 169, 25, 7, 7);
for (IntObjectPair<ItemStack> entry : items) {
- int itemX = x + entry.leftInt() % dimensions.rightInt() * 18 + 8;
- int itemY = y + entry.leftInt() / dimensions.rightInt() * 18 + 8;
- context.drawItem(entry.right(), itemX, itemY);
- context.drawItemInSlot(textRenderer, entry.right(), itemX, itemY);
+ if (entry.right() != null) {
+ int itemX = x + entry.leftInt() % dimensions.rightInt() * 18 + 8;
+ int itemY = y + entry.leftInt() / dimensions.rightInt() * 18 + 8;
+ context.drawItem(entry.right(), itemX, itemY);
+ context.drawItemInSlot(textRenderer, entry.right(), itemX, itemY);
+ }
}
}
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/rift/EffigyWaypoints.java b/src/main/java/de/hysky/skyblocker/skyblock/rift/EffigyWaypoints.java
index 4cc20ca5..a0e1a0f2 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/rift/EffigyWaypoints.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/rift/EffigyWaypoints.java
@@ -27,7 +27,7 @@ public class EffigyWaypoints {
private static final List<BlockPos> UNBROKEN_EFFIGIES = new ArrayList<>();
protected static void updateEffigies() {
- if (!SkyblockerConfigManager.get().slayer.vampireSlayer.enableEffigyWaypoints || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !Utils.getLocation().contains("Stillgore Château")) return;
+ if (!SkyblockerConfigManager.get().slayer.vampireSlayer.enableEffigyWaypoints || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !Utils.getIslandArea().contains("Stillgore Château")) return;
UNBROKEN_EFFIGIES.clear();
@@ -54,7 +54,7 @@ public class EffigyWaypoints {
}
protected static void render(WorldRenderContext context) {
- if (SkyblockerConfigManager.get().slayer.vampireSlayer.enableEffigyWaypoints && Utils.getLocation().contains("Stillgore Château")) {
+ if (SkyblockerConfigManager.get().slayer.vampireSlayer.enableEffigyWaypoints && Utils.getIslandArea().contains("Stillgore Château")) {
for (BlockPos effigy : UNBROKEN_EFFIGIES) {
float[] colorComponents = DyeColor.RED.getColorComponents();
if (SkyblockerConfigManager.get().slayer.vampireSlayer.compactEffigyWaypoints) {
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/rift/HealingMelonIndicator.java b/src/main/java/de/hysky/skyblocker/skyblock/rift/HealingMelonIndicator.java
index 333a4aa1..b94ebac1 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/rift/HealingMelonIndicator.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/rift/HealingMelonIndicator.java
@@ -13,7 +13,7 @@ public class HealingMelonIndicator {
private static final Title title = new Title("skyblocker.rift.healNow", Formatting.DARK_RED);
public static void updateHealth() {
- if (!SkyblockerConfigManager.get().slayer.vampireSlayer.enableHealingMelonIndicator || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !Utils.getLocation().contains("Stillgore Château")) {
+ if (!SkyblockerConfigManager.get().slayer.vampireSlayer.enableHealingMelonIndicator || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !Utils.getIslandArea().contains("Stillgore Château")) {
TitleContainer.removeTitle(title);
return;
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/rift/ManiaIndicator.java b/src/main/java/de/hysky/skyblocker/skyblock/rift/ManiaIndicator.java
index ab252ff0..d38151ff 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/rift/ManiaIndicator.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/rift/ManiaIndicator.java
@@ -17,7 +17,7 @@ public class ManiaIndicator {
private static final Title title = new Title("skyblocker.rift.mania", Formatting.RED);
protected static void updateMania() {
- if (!SkyblockerConfigManager.get().slayer.vampireSlayer.enableManiaIndicator || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !(Utils.getLocation().contains("Stillgore Château")) || !SlayerUtils.isInSlayer()) {
+ if (!SkyblockerConfigManager.get().slayer.vampireSlayer.enableManiaIndicator || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !(Utils.getIslandArea().contains("Stillgore Château")) || !SlayerUtils.isInSlayer()) {
TitleContainer.removeTitle(title);
return;
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/rift/StakeIndicator.java b/src/main/java/de/hysky/skyblocker/skyblock/rift/StakeIndicator.java
index be502143..db24efa2 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/rift/StakeIndicator.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/rift/StakeIndicator.java
@@ -13,7 +13,7 @@ public class StakeIndicator {
private static final Title title = new Title("skyblocker.rift.stakeNow", Formatting.RED);
protected static void updateStake() {
- if (!SkyblockerConfigManager.get().slayer.vampireSlayer.enableSteakStakeIndicator || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !Utils.getLocation().contains("Stillgore Château") || !SlayerUtils.isInSlayer()) {
+ if (!SkyblockerConfigManager.get().slayer.vampireSlayer.enableSteakStakeIndicator || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !Utils.getIslandArea().contains("Stillgore Château") || !SlayerUtils.isInSlayer()) {
TitleContainer.removeTitle(title);
return;
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/rift/TwinClawsIndicator.java b/src/main/java/de/hysky/skyblocker/skyblock/rift/TwinClawsIndicator.java
index 1622bf4a..48bb72ea 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/rift/TwinClawsIndicator.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/rift/TwinClawsIndicator.java
@@ -15,7 +15,7 @@ public class TwinClawsIndicator {
private static boolean scheduled = false;
protected static void updateIce() {
- if (!SkyblockerConfigManager.get().slayer.vampireSlayer.enableHolyIceIndicator || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !(Utils.getLocation().contains("Stillgore Château")) || !SlayerUtils.isInSlayer()) {
+ if (!SkyblockerConfigManager.get().slayer.vampireSlayer.enableHolyIceIndicator || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !(Utils.getIslandArea().contains("Stillgore Château")) || !SlayerUtils.isInSlayer()) {
TitleContainer.removeTitle(title);
return;
}
diff --git a/src/main/java/de/hysky/skyblocker/utils/Utils.java b/src/main/java/de/hysky/skyblocker/utils/Utils.java
index f046bffb..c1b4223f 100644
--- a/src/main/java/de/hysky/skyblocker/utils/Utils.java
+++ b/src/main/java/de/hysky/skyblocker/utils/Utils.java
@@ -2,12 +2,11 @@ package de.hysky.skyblocker.utils;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
-
import de.hysky.skyblocker.events.SkyblockEvents;
-import it.unimi.dsi.fastutil.objects.ObjectArrayList;
import de.hysky.skyblocker.skyblock.item.PriceInfoTooltip;
import de.hysky.skyblocker.skyblock.rift.TheRift;
import de.hysky.skyblocker.utils.scheduler.MessageScheduler;
+import it.unimi.dsi.fastutil.objects.ObjectArrayList;
import net.fabricmc.fabric.api.client.item.v1.ItemTooltipCallback;
import net.fabricmc.fabric.api.client.message.v1.ClientReceiveMessageEvents;
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents;
@@ -17,11 +16,7 @@ import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.ClientPlayNetworkHandler;
import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.client.network.PlayerListEntry;
-import net.minecraft.scoreboard.Scoreboard;
-import net.minecraft.scoreboard.ScoreboardDisplaySlot;
-import net.minecraft.scoreboard.ScoreboardObjective;
-import net.minecraft.scoreboard.ScoreboardPlayerScore;
-import net.minecraft.scoreboard.Team;
+import net.minecraft.scoreboard.*;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
import org.slf4j.Logger;
@@ -53,7 +48,7 @@ public class Utils {
private static long clientWorldJoinTime = 0;
private static boolean sentLocRaw = false;
private static boolean canSendLocRaw = false;
-
+
/**
* @implNote The parent text will always be empty, the actual text content is inside the text's siblings.
*/
@@ -139,7 +134,7 @@ public class Utils {
List<String> sidebar = STRING_SCOREBOARD;
FabricLoader fabricLoader = FabricLoader.getInstance();
- if ((client.world == null || client.isInSingleplayer() || sidebar == null || sidebar.isEmpty())) {
+ if (client.world == null || client.isInSingleplayer() || sidebar.isEmpty()) {
if (fabricLoader.isDevelopmentEnvironment()) {
sidebar = Collections.emptyList();
} else {
@@ -190,36 +185,26 @@ public class Utils {
}
}
- public static String getLocation() {
- String location = null;
- List<String> sidebarLines = STRING_SCOREBOARD;
+ public static String getIslandArea() {
try {
- if (sidebarLines != null) {
- for (String sidebarLine : sidebarLines) {
- if (sidebarLine.contains("⏣")) location = sidebarLine;
- if (sidebarLine.contains("ф")) location = sidebarLine; //Rift
+ for (String sidebarLine : STRING_SCOREBOARD) {
+ if (sidebarLine.contains("⏣") || sidebarLine.contains("ф") /* Rift */) {
+ return sidebarLine.strip();
}
- if (location == null) location = "Unknown";
- location = location.strip();
}
} catch (IndexOutOfBoundsException e) {
LOGGER.error("[Skyblocker] Failed to get location from sidebar", e);
}
- return location;
+ return "Unknown";
}
public static double getPurse() {
String purseString = null;
double purse = 0;
- List<String> sidebarLines = STRING_SCOREBOARD;
try {
-
- if (sidebarLines != null) {
- for (String sidebarLine : sidebarLines) {
- if (sidebarLine.contains("Piggy:")) purseString = sidebarLine;
- if (sidebarLine.contains("Purse:")) purseString = sidebarLine;
- }
+ for (String sidebarLine : STRING_SCOREBOARD) {
+ if (sidebarLine.contains("Piggy:") || sidebarLine.contains("Purse:")) purseString = sidebarLine;
}
if (purseString != null) purse = Double.parseDouble(purseString.replaceAll("[^0-9.]", "").strip());
else purse = 0;
@@ -233,12 +218,9 @@ public class Utils {
public static int getBits() {
int bits = 0;
String bitsString = null;
- List<String> sidebarLines = STRING_SCOREBOARD;
try {
- if (sidebarLines != null) {
- for (String sidebarLine : sidebarLines) {
- if (sidebarLine.contains("Bits")) bitsString = sidebarLine;
- }
+ for (String sidebarLine : STRING_SCOREBOARD) {
+ if (sidebarLine.contains("Bits")) bitsString = sidebarLine;
}
if (bitsString != null) {
bits = Integer.parseInt(bitsString.replaceAll("[^0-9.]", "").strip());
@@ -253,25 +235,25 @@ public class Utils {
try {
TEXT_SCOREBOARD.clear();
STRING_SCOREBOARD.clear();
-
+
ClientPlayerEntity player = client.player;
if (player == null) return;
-
+
Scoreboard scoreboard = player.getScoreboard();
ScoreboardObjective objective = scoreboard.getObjectiveForSlot(ScoreboardDisplaySlot.FROM_ID.apply(1));
ObjectArrayList<Text> textLines = new ObjectArrayList<>();
ObjectArrayList<String> stringLines = new ObjectArrayList<>();
-
+
for (ScoreboardPlayerScore score : scoreboard.getAllPlayerScores(objective)) {
Team team = scoreboard.getPlayerTeam(score.getPlayerName());
-
+
if (team != null) {
Text textLine = Text.empty().append(team.getPrefix().copy()).append(team.getSuffix().copy());
String strLine = team.getPrefix().getString() + team.getSuffix().getString();
-
+
if (!strLine.trim().isEmpty()) {
String formatted = Formatting.strip(strLine);
-
+
textLines.add(textLine);
stringLines.add(formatted);
}
@@ -281,11 +263,11 @@ public class Utils {
if (objective != null) {
stringLines.add(objective.getDisplayName().getString());
textLines.add(Text.empty().append(objective.getDisplayName().copy()));
-
+
Collections.reverse(stringLines);
Collections.reverse(textLines);
}
-
+
TEXT_SCOREBOARD.addAll(textLines);
STRING_SCOREBOARD.addAll(stringLines);
} catch (NullPointerException e) {
diff --git a/src/main/java/de/hysky/skyblocker/utils/discord/DiscordRPCManager.java b/src/main/java/de/hysky/skyblocker/utils/discord/DiscordRPCManager.java
index 4f48a12f..df10a44d 100644
--- a/src/main/java/de/hysky/skyblocker/utils/discord/DiscordRPCManager.java
+++ b/src/main/java/de/hysky/skyblocker/utils/discord/DiscordRPCManager.java
@@ -107,13 +107,13 @@ public class DiscordRPCManager {
switch (SkyblockerConfigManager.get().richPresence.info) {
case BITS -> info = "Bits: " + DECIMAL_FORMAT.format(Utils.getBits());
case PURSE -> info = "Purse: " + DECIMAL_FORMAT.format(Utils.getPurse());
- case LOCATION -> info = Utils.getLocation();
+ case LOCATION -> info = Utils.getIslandArea();
}
} else if (SkyblockerConfigManager.get().richPresence.cycleMode) {
switch (cycleCount) {
case 0 -> info = "Bits: " + DECIMAL_FORMAT.format(Utils.getBits());
case 1 -> info = "Purse: " + DECIMAL_FORMAT.format(Utils.getPurse());
- case 2 -> info = Utils.getLocation();
+ case 2 -> info = Utils.getIslandArea();
}
}
return info;