diff options
author | inglettronald <inglettronald@gmail.com> | 2023-05-27 09:35:28 -0500 |
---|---|---|
committer | inglettronald <inglettronald@gmail.com> | 2023-05-27 09:35:28 -0500 |
commit | 3522547b73cfaeacd943781b3b26323eea27b989 (patch) | |
tree | d10da0810509e9b1c6623304875cdf63eb53a134 /src/main/kotlin/dulkirmod/features/MemoryLeakFix.kt | |
parent | df1a6e8bfa78d55e0b5e3123d0e6e6049bba713f (diff) | |
download | DulkirMod-3522547b73cfaeacd943781b3b26323eea27b989.tar.gz DulkirMod-3522547b73cfaeacd943781b3b26323eea27b989.tar.bz2 DulkirMod-3522547b73cfaeacd943781b3b26323eea27b989.zip |
some random stuff
Diffstat (limited to 'src/main/kotlin/dulkirmod/features/MemoryLeakFix.kt')
-rw-r--r-- | src/main/kotlin/dulkirmod/features/MemoryLeakFix.kt | 31 |
1 files changed, 29 insertions, 2 deletions
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 |