From cec065a79d10319aaf0b6c3e96b4d76001f3e93b Mon Sep 17 00:00:00 2001 From: olim Date: Mon, 8 Apr 2024 22:07:29 +0100 Subject: add option for timer above rod when fishing give option to show how long a rod has been out for --- .../hysky/skyblocker/skyblock/FishingHelper.java | 29 ++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) (limited to 'src/main/java/de/hysky/skyblocker/skyblock') diff --git a/src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java b/src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java index 9e7cf541..fb368e30 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java @@ -1,9 +1,12 @@ package de.hysky.skyblocker.skyblock; import de.hysky.skyblocker.config.SkyblockerConfigManager; +import de.hysky.skyblocker.skyblock.dwarven.CrystalsLocationsManager; import de.hysky.skyblocker.utils.Utils; import de.hysky.skyblocker.utils.render.RenderHelper; import de.hysky.skyblocker.utils.render.title.Title; +import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext; +import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderEvents; import net.fabricmc.fabric.api.event.player.UseItemCallback; import net.minecraft.client.MinecraftClient; import net.minecraft.client.network.ClientPlayerEntity; @@ -11,6 +14,7 @@ import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.FishingRodItem; import net.minecraft.item.ItemStack; import net.minecraft.network.packet.s2c.play.PlaySoundS2CPacket; +import net.minecraft.text.Text; import net.minecraft.util.Formatting; import net.minecraft.util.TypedActionResult; import net.minecraft.util.math.MathHelper; @@ -19,6 +23,7 @@ import net.minecraft.util.math.Vec3d; public class FishingHelper { private static final Title title = new Title("skyblocker.fishing.reelNow", Formatting.GREEN); private static long startTime; + private static long startTimeFish; private static Vec3d normalYawVector; public static void init() { @@ -36,31 +41,51 @@ public class FishingHelper { } return TypedActionResult.pass(stack); }); + WorldRenderEvents.AFTER_TRANSLUCENT.register(FishingHelper::render); } public static void start(PlayerEntity player) { startTime = System.currentTimeMillis(); + startTimeFish = System.currentTimeMillis(); float yawRad = player.getYaw() * 0.017453292F; normalYawVector = new Vec3d(-MathHelper.sin(yawRad), 0, MathHelper.cos(yawRad)); } public static void reset() { startTime = 0; + startTimeFish = 0; + } + + public static void resetFish() { + startTimeFish = 0; } public static void onSound(PlaySoundS2CPacket packet) { String path = packet.getSound().value().getId().getPath(); - if (SkyblockerConfigManager.get().general.fishing.enableFishingHelper && startTime != 0 && System.currentTimeMillis() >= startTime + 2000 && ("entity.generic.splash".equals(path) || "entity.player.splash".equals(path))) { + if (SkyblockerConfigManager.get().general.fishing.enableFishingHelper && startTimeFish != 0 && System.currentTimeMillis() >= startTimeFish + 2000 && ("entity.generic.splash".equals(path) || "entity.player.splash".equals(path))) { ClientPlayerEntity player = MinecraftClient.getInstance().player; if (player != null && player.fishHook != null) { Vec3d soundToFishHook = player.fishHook.getPos().subtract(packet.getX(), 0, packet.getZ()); if (Math.abs(normalYawVector.x * soundToFishHook.z - normalYawVector.z * soundToFishHook.x) < 0.2D && Math.abs(normalYawVector.dotProduct(soundToFishHook)) < 4D && player.getPos().squaredDistanceTo(packet.getX(), packet.getY(), packet.getZ()) > 1D) { RenderHelper.displayInTitleContainerAndPlaySound(title, 10); - reset(); + resetFish(); } } else { reset(); } } } + + public static void render(WorldRenderContext context) { + if (SkyblockerConfigManager.get().general.fishing.enableFishingTimer && startTime != 0) { + ClientPlayerEntity player = MinecraftClient.getInstance().player; + if (player != null && player.fishHook != null) { + float time = Math.round((System.currentTimeMillis()-startTime) / 100f) / 10f; //leave 1dp in seconds + float scale = SkyblockerConfigManager.get().general.fishing.fishingTimerScale; + Vec3d pos = player.fishHook.getPos().add(0,0.4 + scale / 10,0); + RenderHelper.renderText(context, Text.of(String.valueOf(time)), pos, scale, true); + } + } + + } } -- cgit From cdf2b3f8a1cdb665df7b3da1ecf6c328630faf5d Mon Sep 17 00:00:00 2001 From: olim Date: Mon, 8 Apr 2024 22:39:34 +0100 Subject: add option to change text color after 20 seconds add option to change the text to green after 20 seconds (use full for some larva fishing) --- .../java/de/hysky/skyblocker/skyblock/FishingHelper.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/main/java/de/hysky/skyblocker/skyblock') diff --git a/src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java b/src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java index fb368e30..121921b3 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java @@ -20,6 +20,8 @@ import net.minecraft.util.TypedActionResult; import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.Vec3d; +import java.awt.*; + public class FishingHelper { private static final Title title = new Title("skyblocker.fishing.reelNow", Formatting.GREEN); private static long startTime; @@ -83,7 +85,15 @@ public class FishingHelper { float time = Math.round((System.currentTimeMillis()-startTime) / 100f) / 10f; //leave 1dp in seconds float scale = SkyblockerConfigManager.get().general.fishing.fishingTimerScale; Vec3d pos = player.fishHook.getPos().add(0,0.4 + scale / 10,0); - RenderHelper.renderText(context, Text.of(String.valueOf(time)), pos, scale, true); + + Text text; + if (time >= 20 && SkyblockerConfigManager.get().general.fishing.changeTimerColor) { + text = Text.literal(String.valueOf(time)).withColor(Color.GREEN.getRGB()); + } else { + text = Text.literal(String.valueOf(time)); + } + + RenderHelper.renderText(context, text, pos, scale, true); } } -- cgit From 0bd00eb842fe3f5f3ebe5c55bc06eef339f014f4 Mon Sep 17 00:00:00 2001 From: olim Date: Thu, 11 Apr 2024 10:59:00 +0100 Subject: fix formatting hopefully make sure that the code in the pull request is formatted properly --- src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java | 1 - 1 file changed, 1 deletion(-) (limited to 'src/main/java/de/hysky/skyblocker/skyblock') diff --git a/src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java b/src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java index 121921b3..b235f7f7 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java @@ -96,6 +96,5 @@ public class FishingHelper { RenderHelper.renderText(context, text, pos, scale, true); } } - } } -- cgit From b714855fd717bde1f2c9866823719819a9c0c7ed Mon Sep 17 00:00:00 2001 From: olim Date: Thu, 11 Apr 2024 11:01:47 +0100 Subject: Update FishingHelper.java --- src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java | 1 - 1 file changed, 1 deletion(-) (limited to 'src/main/java/de/hysky/skyblocker/skyblock') diff --git a/src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java b/src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java index b235f7f7..66be0b7a 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java @@ -1,7 +1,6 @@ package de.hysky.skyblocker.skyblock; import de.hysky.skyblocker.config.SkyblockerConfigManager; -import de.hysky.skyblocker.skyblock.dwarven.CrystalsLocationsManager; import de.hysky.skyblocker.utils.Utils; import de.hysky.skyblocker.utils.render.RenderHelper; import de.hysky.skyblocker.utils.render.title.Title; -- cgit From 8dbe780a93b9841b70d8a0e24c93fef2ae21d263 Mon Sep 17 00:00:00 2001 From: Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> Date: Tue, 16 Apr 2024 10:36:07 -0400 Subject: Refactor FishingHelper --- src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'src/main/java/de/hysky/skyblocker/skyblock') diff --git a/src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java b/src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java index 66be0b7a..7676860f 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java @@ -19,8 +19,6 @@ import net.minecraft.util.TypedActionResult; import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.Vec3d; -import java.awt.*; - public class FishingHelper { private static final Title title = new Title("skyblocker.fishing.reelNow", Formatting.GREEN); private static long startTime; @@ -81,13 +79,13 @@ public class FishingHelper { if (SkyblockerConfigManager.get().general.fishing.enableFishingTimer && startTime != 0) { ClientPlayerEntity player = MinecraftClient.getInstance().player; if (player != null && player.fishHook != null) { - float time = Math.round((System.currentTimeMillis()-startTime) / 100f) / 10f; //leave 1dp in seconds + float time = (int) ((System.currentTimeMillis() - startTime) / 100f) / 10f; //leave 1dp in seconds float scale = SkyblockerConfigManager.get().general.fishing.fishingTimerScale; - Vec3d pos = player.fishHook.getPos().add(0,0.4 + scale / 10,0); + Vec3d pos = player.fishHook.getPos().add(0, 0.4 + scale / 10, 0); Text text; if (time >= 20 && SkyblockerConfigManager.get().general.fishing.changeTimerColor) { - text = Text.literal(String.valueOf(time)).withColor(Color.GREEN.getRGB()); + text = Text.literal(String.valueOf(time)).formatted(Formatting.GREEN); } else { text = Text.literal(String.valueOf(time)); } -- cgit