summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/features
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/features')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/rift/CruxWarnings.kt34
1 files changed, 34 insertions, 0 deletions
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