diff options
author | hannibal2 <24389977+hannibal00212@users.noreply.github.com> | 2023-10-12 15:39:42 +0200 |
---|---|---|
committer | hannibal2 <24389977+hannibal00212@users.noreply.github.com> | 2023-10-12 15:39:42 +0200 |
commit | 8076ecb3af5c41429afc6e0cd2e14fa9c17d1294 (patch) | |
tree | 325e4aea6543917f3c1a1f22590dc8b5b305af30 /src/main/java/at/hannibal2/skyhanni/features | |
parent | 78093386e000704e7aba3163467456d79b728629 (diff) | |
download | skyhanni-8076ecb3af5c41429afc6e0cd2e14fa9c17d1294.tar.gz skyhanni-8076ecb3af5c41429afc6e0cd2e14fa9c17d1294.tar.bz2 skyhanni-8076ecb3af5c41429afc6e0cd2e14fa9c17d1294.zip |
code cleanup, package and config moved, added support for hiding basket waypoints once you have clicked on them
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/features')
-rw-r--r-- | src/main/java/at/hannibal2/skyhanni/features/mainlobby/halloweenwaypoints/Basket.kt (renamed from src/main/java/at/hannibal2/skyhanni/features/misc/halloweenlobbywaypoints/Basket.kt) | 12 | ||||
-rw-r--r-- | src/main/java/at/hannibal2/skyhanni/features/mainlobby/halloweenwaypoints/BasketEntrances.kt (renamed from src/main/java/at/hannibal2/skyhanni/features/misc/halloweenlobbywaypoints/BasketEntrances.kt) | 19 | ||||
-rw-r--r-- | src/main/java/at/hannibal2/skyhanni/features/mainlobby/halloweenwaypoints/BasketWaypoints.kt (renamed from src/main/java/at/hannibal2/skyhanni/features/misc/halloweenlobbywaypoints/BasketWaypoints.kt) | 45 |
3 files changed, 44 insertions, 32 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/halloweenlobbywaypoints/Basket.kt b/src/main/java/at/hannibal2/skyhanni/features/mainlobby/halloweenwaypoints/Basket.kt index 45d1a4162..8b62adf4d 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/misc/halloweenlobbywaypoints/Basket.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/mainlobby/halloweenwaypoints/Basket.kt @@ -1,11 +1,8 @@ -package at.hannibal2.skyhanni.features.misc.halloweenlobbywaypoints +package at.hannibal2.skyhanni.features.mainlobby.halloweenwaypoints import at.hannibal2.skyhanni.utils.LorenzVec -enum class Basket( - val basketName: String, - val waypoint: LorenzVec -) { +enum class Basket(val basketName: String, val waypoint: LorenzVec) { BASKET_1("#1", LorenzVec(-31, 91, -19)), BASKET_2("#2", LorenzVec(-14, 85, -78)), BASKET_3("#3", LorenzVec(24, 68, -29)), @@ -31,4 +28,7 @@ enum class Basket( BASKET_23("#23", LorenzVec(-84, 72, 8)), BASKET_24("#24", LorenzVec(-13, 31, -26)), BASKET_25("#25 (get your code first!)", LorenzVec(-32, 14, 102)), -} + ; + + var found = false +}
\ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/halloweenlobbywaypoints/BasketEntrances.kt b/src/main/java/at/hannibal2/skyhanni/features/mainlobby/halloweenwaypoints/BasketEntrances.kt index 07110d528..1fd106965 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/misc/halloweenlobbywaypoints/BasketEntrances.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/mainlobby/halloweenwaypoints/BasketEntrances.kt @@ -1,16 +1,17 @@ -package at.hannibal2.skyhanni.features.misc.halloweenlobbywaypoints +package at.hannibal2.skyhanni.features.mainlobby.halloweenwaypoints import at.hannibal2.skyhanni.utils.LorenzVec enum class BasketEntrances( val basketEntranceName: String, - val waypoint: LorenzVec + val waypoint: LorenzVec, + val basket: Basket ) { - BASKET_ENTER_23("#23, #24 (behind the lava)", LorenzVec(-138, 74, -4)), - BASKET_ENTER_24("#24 (within this tunnel)", LorenzVec(-80, 72, -4)), - BASKET_ENTER_25_1("#25 (1st digit, SNEAK + RCLICK)", LorenzVec(143, 65, -30)), - BASKET_ENTER_25_2("#25 (3rd digit, open chest)", LorenzVec(205, 34, -157)), - BASKET_ENTER_25_3("#25 (inside this well)", LorenzVec(10, 63, 0)), - BASKET_ENTER_25_4("#25 (left turn [<--] here)", LorenzVec(-28, 41, 14)), - BASKET_ENTER_25_5("#25 Vault (brute force 2nd digit)", LorenzVec(-35, 25, 63)), + BASKET_ENTER_23("#23, #24 (behind the lava)", LorenzVec(-138, 74, -4), Basket.BASKET_23), + BASKET_ENTER_24("#24 (within this tunnel)", LorenzVec(-80, 72, -4), Basket.BASKET_24), + BASKET_ENTER_25_1("#25 (1st digit, SNEAK + RCLICK)", LorenzVec(143, 65, -30), Basket.BASKET_25), + BASKET_ENTER_25_2("#25 (3rd digit, open chest)", LorenzVec(205, 34, -157), Basket.BASKET_25), + BASKET_ENTER_25_3("#25 (inside this well)", LorenzVec(10, 63, 0), Basket.BASKET_25), + BASKET_ENTER_25_4("#25 (left turn [<--] here)", LorenzVec(-28, 41, 14), Basket.BASKET_25), + BASKET_ENTER_25_5("#25 Vault (brute force 2nd digit)", LorenzVec(-35, 25, 63), Basket.BASKET_25), } diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/halloweenlobbywaypoints/BasketWaypoints.kt b/src/main/java/at/hannibal2/skyhanni/features/mainlobby/halloweenwaypoints/BasketWaypoints.kt index c6ba348d2..ec51358ae 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/misc/halloweenlobbywaypoints/BasketWaypoints.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/mainlobby/halloweenwaypoints/BasketWaypoints.kt @@ -1,31 +1,48 @@ -package at.hannibal2.skyhanni.features.misc.halloweenlobbywaypoints +package at.hannibal2.skyhanni.features.mainlobby.halloweenwaypoints import at.hannibal2.skyhanni.SkyHanniMod import at.hannibal2.skyhanni.data.HypixelData import at.hannibal2.skyhanni.data.ScoreboardData +import at.hannibal2.skyhanni.events.LorenzChatEvent import at.hannibal2.skyhanni.events.LorenzTickEvent import at.hannibal2.skyhanni.test.GriffinUtils.drawWaypointFilled +import at.hannibal2.skyhanni.utils.LocationUtils.distanceSqToPlayer import at.hannibal2.skyhanni.utils.LorenzColor import at.hannibal2.skyhanni.utils.LorenzUtils +import at.hannibal2.skyhanni.utils.LorenzUtils.anyContains import at.hannibal2.skyhanni.utils.LorenzVec import at.hannibal2.skyhanni.utils.RenderUtils.drawDynamicText -import net.minecraft.client.Minecraft import net.minecraftforge.client.event.RenderWorldLastEvent import net.minecraftforge.fml.common.eventhandler.SubscribeEvent class BasketWaypoints { - private val config get() = SkyHanniMod.feature.misc.halloweenBasket + private val config get() = SkyHanniMod.feature.event.halloweenBasket private var waypoint: LorenzVec? = null private var waypointName: String? = null private var isHalloween: Boolean = false @SubscribeEvent + fun onChat(event: LorenzChatEvent) { + if (!config.allWaypoints && !config.allEntranceWaypoints) return + if (!isHalloween) return + + val message = event.message + if (message.startsWith("§a§lYou found a Candy Basket! §r") || message == "§cYou already found this Candy Basket!") { + val basket = Basket.entries.minByOrNull { it.waypoint.distanceSqToPlayer() }!! + basket.found = true + } + + } + + @SubscribeEvent fun onTick(event: LorenzTickEvent) { if (!config.allWaypoints && !config.allEntranceWaypoints) return - if (!HypixelData.hypixelLive) return //dont show outside of live hypixel network - if (LorenzUtils.inSkyBlock) return - if (!event.repeatSeconds(1)) return - isHalloween = chechScoreboardHalloweenSpecific() + if (!HypixelData.hypixelLive) return // don't show outside live hypixel network (it's disabled on alpha) + if (LorenzUtils.inSkyBlock) return + + if (event.repeatSeconds(1)) { + isHalloween = chechScoreboardHalloweenSpecific() + } } @SubscribeEvent @@ -34,6 +51,7 @@ class BasketWaypoints { if (config.allWaypoints) { for (basket in Basket.entries) { + if (basket.found) continue event.drawWaypointFilled(basket.waypoint, LorenzColor.GOLD.toColor()) event.drawDynamicText(basket.waypoint, "§6" + basket.basketName, 1.5) } @@ -41,6 +59,7 @@ class BasketWaypoints { if (config.allEntranceWaypoints) { for (basketEntrance in BasketEntrances.entries) { + if (basketEntrance.basket.found) continue event.drawWaypointFilled(basketEntrance.waypoint, LorenzColor.YELLOW.toColor()) event.drawDynamicText(basketEntrance.waypoint, "§e" + basketEntrance.basketEntranceName, 1.5) } @@ -56,15 +75,7 @@ class BasketWaypoints { } private fun chechScoreboardHalloweenSpecific(): Boolean { - //am checking separate lines of scoreboard, cannot do `it.contains("xyz") && it.contains("ABC")` - val theScoreboardList = ScoreboardData.sidebarLinesFormatted - return ( theScoreboardList.any { - it.contains("Hypixel Level") - } && theScoreboardList.any { - it.contains("Halloween") - } && theScoreboardList.any { - it.contains("Baskets") - } - ) + val list = ScoreboardData.sidebarLinesFormatted + return list.anyContains("Hypixel Level") && list.anyContains("Halloween") && list.anyContains("Baskets") } }
\ No newline at end of file |