aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de')
-rw-r--r--src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsHud.java8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsLocationsManager.java25
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsWaypoint.java18
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java45
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java12
6 files changed, 51 insertions, 65 deletions
diff --git a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java
index a07b0084..775c70ce 100644
--- a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java
+++ b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java
@@ -898,10 +898,10 @@ public class SkyblockerConfig {
public boolean enableBackground = true;
@SerialEntry
- public int commissionsX = 10;
+ public int x = 10;
@SerialEntry
- public int commissionsY = 10;
+ public int y = 10;
@SerialEntry
public int powderX = 10;
@@ -931,10 +931,6 @@ public class SkyblockerConfig {
@SerialEntry
public boolean findInChat = true;
- @SerialEntry
- public Map<String, CrystalsWaypoint> ActiveWaypoints = new HashMap<>() {};
-
-
}
public enum DwarvenHudStyle {
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsHud.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsHud.java
index 6b26d043..59d70405 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsHud.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsHud.java
@@ -14,6 +14,7 @@ import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.util.Identifier;
+import net.minecraft.util.math.MathHelper;
import java.awt.*;
import java.util.Arrays;
@@ -67,7 +68,7 @@ public class CrystalsHud {
drawTexture(MAP_TEXTURE,hudX,hudY,0,0,62,62,62,62);
//if enabled add waypoint locations to map
if (SkyblockerConfigManager.get().locations.dwarvenMines.crystalsHud.showLocations){
- Map<String,CrystalsWaypoint> ActiveWaypoints= SkyblockerConfigManager.get().locations.dwarvenMines.crystalsWaypoints.ActiveWaypoints;
+ Map<String,CrystalsWaypoint> ActiveWaypoints= CrystalsLocationsManager.ActiveWaypoints;
for (CrystalsWaypoint waypoint : ActiveWaypoints.values()){
Color waypointColor = waypoint.category.color;
Pair<Integer, Integer> renderPos = transformLocation(waypoint.pos.getX(),waypoint.pos.getZ());
@@ -106,9 +107,8 @@ public class CrystalsHud {
//converts an x and z to a location on the map
int transformedX = (int)((x-202)/621 * 62);
int transformedY = (int)((z -202)/621 * 62);
- transformedX = Math.max(0, Math.min(62, transformedX));
- transformedY = Math.max(0, Math.min(62, transformedY));
-
+ transformedX = MathHelper.clamp(transformedX,0, 62);
+ transformedY = MathHelper.clamp(transformedY,0, 62);
return Pair.of(transformedX,transformedY);
}
/**
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsLocationsManager.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsLocationsManager.java
index eb68ed9f..74730315 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsLocationsManager.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsLocationsManager.java
@@ -1,14 +1,11 @@
package de.hysky.skyblocker.skyblock.dwarven;
-import com.mojang.authlib.GameProfile;
import com.mojang.brigadier.Command;
import com.mojang.brigadier.CommandDispatcher;
import com.mojang.brigadier.arguments.StringArgumentType;
import de.hysky.skyblocker.SkyblockerMod;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
import de.hysky.skyblocker.utils.Utils;
-import de.hysky.skyblocker.utils.scheduler.Scheduler;
-import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback;
import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource;
import net.fabricmc.fabric.api.client.message.v1.ClientReceiveMessageEvents;
@@ -17,19 +14,14 @@ import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderEvents;
import net.minecraft.client.MinecraftClient;
import net.minecraft.command.CommandRegistryAccess;
import net.minecraft.command.argument.BlockPosArgumentType;
-import net.minecraft.command.argument.DefaultPosArgument;
import net.minecraft.command.argument.PosArgument;
-import net.minecraft.network.message.MessageType;
-import net.minecraft.network.message.SignedMessage;
import net.minecraft.server.command.ServerCommandSource;
import net.minecraft.text.ClickEvent;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
-import net.minecraft.util.Util;
import net.minecraft.util.math.BlockPos;
import java.awt.*;
-import java.time.Instant;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
@@ -47,16 +39,17 @@ public class CrystalsLocationsManager {
* A look-up table to convert between location names and waypoint in the {@link CrystalsWaypoint.Category} values.
*/
public static final Map<String, CrystalsWaypoint.Category> WAYPOINTLOCATIONS = Map.of(
- "Jungle Temple", CrystalsWaypoint.Category.JUNGLETEMPLE,
- "Mines Of Divan", CrystalsWaypoint.Category.MINESOFDIVAN,
- "Goblin Queen's Den", CrystalsWaypoint.Category.GOBLINQUEENSDEN,
- "Lost Precursor City", CrystalsWaypoint.Category.LOSTPRECURSORCITY,
+ "Jungle Temple", CrystalsWaypoint.Category.JUNGLE_TEMPLE,
+ "Mines Of Divan", CrystalsWaypoint.Category.MINES_OF_DIVAN,
+ "Goblin Queen's Den", CrystalsWaypoint.Category.GOBLIN_QUEENS_DEN,
+ "Lost Precursor City", CrystalsWaypoint.Category.LOST_PRECURSOR_CITY,
"Khazad-dûm", CrystalsWaypoint.Category.KHAZADUM,
- "Fairy Grotto", CrystalsWaypoint.Category.FAIRYGROTTO,
- "Dragon's Lair", CrystalsWaypoint.Category.DRAGONSLAIR,
+ "Fairy Grotto", CrystalsWaypoint.Category.FAIRY_GROTTO,
+ "Dragon's Lair", CrystalsWaypoint.Category.DRAGONS_LAIR,
"Corleone", CrystalsWaypoint.Category.CORLEONE,
"King", CrystalsWaypoint.Category.KING
);
+ protected static Map<String, CrystalsWaypoint> ActiveWaypoints = new HashMap<>() {};
private static final Pattern TEXT_CWORDS_PATTERN = Pattern.compile("([0-9][0-9][0-9]) ([0-9][0-9][0-9]?) ([0-9][0-9][0-9])");
@@ -149,13 +142,11 @@ public class CrystalsLocationsManager {
private static void addCustomWaypoint( Text waypointName, BlockPos pos) {
CrystalsWaypoint.Category category = WAYPOINTLOCATIONS.get(waypointName.getString());
CrystalsWaypoint waypoint = new CrystalsWaypoint(category, waypointName, pos);
- Map<String,CrystalsWaypoint> ActiveWaypoints= SkyblockerConfigManager.get().locations.dwarvenMines.crystalsWaypoints.ActiveWaypoints;
ActiveWaypoints.put(waypointName.getString(),waypoint);
}
public static void render(WorldRenderContext context) {
if (SkyblockerConfigManager.get().locations.dwarvenMines.crystalsWaypoints.enabled ) {
- Map<String,CrystalsWaypoint> ActiveWaypoints= SkyblockerConfigManager.get().locations.dwarvenMines.crystalsWaypoints.ActiveWaypoints;
for (CrystalsWaypoint crystalsWaypoint : ActiveWaypoints.values()) {
if (crystalsWaypoint.shouldRender()) {
crystalsWaypoint.render(context);
@@ -166,13 +157,11 @@ public class CrystalsLocationsManager {
public static void update() {
if (client.player == null || client.getNetworkHandler() == null || !SkyblockerConfigManager.get().locations.dwarvenMines.crystalsWaypoints.enabled || !Utils.isInCrystals()) {
- SkyblockerConfigManager.get().locations.dwarvenMines.crystalsWaypoints.ActiveWaypoints= new HashMap<>();
return;
}
//get if the player is in the crystals
String location = Utils.getIslandArea().replace("⏣ ","");
//if new location and needs waypoint add waypoint
- Map<String,CrystalsWaypoint> ActiveWaypoints= SkyblockerConfigManager.get().locations.dwarvenMines.crystalsWaypoints.ActiveWaypoints;
if (!location.equals("Unknown") && WAYPOINTLOCATIONS.containsKey(location) && !ActiveWaypoints.containsKey(location)){
//add waypoint at player location
BlockPos playerLocation = client.player.getBlockPos();
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsWaypoint.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsWaypoint.java
index 3ae56c47..f9016f3a 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsWaypoint.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsWaypoint.java
@@ -1,20 +1,16 @@
package de.hysky.skyblocker.skyblock.dwarven;
import com.google.gson.JsonObject;
-import com.mojang.brigadier.context.CommandContext;
import com.mojang.serialization.Codec;
import com.mojang.serialization.JsonOps;
-import com.mojang.serialization.codecs.RecordCodecBuilder;
import de.hysky.skyblocker.config.SkyblockerConfig;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
import de.hysky.skyblocker.utils.render.RenderHelper;
import de.hysky.skyblocker.utils.waypoint.Waypoint;
import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext;
import net.minecraft.client.MinecraftClient;
-import net.minecraft.command.argument.EnumArgumentType;
import net.minecraft.entity.Entity;
import net.minecraft.text.Text;
-import net.minecraft.text.TextCodecs;
import net.minecraft.util.Formatting;
import net.minecraft.util.StringIdentifiable;
import net.minecraft.util.math.BlockPos;
@@ -23,8 +19,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.awt.*;
-import java.util.List;
-import java.util.Map;
import java.util.function.Predicate;
import java.util.function.Supplier;
import java.util.function.ToDoubleFunction;
@@ -84,13 +78,13 @@ public class CrystalsWaypoint extends Waypoint {
* enum for the different waypoints used int the crystals hud each with a {@link Category#name} and associated {@link Category#color}
*/
enum Category implements StringIdentifiable {
- JUNGLETEMPLE("Jungle Temple",Color.GREEN),
- MINESOFDIVAN("Mines Of Divan",Color.CYAN),
- GOBLINQUEENSDEN("Goblin Queen's Den",Color.ORANGE),
- LOSTPRECURSORCITY("Lost Precursor City",Color.BLUE),
+ JUNGLE_TEMPLE("Jungle Temple",Color.GREEN),
+ MINES_OF_DIVAN("Mines Of Divan",Color.CYAN),
+ GOBLIN_QUEENS_DEN("Goblin Queen's Den",Color.ORANGE),
+ LOST_PRECURSOR_CITY("Lost Precursor City",Color.BLUE),
KHAZADUM("Khazad-dûm",Color.RED),
- FAIRYGROTTO("Fairy Grotto",Color.PINK),
- DRAGONSLAIR("Dragon's Lair",Color.BLACK),
+ FAIRY_GROTTO("Fairy Grotto",Color.PINK),
+ DRAGONS_LAIR("Dragon's Lair",Color.BLACK),
CORLEONE("Corleone",Color.gray),
KING("King",Color.yellow),
DEFAULT("Default",Color.BLACK);
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 fb055b87..5c3498bc 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java
@@ -15,6 +15,7 @@ import net.minecraft.client.gui.DrawContext;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
+import java.awt.*;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
@@ -27,8 +28,8 @@ public class DwarvenHud {
public static final MinecraftClient client = MinecraftClient.getInstance();
public static List<Commission> commissionList = new ArrayList<>();
- public static int mithrilPowder = 0;
- public static int gemStonePowder = 0;
+ public static String mithrilPowder = "0";
+ public static String gemStonePowder = "0";
public static final List<Pattern> COMMISSIONS = Stream.of(
"(?:Titanium|Mithril|Hard Stone) Miner",
@@ -44,6 +45,8 @@ public class DwarvenHud {
"(?:Amber|Sapphire|Jade|Amethyst|Topaz) Crystal Hunter",
"Chest Looter").map(s -> Pattern.compile("^.*(" + s + "): (\\d+\\.?\\d*%|DONE)"))
.collect(Collectors.toList());
+ public static final Pattern MITHRIL_PATTERN = Pattern.compile("Mithril Powder: [0-9,]+");
+ public static final Pattern GEMSTONE_PATTERN = Pattern.compile("Gemstone Powder: [0-9,]+");
public static void init() {
ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> dispatcher.register(ClientCommandManager.literal("skyblocker")
@@ -59,11 +62,11 @@ public class DwarvenHud {
return;
}
render(HudCommsWidget.INSTANCE,HudPowderWidget.INSTANCE, context,
- SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.commissionsX,
- SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.commissionsY,
+ SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.x,
+ SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.y,
SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.powderX,
SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.powderY,
- commissionList,mithrilPowder,gemStonePowder);
+ commissionList);
});
}
@@ -107,11 +110,11 @@ public class DwarvenHud {
};
}
- public static void render(HudCommsWidget hcw, HudPowderWidget hpw, DrawContext context, int comHudX, int comHudY, int powderHudX, int powderHudY, List<Commission> commissions,int mithril, int gemStone) {
+ public static void render(HudCommsWidget hcw, HudPowderWidget hpw, DrawContext context, int comHudX, int comHudY, int powderHudX, int powderHudY, List<Commission> commissions) {
switch (SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.style) {
- case SIMPLE -> renderSimple(hcw,hpw, context, comHudX, comHudY,powderHudX,powderHudY, commissions,mithril,gemStone);
- case FANCY -> renderFancy(hcw,hpw, context, comHudX, comHudY,powderHudX,powderHudY, commissions,mithril,gemStone);
+ case SIMPLE -> renderSimple(hcw,hpw, context, comHudX, comHudY,powderHudX,powderHudY, commissions);
+ case FANCY -> renderFancy(hcw,hpw, context, comHudX, comHudY,powderHudX,powderHudY, commissions);
case CLASSIC -> renderClassic(context, comHudX, comHudY,powderHudX,powderHudY, commissions);
}
}
@@ -142,10 +145,8 @@ public class DwarvenHud {
context
.drawTextWithShadow(client.textRenderer,
- Text.literal(commission.commission + ": ")
- .styled(style -> style.withColor(Formatting.AQUA))
- .append(Text.literal(commission.progression)
- .styled(style -> style.withColor(Colors.hypixelProgressColor(percentage)))),
+ Text.literal(commission.commission + ": ").formatted(Formatting.AQUA)
+ .append(Text.literal(commission.progression).formatted(Colors.hypixelProgressColor(percentage))),
comHudX + 5, comHudY + y + 5, 0xFFFFFFFF);
y += 20;
}
@@ -154,18 +155,16 @@ public class DwarvenHud {
//render mithril powder then gemstone
context
.drawTextWithShadow(client.textRenderer,
- Text.literal("Mithril: " + mithrilPowder)
- .styled(style -> style.withColor(Formatting.AQUA)),
+ Text.literal("Mithril: " + mithrilPowder).formatted(Formatting.AQUA),
powderHudX + 5, powderHudY + 5, 0xFFFFFFFF);
context
.drawTextWithShadow(client.textRenderer,
- Text.literal("Gemstone: " + gemStonePowder)
- .styled(style -> style.withColor(Formatting.DARK_PURPLE)),
+ Text.literal("Gemstone: " + gemStonePowder).formatted(Formatting.DARK_PURPLE),
powderHudX + 5, powderHudY + 25, 0xFFFFFFFF);
}
}
- public static void renderSimple(HudCommsWidget hcw, HudPowderWidget hpw, DrawContext context, int comHudX, int comHudY, int powderHudX, int powderHudY, List<Commission> commissions,int mithril, int gemStone) {
+ public static void renderSimple(HudCommsWidget hcw, HudPowderWidget hpw, DrawContext context, int comHudX, int comHudY, int powderHudX, int powderHudY, List<Commission> commissions) {
if (SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.enabledCommissions) {
hcw.updateData(commissions, false);
hcw.update();
@@ -183,7 +182,7 @@ public class DwarvenHud {
}
}
- public static void renderFancy(HudCommsWidget hcw, HudPowderWidget hpw, DrawContext context, int comHudX, int comHudY, int powderHudX, int powderHudY, List<Commission> commissions,int mithril, int gemStone) {
+ public static void renderFancy(HudCommsWidget hcw, HudPowderWidget hpw, DrawContext context, int comHudX, int comHudY, int powderHudX, int powderHudY, List<Commission> commissions) {
if (SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.enabledCommissions) {
hcw.updateData(commissions, true);
hcw.update();
@@ -208,6 +207,7 @@ public class DwarvenHud {
client.getNetworkHandler().getPlayerList().forEach(playerListEntry -> {
if (playerListEntry.getDisplayName() != null) {
+ //find commissions
for (Pattern pattern : COMMISSIONS) {
Matcher matcher = pattern.matcher(playerListEntry.getDisplayName().getString());
if (matcher.find()) {
@@ -215,6 +215,15 @@ public class DwarvenHud {
}
}
+ //find powder
+ Matcher mithrilMatcher = MITHRIL_PATTERN.matcher(playerListEntry.getDisplayName().getString());
+ if (mithrilMatcher.find()){
+ mithrilPowder = mithrilMatcher.group(0).split(": ")[1];
+ }
+ Matcher gemstoneMatcher = GEMSTONE_PATTERN.matcher(playerListEntry.getDisplayName().getString());
+ if (gemstoneMatcher.find()){
+ gemStonePowder = gemstoneMatcher.group(0).split(": ")[1];
+ }
}
});
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java
index 5efa9c03..4214ca89 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java
@@ -17,10 +17,8 @@ import java.util.List;
public class DwarvenHudConfigScreen extends Screen {
private static final List<DwarvenHud.Commission> CFG_COMMS = List.of(new Commission("Test Commission 1", "1%"), new DwarvenHud.Commission("Test Commission 2", "2%"));
- private static final int CFG_MITHRIL = 100;
- private static final int CFG_GEMSTONE = 1010;
- private int commissionsHudX = SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.commissionsX;
- private int commissionsHudY = SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.commissionsY;
+ private int commissionsHudX = SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.x;
+ private int commissionsHudY = SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.y;
private int powderHudX = SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.powderX;
private int powderHudY = SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.powderY;
@@ -39,7 +37,7 @@ public class DwarvenHudConfigScreen extends Screen {
public void render(DrawContext context, int mouseX, int mouseY, float delta) {
super.render(context, mouseX, mouseY, delta);
renderBackground(context, mouseX, mouseY, delta);
- DwarvenHud.render(HudCommsWidget.INSTANCE_CFG, HudPowderWidget.INSTANCE_CFG, context, commissionsHudX, commissionsHudY,powderHudX,powderHudY,CFG_COMMS,CFG_MITHRIL,CFG_GEMSTONE);
+ DwarvenHud.render(HudCommsWidget.INSTANCE_CFG, HudPowderWidget.INSTANCE_CFG, context, commissionsHudX, commissionsHudY,powderHudX,powderHudY,CFG_COMMS);
context.drawCenteredTextWithShadow(textRenderer, "Right Click To Reset Position", width / 2, height / 2, Color.GRAY.getRGB());
}
@@ -71,8 +69,8 @@ public class DwarvenHudConfigScreen extends Screen {
@Override
public void close() {
- SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.commissionsX = commissionsHudX;
- SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.commissionsY = commissionsHudY;
+ SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.x = commissionsHudX;
+ SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.y = commissionsHudY;
SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.powderX = powderHudX;
SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.powderY = powderHudY;
SkyblockerConfigManager.save();