diff options
author | hannibal2 <24389977+hannibal00212@users.noreply.github.com> | 2023-10-16 11:31:21 +0200 |
---|---|---|
committer | hannibal2 <24389977+hannibal00212@users.noreply.github.com> | 2023-10-16 11:31:21 +0200 |
commit | 5db60e5167bf8f172f0aae41a4ee21c0c86705e3 (patch) | |
tree | c72c40648a00cef4e818cfcf5a34ec2ff5a90f3d /src/main/java/at/hannibal2/skyhanni/features | |
parent | 5ebcfe5b19f7bc30c730c69aa4a44c2168218863 (diff) | |
download | skyhanni-5db60e5167bf8f172f0aae41a4ee21c0c86705e3.tar.gz skyhanni-5db60e5167bf8f172f0aae41a4ee21c0c86705e3.tar.bz2 skyhanni-5db60e5167bf8f172f0aae41a4ee21c0c86705e3.zip |
Fishing hook display no longer calculates distance, removed debug values, and added support for multiple timers without recasting the bobber.
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/features')
-rw-r--r-- | src/main/java/at/hannibal2/skyhanni/features/fishing/FishingHookDisplay.kt | 37 |
1 files changed, 16 insertions, 21 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/features/fishing/FishingHookDisplay.kt b/src/main/java/at/hannibal2/skyhanni/features/fishing/FishingHookDisplay.kt index 30a55a0ea..3f10944d3 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/fishing/FishingHookDisplay.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/fishing/FishingHookDisplay.kt @@ -7,9 +7,7 @@ import at.hannibal2.skyhanni.events.LorenzTickEvent import at.hannibal2.skyhanni.events.LorenzWorldChangeEvent import at.hannibal2.skyhanni.utils.EntityUtils import at.hannibal2.skyhanni.utils.LorenzUtils -import at.hannibal2.skyhanni.utils.LorenzVec import at.hannibal2.skyhanni.utils.RenderUtils.renderString -import at.hannibal2.skyhanni.utils.getLorenzVec import net.minecraft.client.entity.EntityPlayerSP import net.minecraft.entity.item.EntityArmorStand import net.minecraft.entity.projectile.EntityFishHook @@ -19,15 +17,11 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent class FishingHookDisplay { private val config get() = SkyHanniMod.feature.fishing.fishingHookDisplay private var bobber: EntityFishHook? = null - private var bobberLocation: LorenzVec? = null private var armorStand: EntityArmorStand? = null private val potentionArmorStands = mutableListOf<EntityArmorStand>() - private var display = "" @SubscribeEvent fun onWorldChange(event: LorenzWorldChangeEvent) { - display = "" - bobberLocation = null bobber = null armorStand = null potentionArmorStands.clear() @@ -36,7 +30,6 @@ class FishingHookDisplay { @SubscribeEvent fun onTick(event: LorenzTickEvent) { if (!isEnabled()) return - if (!event.isMod(config.debugUpdateInterval)) return if (armorStand == null) { val filter = potentionArmorStands.filter { it.hasCustomName() && it.hasCorrectName() } @@ -45,17 +38,20 @@ class FishingHookDisplay { } } - val entities = EntityUtils.getEntities<EntityFishHook>() - val foundBobber = entities.firstOrNull { it.angler is EntityPlayerSP } - if (foundBobber != bobber) { - bobber = foundBobber - potentionArmorStands.clear() - armorStand = null + if (event.isMod(5)) { + val entities = EntityUtils.getEntities<EntityFishHook>() + val foundBobber = entities.firstOrNull { it.angler is EntityPlayerSP } + if (foundBobber != bobber) { + bobber = foundBobber + reset() + } } - if (bobber != null) { - bobberLocation = bobber?.getLorenzVec() - } + } + + private fun reset() { + potentionArmorStands.clear() + armorStand = null } @SubscribeEvent @@ -63,10 +59,6 @@ class FishingHookDisplay { if (!isEnabled()) return val entity = event.entity ?: return if (entity !is EntityArmorStand) return - val bobberLocation = bobberLocation ?: return - - val distance = entity.getLorenzVec().distance(bobberLocation) - if (distance > config.debugMaxDistance) return potentionArmorStands.add(entity) } @@ -86,7 +78,10 @@ class FishingHookDisplay { if (!isEnabled()) return val armorStand = armorStand ?: return - if (armorStand.isDead) return + if (armorStand.isDead) { + reset() + return + } if (!armorStand.hasCustomName()) return config.position.renderString(armorStand.name, posLabel = "Fishing Hook Display") |