From 2c2d7b7277e8e99412dea3bfceee9627ec9ab80e Mon Sep 17 00:00:00 2001 From: inglettronald Date: Tue, 6 Jun 2023 10:15:26 -0500 Subject: still broken --- .../dulkirmod/features/dungeons/ArcherHighlight.kt | 65 ++++++++++++++++------ 1 file changed, 47 insertions(+), 18 deletions(-) (limited to 'src') diff --git a/src/main/kotlin/dulkirmod/features/dungeons/ArcherHighlight.kt b/src/main/kotlin/dulkirmod/features/dungeons/ArcherHighlight.kt index 9da6d4a..395d363 100644 --- a/src/main/kotlin/dulkirmod/features/dungeons/ArcherHighlight.kt +++ b/src/main/kotlin/dulkirmod/features/dungeons/ArcherHighlight.kt @@ -9,32 +9,61 @@ import dulkirmod.utils.WorldRenderUtils import ibxm.Player import net.minecraft.entity.player.EntityPlayer import net.minecraftforge.client.event.RenderLivingEvent +import net.minecraftforge.client.event.RenderWorldLastEvent import net.minecraftforge.fml.common.eventhandler.SubscribeEvent import java.awt.Color object ArcherHighlight { +// @SubscribeEvent +// fun onRenderLiving(event: RenderLivingEvent.Pre<*>) { +// if (!DulkirConfig.archerBox) return +// if (TabListUtils.area != "Dungeon") return +// if (!ScoreBoardUtils.isInM7 && !DulkirConfig.archerBoxEverywhere) return +// if (event.entity !is EntityPlayer) return +// val name = event.entity.name ?: return +// if (name != TabListUtils.archerName) return +// if (mc.thePlayer.positionVector.yCoord > 45 && !DulkirConfig.archerBoxEverywhere) return +// if (mc.thePlayer.name == name) return +// val (x, y, z) = WorldRenderUtils.fixRenderPos(event.x, event.y, event.z) +// WorldRenderUtils.drawCustomBox( +// x - .5, +// 1.0, +// y, +// 2.0, +// z - .5, +// 1.0, +// DulkirConfig.archBoxColor.toJavaColor(), +// 3f, +// phase = false +// ) +// } + @SubscribeEvent - fun onRenderLiving(event: RenderLivingEvent.Post<*>) { + fun onRenderWorldLast(event: RenderWorldLastEvent) { if (!DulkirConfig.archerBox) return if (TabListUtils.area != "Dungeon") return if (!ScoreBoardUtils.isInM7 && !DulkirConfig.archerBoxEverywhere) return - if (event.entity !is EntityPlayer) return - val name = event.entity.name ?: return - if (name != TabListUtils.archerName) return - if (mc.thePlayer.positionVector.yCoord > 45 && !DulkirConfig.archerBoxEverywhere) return - if (mc.thePlayer.name == name) return - val (x, y, z) = WorldRenderUtils.fixRenderPos(event.x, event.y, event.z) - WorldRenderUtils.drawCustomBox( - x - .5, - 1.0, - y, - event.entity.height.toDouble(), - z - .5, - 1.0, - DulkirConfig.archBoxColor.toJavaColor(), - 3f, - phase = false - ) + val players = mc.theWorld.playerEntities.filterNotNull() + players.forEach { + val name = it.name ?: return@forEach + if (name != TabListUtils.archerName) return + if (mc.thePlayer.positionVector.yCoord > 45 && !DulkirConfig.archerBoxEverywhere) return + if (mc.thePlayer.name == name) return + val x = it.posX - ((it.lastTickPosX - it.posX) * event.partialTicks) + val y = it.posY - ((it.lastTickPosY - it.posY) * event.partialTicks) + val z = it.posZ - ((it.lastTickPosZ - it.posZ) * event.partialTicks) + WorldRenderUtils.drawCustomBox( + x - .5, + 1.0, + y, + 2.0, + z - .5, + 1.0, + DulkirConfig.archBoxColor.toJavaColor(), + 3f, + phase = false + ) + } } } \ No newline at end of file -- cgit