From a575ac91e1efb6f398e5bfd43fd2428c3251f928 Mon Sep 17 00:00:00 2001 From: hannibal2 <24389977+hannibal00212@users.noreply.github.com> Date: Wed, 26 Apr 2023 13:49:05 +0200 Subject: Auto-detecting tool in hand when joining garden --- .../at/hannibal2/skyhanni/features/garden/GardenAPI.kt | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/main/java/at/hannibal2/skyhanni/features') diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/GardenAPI.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/GardenAPI.kt index fb00e729f..dd149b5dd 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/garden/GardenAPI.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/garden/GardenAPI.kt @@ -9,14 +9,20 @@ import at.hannibal2.skyhanni.features.garden.farming.GardenBestCropTime import at.hannibal2.skyhanni.features.garden.inventory.SkyMartCopperPrice import at.hannibal2.skyhanni.utils.ItemUtils.getInternalName import at.hannibal2.skyhanni.utils.LorenzUtils +import at.hannibal2.skyhanni.utils.MinecraftDispatcher import at.hannibal2.skyhanni.utils.SkyBlockItemModifierUtils.getCultivatingCounter import at.hannibal2.skyhanni.utils.SkyBlockItemModifierUtils.getHoeCounter +import kotlinx.coroutines.delay +import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext import net.minecraft.client.Minecraft import net.minecraft.item.ItemStack import net.minecraft.network.play.client.C09PacketHeldItemChange +import net.minecraftforge.event.world.WorldEvent import net.minecraftforge.fml.common.eventhandler.EventPriority import net.minecraftforge.fml.common.eventhandler.SubscribeEvent import net.minecraftforge.fml.common.gameevent.TickEvent +import kotlin.time.Duration.Companion.seconds object GardenAPI { private val cropsPerSecond: MutableMap get() = SkyHanniMod.feature.hidden.gardenCropsPerSecond @@ -63,6 +69,18 @@ object GardenAPI { } } + @SubscribeEvent + fun onWorldChange(event: WorldEvent.Load) { + SkyHanniMod.coroutineScope.launch { + delay(2.seconds) + withContext(MinecraftDispatcher) { + if (inGarden()) { + checkItemInHand() + } + } + } + } + private fun updateGardenTool() { GardenToolChangeEvent(cropInHand, itemInHand).postAndCatch() } -- cgit