From 06aa3dbd0a32b0f2d9d92d30adeec46289428a7e Mon Sep 17 00:00:00 2001 From: CalMWolfs <94038482+CalMWolfs@users.noreply.github.com> Date: Fri, 23 Jun 2023 00:24:24 +1000 Subject: Shy Warning (#251) Shy Warning --- .../skyhanni/features/rift/CruxWarnings.kt | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/main/java/at/hannibal2/skyhanni/features/rift/CruxWarnings.kt (limited to 'src/main/java/at/hannibal2/skyhanni/features') diff --git a/src/main/java/at/hannibal2/skyhanni/features/rift/CruxWarnings.kt b/src/main/java/at/hannibal2/skyhanni/features/rift/CruxWarnings.kt new file mode 100644 index 000000000..509ed4979 --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/features/rift/CruxWarnings.kt @@ -0,0 +1,34 @@ +package at.hannibal2.skyhanni.features.rift + +import at.hannibal2.skyhanni.SkyHanniMod +import at.hannibal2.skyhanni.data.TitleUtils +import at.hannibal2.skyhanni.test.command.CopyErrorCommand +import at.hannibal2.skyhanni.utils.LocationUtils.distanceToPlayer +import net.minecraft.client.Minecraft +import kotlin.concurrent.fixedRateTimer + +class CruxWarnings { + private val shyNames = arrayOf("I'm ugly! :(", "Eek!", "Don't look at me!", "Look away!") + + init { + fixedRateTimer(name = "skyhanni-shywarner-timer", period = 250) { + Minecraft.getMinecraft().thePlayer ?: return@fixedRateTimer + checkForShy() + } + } + + private fun checkForShy() { + try { + if (!(RiftAPI.inRift() || !SkyHanniMod.feature.rift.crux.shyWarning)) return + val world = Minecraft.getMinecraft().theWorld ?: return + val loadedEntityList = world.getLoadedEntityList() ?: return + for (entity in loadedEntityList) { + if (entity.name in shyNames && entity.distanceToPlayer() < 8) { + TitleUtils.sendTitle("§eLook away!", 250) + } + } + } catch (e: Throwable) { + CopyErrorCommand.logError(e, "Check for Shy failed") + } + } +} \ No newline at end of file -- cgit