aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin
diff options
context:
space:
mode:
authorLinnea Gräf <nea@nea.moe>2024-04-15 17:49:46 +0200
committerGitHub <noreply@github.com>2024-04-15 17:49:46 +0200
commitebdcfa85d35fd813c5cfd639a310b85e2d03a79f (patch)
tree4c42a1e509229d436f7878f37641919664e2f128 /src/main/kotlin
parent216fe48f7bd36e76ba1e965a090eb8748243c5d4 (diff)
downloadNotEnoughUpdates-ebdcfa85d35fd813c5cfd639a310b85e2d03a79f.tar.gz
NotEnoughUpdates-ebdcfa85d35fd813c5cfd639a310b85e2d03a79f.tar.bz2
NotEnoughUpdates-ebdcfa85d35fd813c5cfd639a310b85e2d03a79f.zip
Add mineshaft exit waypoints (#1098)
Diffstat (limited to 'src/main/kotlin')
-rw-r--r--src/main/kotlin/io/github/moulberry/notenoughupdates/miscfeatures/GlaciteMineshaftWaypoints.kt61
1 files changed, 61 insertions, 0 deletions
diff --git a/src/main/kotlin/io/github/moulberry/notenoughupdates/miscfeatures/GlaciteMineshaftWaypoints.kt b/src/main/kotlin/io/github/moulberry/notenoughupdates/miscfeatures/GlaciteMineshaftWaypoints.kt
new file mode 100644
index 00000000..d8e39daa
--- /dev/null
+++ b/src/main/kotlin/io/github/moulberry/notenoughupdates/miscfeatures/GlaciteMineshaftWaypoints.kt
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2024 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+package io.github.moulberry.notenoughupdates.miscfeatures
+
+import io.github.moulberry.notenoughupdates.NotEnoughUpdates
+import io.github.moulberry.notenoughupdates.autosubscribe.NEUAutoSubscribe
+import io.github.moulberry.notenoughupdates.core.util.render.RenderUtils
+import io.github.moulberry.notenoughupdates.miscfeatures.customblockzones.LocationChangeEvent
+import net.minecraft.client.Minecraft
+import net.minecraft.util.BlockPos
+import net.minecraftforge.client.event.RenderWorldLastEvent
+import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
+
+@NEUAutoSubscribe
+class GlaciteMineshaftWaypoints {
+
+ var entrance: BlockPos? = null
+ fun isEnabled() = NotEnoughUpdates.INSTANCE.config.mining.mineshaftExitWaypoint
+
+ @SubscribeEvent
+ fun onLocationChange(event: LocationChangeEvent) {
+ entrance = if (event.newLocation == "mineshaft") {
+ Minecraft.getMinecraft().thePlayer?.position
+ } else {
+ null
+ }
+ }
+
+ @SubscribeEvent
+ fun onRenderLast(event: RenderWorldLastEvent) {
+ if (!isEnabled()) return
+ val pos = entrance ?: return
+ RenderUtils.renderBoundingBox(
+ pos,
+ 0x7020CC00,
+ event.partialTicks,
+ true
+ )
+ RenderUtils.renderWayPoint(
+ "§aExit", pos.up(1),
+ event.partialTicks
+ )
+ }
+}