diff options
Diffstat (limited to 'src')
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", |