diff options
3 files changed, 70 insertions, 0 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/SkyHanniMod.kt b/src/main/java/at/hannibal2/skyhanni/SkyHanniMod.kt index 041dca4f7..3f6fa3a5a 100644 --- a/src/main/java/at/hannibal2/skyhanni/SkyHanniMod.kt +++ b/src/main/java/at/hannibal2/skyhanni/SkyHanniMod.kt @@ -314,6 +314,7 @@ class SkyHanniMod { loadModule(EnigmaSoulWaypoints) loadModule(DungeonLividFinder) loadModule(CruxTalismanDisplay) + loadModule(LaserParkour()) init() diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/RiftConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/RiftConfig.java index c6a653ab4..f0457530d 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/features/RiftConfig.java +++ b/src/main/java/at/hannibal2/skyhanni/config/features/RiftConfig.java @@ -165,6 +165,20 @@ public class RiftConfig { @ConfigEditorBoolean public boolean agaricusCap = true; + @ConfigOption(name = "Mirror Verse", desc = "") + @Accordion + @Expose + public MirrorVerse mirrorVerse = new MirrorVerse(); + + public static class MirrorVerse { + + @Expose + @ConfigOption(name = "Laser Parkour", desc = "Highlights the location of the invisible blocks.") + @ConfigEditorBoolean + public boolean laserParkour = true; + + } + @ConfigOption(name = "Kloon Hacking", desc = "") @Accordion @Expose diff --git a/src/main/java/at/hannibal2/skyhanni/features/rift/LaserParkour.kt b/src/main/java/at/hannibal2/skyhanni/features/rift/LaserParkour.kt new file mode 100644 index 000000000..04f26c932 --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/features/rift/LaserParkour.kt @@ -0,0 +1,55 @@ +package at.hannibal2.skyhanni.features.rift + +import at.hannibal2.skyhanni.SkyHanniMod +import at.hannibal2.skyhanni.test.GriffinUtils.drawWaypointFilled +import at.hannibal2.skyhanni.utils.LorenzColor +import at.hannibal2.skyhanni.utils.LorenzVec +import net.minecraft.client.Minecraft +import net.minecraft.util.AxisAlignedBB +import net.minecraftforge.client.event.RenderWorldLastEvent +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent + +class LaserParkour { + private val config get() = SkyHanniMod.feature.rift.mirrorVerse + private val puzzleRoom = AxisAlignedBB(-298.0, 0.0, -112.0, -309.0, 63.0, -101.0) + + @SubscribeEvent + fun onRenderWorld(event: RenderWorldLastEvent) { + if (!RiftAPI.inRift()) return + if (!config.laserParkour) return + if (!puzzleRoom.isVecInside(Minecraft.getMinecraft().thePlayer.positionVector)) return + for (location in locations) { + event.drawWaypointFilled(location, LorenzColor.GREEN.toColor()) + } + } + + private var locations = mutableListOf( + LorenzVec(-304.0, 2.0, -107.0), + LorenzVec(-306.0, 4.0, -103.0), + LorenzVec(-308.0, 6.0, -105.0), + LorenzVec(-304.0, 8.0, -109.0), + LorenzVec(-300.0, 10.0, -111.0), + LorenzVec(-304.0, 12.0, -107.0), + LorenzVec(-308.0, 14.0, -103.0), + LorenzVec(-306.0, 16.0, -107.0), + LorenzVec(-302.0, 18.0, -111.0), + LorenzVec(-300.0, 20.0, -107.0), + LorenzVec(-304.0, 22.0, -111.0), + LorenzVec(-306.0, 24.0, -109.0), + LorenzVec(-302.0, 26.0, -111.0), + LorenzVec(-300.0, 28.0, -107.0), + LorenzVec(-304.0, 30.0, -103.0), + LorenzVec(-306.0, 32.0, -105.0), + LorenzVec(-302.0, 34.0, -107.0), + LorenzVec(-300.0, 36.0, -109.0), + LorenzVec(-302.0, 38.0, -105.0), + LorenzVec(-304.0, 40.0, -107.0), + LorenzVec(-306.0, 42.0, -111.0), + LorenzVec(-302.0, 44.0, -107.0), + LorenzVec(-300.0, 46.0, -103.0), + LorenzVec(-304.0, 48.0, -107.0), + LorenzVec(-308.0, 50.0, -105.0), + LorenzVec(-304.0, 52.0, -109.0), + LorenzVec(-306.0, 54.0, -111.0) + ) +}
\ No newline at end of file |