aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/MiningCategory.java32
-rw-r--r--src/main/java/de/hysky/skyblocker/config/configs/MiningConfig.java6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsLocationsManager.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/MiningLocationLabel.java5
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/WishingCompassSolver.java23
-rw-r--r--src/main/resources/assets/skyblocker/lang/en_us.json13
6 files changed, 60 insertions, 21 deletions
diff --git a/src/main/java/de/hysky/skyblocker/config/categories/MiningCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/MiningCategory.java
index 4e11d869..9828474b 100644
--- a/src/main/java/de/hysky/skyblocker/config/categories/MiningCategory.java
+++ b/src/main/java/de/hysky/skyblocker/config/categories/MiningCategory.java
@@ -166,6 +166,14 @@ public class MiningCategory {
newValue -> config.mining.crystalsWaypoints.enabled = newValue)
.controller(ConfigUtils::createBooleanController)
.build())
+ .option(Option.<Float>createBuilder()
+ .name(Text.translatable("skyblocker.config.mining.crystalsWaypoints.textScale"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.config.mining.crystalsWaypoints.textScale.@Tooltip")))
+ .binding(defaults.mining.crystalsWaypoints.textScale,
+ () -> config.mining.crystalsWaypoints.textScale,
+ newValue -> config.mining.crystalsWaypoints.textScale = newValue)
+ .controller(FloatFieldControllerBuilder::create)
+ .build())
.option(Option.<Boolean>createBuilder()
.name(Text.translatable("skyblocker.config.mining.crystalsWaypoints.findInChat"))
.description(OptionDescription.of(Text.translatable("skyblocker.config.mining.crystalsWaypoints.findInChat.@Tooltip")))
@@ -174,6 +182,14 @@ public class MiningCategory {
newValue -> config.mining.crystalsWaypoints.findInChat = newValue)
.controller(ConfigUtils::createBooleanController)
.build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.config.mining.crystalsWaypoints.wishingCompassSolver"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.config.mining.crystalsWaypoints.wishingCompassSolver.@Tooltip")))
+ .binding(defaults.mining.crystalsWaypoints.WishingCompassSolver,
+ () -> config.mining.crystalsWaypoints.WishingCompassSolver,
+ newValue -> config.mining.crystalsWaypoints.WishingCompassSolver = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
.build())
@@ -193,14 +209,6 @@ public class MiningCategory {
newValue -> config.mining.commissionWaypoints.mode = newValue)
.controller(ConfigUtils::createEnumCyclingListController)
.build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.config.mining.commissionWaypoints.useColor"))
- .description(OptionDescription.of(Text.translatable("skyblocker.config.mining.commissionWaypoints.useColor.@Tooltip")))
- .binding(defaults.mining.commissionWaypoints.useColor,
- () -> config.mining.commissionWaypoints.useColor,
- newValue -> config.mining.commissionWaypoints.useColor = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
.option(Option.<Float>createBuilder()
.name(Text.translatable("skyblocker.config.mining.commissionWaypoints.textScale"))
.description(OptionDescription.of(Text.translatable("skyblocker.config.mining.commissionWaypoints.textScale.@Tooltip")))
@@ -210,6 +218,14 @@ public class MiningCategory {
.controller(FloatFieldControllerBuilder::create)
.build())
.option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.config.mining.commissionWaypoints.useColor"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.config.mining.commissionWaypoints.useColor.@Tooltip")))
+ .binding(defaults.mining.commissionWaypoints.useColor,
+ () -> config.mining.commissionWaypoints.useColor,
+ newValue -> config.mining.commissionWaypoints.useColor = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
.name(Text.translatable("skyblocker.config.mining.commissionWaypoints.showBaseCamp"))
.description(OptionDescription.of(Text.translatable("skyblocker.config.mining.commissionWaypoints.showBaseCamp.@Tooltip")))
.binding(defaults.mining.commissionWaypoints.showBaseCamp,
diff --git a/src/main/java/de/hysky/skyblocker/config/configs/MiningConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/MiningConfig.java
index d71f57b6..7c74af80 100644
--- a/src/main/java/de/hysky/skyblocker/config/configs/MiningConfig.java
+++ b/src/main/java/de/hysky/skyblocker/config/configs/MiningConfig.java
@@ -94,7 +94,13 @@ public class MiningConfig {
public boolean enabled = true;
@SerialEntry
+ public float textScale = 1;
+
+ @SerialEntry
public boolean findInChat = true;
+
+ @SerialEntry
+ public boolean WishingCompassSolver = true;
}
public static class CommissionWaypoints {
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 dd50e71e..3895d92d 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsLocationsManager.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsLocationsManager.java
@@ -116,7 +116,7 @@ public class CrystalsLocationsManager {
}
//move waypoint to be more accurate based on locational chat messages
- if (CLIENT.player != null) {
+ if (CLIENT.player != null && SkyblockerConfigManager.get().mining.crystalsWaypoints.enabled) {
for (MiningLocationLabel.CrystalHollowsLocationsCategory waypointLocation : WAYPOINT_LOCATIONS.values()) {
String waypointLinkedMessage = waypointLocation.getLinkedMessage();
if (waypointLinkedMessage != null && text.contains(waypointLinkedMessage)) {
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/MiningLocationLabel.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/MiningLocationLabel.java
index 964b6cce..2c3409c5 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/MiningLocationLabel.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/MiningLocationLabel.java
@@ -1,6 +1,7 @@
package de.hysky.skyblocker.skyblock.dwarven;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.Utils;
import de.hysky.skyblocker.utils.render.RenderHelper;
import de.hysky.skyblocker.utils.render.Renderable;
import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext;
@@ -34,7 +35,9 @@ public record MiningLocationLabel(Category category, Vec3d centerPos) implements
public void render(WorldRenderContext context) {
Vec3d posUp = centerPos.add(0, 1, 0);
double distance = context.camera().getPos().distanceTo(centerPos);
- float scale = (float) (SkyblockerConfigManager.get().mining.commissionWaypoints.textScale * (distance / 10));
+ //set scale config based on if in crystals or not
+ float textScale = Utils.isInCrystalHollows() ? SkyblockerConfigManager.get().mining.crystalsWaypoints.textScale : SkyblockerConfigManager.get().mining.commissionWaypoints.textScale;
+ float scale = (float) (textScale * (distance / 10));
RenderHelper.renderText(context, getName(), posUp, scale, true);
RenderHelper.renderText(context, Text.literal(Math.round(distance) + "m").formatted(Formatting.YELLOW), posUp, scale, MinecraftClient.getInstance().textRenderer.fontHeight + 1, true);
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/WishingCompassSolver.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/WishingCompassSolver.java
index 930bdad8..7ba2e05a 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/WishingCompassSolver.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/WishingCompassSolver.java
@@ -1,5 +1,6 @@
package de.hysky.skyblocker.skyblock.dwarven;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
import de.hysky.skyblocker.utils.Constants;
import de.hysky.skyblocker.utils.Utils;
@@ -134,7 +135,7 @@ public class WishingCompassSolver {
//make sure the data is in tab and if not tell the user
if (displayNameStream.noneMatch(entry -> entry.equals("Crystals:"))) {
- CLIENT.player.sendMessage(Constants.PREFIX.get().append(Text.literal("Enable crystals in /tab so the compass can know what has been found")), false);
+ CLIENT.player.sendMessage(Constants.PREFIX.get().append(Text.literal("skyblocker.config.mining.crystalsWaypoints.wishingCompassSolver.enableTabMessage")), false);
return false;
}
@@ -188,7 +189,7 @@ public class WishingCompassSolver {
if (particleUsedCountOne >= PARTICLES_PER_LINE) {
currentState = SolverStates.WAITING_FOR_SECOND;
if (CLIENT.player != null) {
- CLIENT.player.sendMessage(Constants.PREFIX.get().append(Text.literal("Wishing compass used. Move to another location and use another compass to triangulate target").formatted(Formatting.GREEN)), false);
+ CLIENT.player.sendMessage(Constants.PREFIX.get().append(Text.translatable("skyblocker.config.mining.crystalsWaypoints.wishingCompassSolver.wishingCompassUsedMessage").formatted(Formatting.GREEN)), false);
}
}
}
@@ -212,7 +213,7 @@ public class WishingCompassSolver {
}
Vec3d targetLocation = solve(startPosOne, startPosTwo, directionOne, directionTwo);
if (targetLocation == null) {
- CLIENT.player.sendMessage(Constants.PREFIX.get().append(Text.literal("Something went wrong. lines do not cross. please try again").formatted(Formatting.RED)), false);
+ CLIENT.player.sendMessage(Constants.PREFIX.get().append(Text.translatable("skyblocker.config.mining.crystalsWaypoints.wishingCompassSolver.somethingWentWrongMessage").formatted(Formatting.RED)), false);
} else {
//send message to player with location and name
MiningLocationLabel.CrystalHollowsLocationsCategory location = getTargetLocation(getZoneOfLocation(startPosOne));
@@ -222,7 +223,7 @@ public class WishingCompassSolver {
}
CLIENT.player.sendMessage(Constants.PREFIX.get()
- .append(Text.literal("Wishing compass solver found ").formatted(Formatting.GREEN))
+ .append(Text.translatable("skyblocker.config.mining.crystalsWaypoints.wishingCompassSolver.foundMessage").formatted(Formatting.GREEN))
.append(Text.literal(location.getName()).withColor(location.getColor()))
.append(Text.literal(": " + (int) targetLocation.getX() + " " + (int) targetLocation.getY() + " " + (int) targetLocation.getZ())),
false);
@@ -262,7 +263,7 @@ public class WishingCompassSolver {
}
ItemStack stack = CLIENT.player.getStackInHand(hand);
//make sure the user is in the crystal hollows and holding the wishing compass
- if (!Utils.isInCrystalHollows() || !Objects.equals(stack.getSkyblockId(), "WISHING_COMPASS")) {
+ if (!Utils.isInCrystalHollows() || !SkyblockerConfigManager.get().mining.crystalsWaypoints.WishingCompassSolver || !Objects.equals(stack.getSkyblockId(), "WISHING_COMPASS")) {
return ActionResult.PASS;
}
if (useCompass()) {
@@ -278,7 +279,7 @@ public class WishingCompassSolver {
}
ItemStack stack = CLIENT.player.getStackInHand(hand);
//make sure the user is in the crystal hollows and holding the wishing compass
- if (!Utils.isInCrystalHollows() || !Objects.equals(stack.getSkyblockId(), "WISHING_COMPASS")) {
+ if (!Utils.isInCrystalHollows() || !SkyblockerConfigManager.get().mining.crystalsWaypoints.WishingCompassSolver || !Objects.equals(stack.getSkyblockId(), "WISHING_COMPASS")) {
return TypedActionResult.pass(stack);
}
if (useCompass()) {
@@ -304,7 +305,7 @@ public class WishingCompassSolver {
case NOT_STARTED -> {
//do not start if the player is in nucleus as this does not work well
if (currentZone == ZONE.CRYSTAL_NUCLEUS) {
- CLIENT.player.sendMessage(Constants.PREFIX.get().append(Text.literal("Use compass outside of nucleus for better results")), false);
+ CLIENT.player.sendMessage(Constants.PREFIX.get().append(Text.translatable("skyblocker.config.mining.crystalsWaypoints.wishingCompassSolver.useOutsideNucleusMessage")), false);
return true;
}
startNewState(SolverStates.PROCESSING_FIRST_USE);
@@ -313,12 +314,12 @@ public class WishingCompassSolver {
case WAITING_FOR_SECOND -> {
//only continue if the player is far enough away from the first position to get a better reading
if (startPosOne.distanceTo(playerPos) < DISTANCE_BETWEEN_USES) {
- CLIENT.player.sendMessage(Constants.PREFIX.get().append(Text.literal("Move further away from the first use before using again")), false);
+ CLIENT.player.sendMessage(Constants.PREFIX.get().append(Text.translatable("skyblocker.config.mining.crystalsWaypoints.wishingCompassSolver.moveFurtherMessage")), false);
return true;
} else {
//make sure the player is in the same zone as they used to first or restart
if (currentZone != getZoneOfLocation(startPosOne)) {
- CLIENT.player.sendMessage(Constants.PREFIX.get().append(Text.literal("Changed zone. Restarting...")), false);
+ CLIENT.player.sendMessage(Constants.PREFIX.get().append(Text.translatable("skyblocker.config.mining.crystalsWaypoints.wishingCompassSolver.changingZoneMessage")), false);
startNewState(SolverStates.PROCESSING_FIRST_USE);
} else {
startNewState(SolverStates.PROCESSING_SECOND_USE);
@@ -330,10 +331,10 @@ public class WishingCompassSolver {
//if still looking for particles for line tell the user to wait
//else tell the use something went wrong and its starting again
if (System.currentTimeMillis() - particleLastUpdate < PARTICLES_MAX_DELAY) {
- CLIENT.player.sendMessage(Constants.PREFIX.get().append(Text.literal("Wait a little before using another wishing compass").formatted(Formatting.RED)), false);
+ CLIENT.player.sendMessage(Constants.PREFIX.get().append(Text.translatable("skyblocker.config.mining.crystalsWaypoints.wishingCompassSolver.waitLongerMessage").formatted(Formatting.RED)), false);
return true;
} else {
- CLIENT.player.sendMessage(Constants.PREFIX.get().append(Text.literal("Could not detect last use. Restarting...").formatted(Formatting.RED)), false);
+ CLIENT.player.sendMessage(Constants.PREFIX.get().append(Text.translatable("skyblocker.config.mining.crystalsWaypoints.wishingCompassSolver.couldNotDetectLastUseMessage").formatted(Formatting.RED)), false);
startNewState(SolverStates.PROCESSING_FIRST_USE);
}
}
diff --git a/src/main/resources/assets/skyblocker/lang/en_us.json b/src/main/resources/assets/skyblocker/lang/en_us.json
index 8bdc5965..964e0a44 100644
--- a/src/main/resources/assets/skyblocker/lang/en_us.json
+++ b/src/main/resources/assets/skyblocker/lang/en_us.json
@@ -471,6 +471,8 @@
"skyblocker.config.mining.crystalsWaypoints": "Crystal Hollows Waypoints",
"skyblocker.config.mining.crystalsWaypoints.enabled": "Enabled Waypoints",
"skyblocker.config.mining.crystalsWaypoints.enabled.@Tooltip": "Show a waypoint (waypoint selected in general/waypoints) at important areas in the crystal hollows, e.g., Jungle Temple and Fairy Grotto. ",
+ "skyblocker.config.mining.crystalsWaypoints.textScale": "Text Scale",
+ "skyblocker.config.mining.crystalsWaypoints.textScale.@Tooltip": "Scale the size of the commission labels.",
"skyblocker.config.mining.crystalsWaypoints.findInChat": "Find Waypoints In Chat",
"skyblocker.config.mining.crystalsWaypoints.findInChat.@Tooltip": "When in crystal hollows read the chat to see if coordinates are sent and extract these to show as waypoint or on the map",
"skyblocker.config.mining.crystalsWaypoints.addedWaypoint": "Added waypoint for ",
@@ -478,6 +480,17 @@
"skyblocker.config.mining.crystalsWaypoints.shareFail": "Can only share waypoints you have found.",
"skyblocker.config.mining.crystalsWaypoints.removeSuccess": "Removed waypoint for ",
"skyblocker.config.mining.crystalsWaypoints.removeFail": "Can only remove waypoints you have found.",
+ "skyblocker.config.mining.crystalsWaypoints.wishingCompassSolver": "Wishing Compass Solver",
+ "skyblocker.config.mining.crystalsWaypoints.wishingCompassSolver.@Tooltip": "Works out and adds a waypoint to where a wishing compass points to",
+ "skyblocker.config.mining.crystalsWaypoints.wishingCompassSolver.enableTabMessage": "Enable crystals in /tab so the compass can know what has been found",
+ "skyblocker.config.mining.crystalsWaypoints.wishingCompassSolver.wishingCompassUsedMessage": "Wishing compass used. Move to another location and use another compass to triangulate target",
+ "skyblocker.config.mining.crystalsWaypoints.wishingCompassSolver.somethingWentWrongMessage": "Something went wrong. lines do not cross. please try again",
+ "skyblocker.config.mining.crystalsWaypoints.wishingCompassSolver.foundMessage": "Wishing compass solver found ",
+ "skyblocker.config.mining.crystalsWaypoints.wishingCompassSolver.useOutsideNucleusMessage": "Use compass outside of nucleus for better results",
+ "skyblocker.config.mining.crystalsWaypoints.wishingCompassSolver.moveFurtherMessage": "Move further away from the first use before using again",
+ "skyblocker.config.mining.crystalsWaypoints.wishingCompassSolver.changingZoneMessage": "Changed zone. Restarting...",
+ "skyblocker.config.mining.crystalsWaypoints.wishingCompassSolver.waitLongerMessage": "Wait a little before using another wishing compass",
+ "": "Could not detect last use. Restarting...",
"skyblocker.config.mining.dwarvenHud": "Dwarven HUD",
"skyblocker.config.mining.dwarvenHud.enabledCommissions": "Enable Commissions",