aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/dulkirmod
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin/dulkirmod')
-rw-r--r--src/main/kotlin/dulkirmod/DulkirMod.kt1
-rw-r--r--src/main/kotlin/dulkirmod/config/DulkirConfig.kt16
-rw-r--r--src/main/kotlin/dulkirmod/features/MemoryLeakFix.kt31
-rw-r--r--src/main/kotlin/dulkirmod/features/StarredMobBoxes.kt69
4 files changed, 115 insertions, 2 deletions
diff --git a/src/main/kotlin/dulkirmod/DulkirMod.kt b/src/main/kotlin/dulkirmod/DulkirMod.kt
index 70e029e..76b2ce1 100644
--- a/src/main/kotlin/dulkirmod/DulkirMod.kt
+++ b/src/main/kotlin/dulkirmod/DulkirMod.kt
@@ -87,6 +87,7 @@ class DulkirMod {
mcBus.register(WorldRenderUtils)
mcBus.register(IchorHighlight)
mcBus.register(SteakDisplay)
+ mcBus.register(StarredMobBoxes)
keyBinds.forEach(ClientRegistry::registerKeyBinding)
}
diff --git a/src/main/kotlin/dulkirmod/config/DulkirConfig.kt b/src/main/kotlin/dulkirmod/config/DulkirConfig.kt
index 1306b53..2a4bb1c 100644
--- a/src/main/kotlin/dulkirmod/config/DulkirConfig.kt
+++ b/src/main/kotlin/dulkirmod/config/DulkirConfig.kt
@@ -31,6 +31,14 @@ object DulkirConfig : Config(Mod("DulkirMod", ModType.SKYBLOCK), "dulkirmod-conf
var blankStandRemoval = true
@Switch(
+ name = "Debug Armor stands",
+ description = "Another hypixel issue, should be a significant fps boost in relevant scenarios.",
+ category = "General",
+ subcategory = "General"
+ )
+ var debugStandRemoval = false
+
+ @Switch(
name = "Hide Enchant Rune Particles",
description = "ugly go bye-bye",
category = "General",
@@ -117,6 +125,14 @@ object DulkirConfig : Config(Mod("DulkirMod", ModType.SKYBLOCK), "dulkirmod-conf
var hideHeartParticles = false
@Switch(
+ name = "Starred Mob Boxes",
+ description = "Self Explanatory, NOT esp",
+ category = "Dungeons",
+ subcategory = "Dungeons"
+ )
+ var starredBoxes = false
+
+ @Switch(
name = "Throttle Notifier",
description = "Im pretty sure this is mostly patched? Idk I'm leaving it in",
category = "Dungeons",
diff --git a/src/main/kotlin/dulkirmod/features/MemoryLeakFix.kt b/src/main/kotlin/dulkirmod/features/MemoryLeakFix.kt
index d0976b9..5edde33 100644
--- a/src/main/kotlin/dulkirmod/features/MemoryLeakFix.kt
+++ b/src/main/kotlin/dulkirmod/features/MemoryLeakFix.kt
@@ -2,10 +2,13 @@ package dulkirmod.features
import dulkirmod.DulkirMod.Companion.mc
import dulkirmod.config.DulkirConfig
+import dulkirmod.utils.WorldRenderUtils
import net.minecraft.entity.Entity
import net.minecraft.entity.item.EntityArmorStand
+import net.minecraftforge.client.event.RenderLivingEvent
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
import net.minecraftforge.fml.common.gameevent.TickEvent
+import java.awt.Color
object MemoryLeakFix {
private var lastClear = System.currentTimeMillis()
@@ -39,10 +42,34 @@ object MemoryLeakFix {
val currentEnts = world.loadedEntityList
currentEnts.forEach {
if (it !is EntityArmorStand) return@forEach
- if (it.name != "Armor Stand") return@forEach
+ if (it.hasCustomName()) return@forEach
if (it.inventory.any{slot -> slot != null}) return@forEach
- if (it.motionX != 0.toDouble() || it.motionY != 0.toDouble() || it.motionZ != 0.toDouble()) return@forEach
+ if (it.ticksExisted < 1200) return@forEach
world.removeEntityFromWorld(it.entityId)
}
}
+
+ @SubscribeEvent
+ fun displayBlankStands(event: RenderLivingEvent.Post<*>) {
+ if (!DulkirConfig.debugStandRemoval) return
+ if (event.entity !is EntityArmorStand) return
+ if (event.entity.hasCustomName()) return
+ if (event.entity.inventory.any{slot -> slot != null}) return
+ val pos = WorldRenderUtils.fixRenderPos(event.x, event.y, event.z)
+ val x = pos[0]
+ val y = pos[1]
+ val z = pos[2]
+
+ WorldRenderUtils.drawCustomBox(
+ x - .5,
+ 1.0,
+ y - .5,
+ 1.0,
+ z - .5,
+ 1.0,
+ Color(15, 247, 236, 255),
+ 3f,
+ phase = true
+ )
+ }
} \ No newline at end of file
diff --git a/src/main/kotlin/dulkirmod/features/StarredMobBoxes.kt b/src/main/kotlin/dulkirmod/features/StarredMobBoxes.kt
new file mode 100644
index 0000000..a9aa932
--- /dev/null
+++ b/src/main/kotlin/dulkirmod/features/StarredMobBoxes.kt
@@ -0,0 +1,69 @@
+package dulkirmod.features
+
+import dulkirmod.config.DulkirConfig
+import dulkirmod.utils.TabListUtils
+import dulkirmod.utils.WorldRenderUtils
+import net.minecraftforge.client.event.RenderLivingEvent
+import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
+import java.awt.Color
+
+object StarredMobBoxes {
+ @SubscribeEvent
+ fun render(event: RenderLivingEvent.Post<*>) {
+ if (!DulkirConfig.starredBoxes) return
+ if (TabListUtils.area != "Dungeon") return
+ val name = event.entity.name ?: return
+ if (name.startsWith("§6✯ ") && name.endsWith("§c❤")) {
+ val newPos = WorldRenderUtils.fixRenderPos(event.x, event.y, event.z)
+ val x = newPos[0]
+ val y = newPos[1]
+ val z = newPos[2]
+
+ if ("Spider" in name) {
+// x - 0.625,
+// y - 1,
+// z - 0.625,
+// x + 0.625,
+// y - 0.25,
+// z + 0.625
+ WorldRenderUtils.drawCustomBox(
+ x - .625,
+ 1.25,
+ y - 1,
+ .75,
+ z - .625,
+ 1.25,
+ Color(15, 247, 236, 255),
+ 3f,
+ phase = false
+ )
+ } else if ("Fels" in name || "Withermancer" in name) {
+ //AxisAlignedBB(x - 0.5, y - 3, z - 0.5, x + 0.5, y, z + 0.5),
+ WorldRenderUtils.drawCustomBox(
+ x - .5,
+ 1.0,
+ y - 3,
+ 3.0,
+ z - .5,
+ 1.0,
+ Color(15, 247, 236, 255),
+ 3f,
+ phase = false
+ )
+ } else {
+ //AxisAlignedBB(x - 0.5, y - 2, z - 0.5, x + 0.5, y, z + 0.5),
+ WorldRenderUtils.drawCustomBox(
+ x - .5,
+ 1.0,
+ y - 2,
+ 2.0,
+ z - .5,
+ 1.0,
+ Color(15, 247, 236, 255),
+ 3f,
+ phase = false
+ )
+ }
+ }
+ }
+} \ No newline at end of file