Skip to content

Commit 4931fa2

Browse files
committed
ChillyWeelly
1 parent 0e8fe57 commit 4931fa2

File tree

1 file changed

+7
-21
lines changed
  • common/src/main/kotlin/com/lambda/graphics/renderer/esp

1 file changed

+7
-21
lines changed

common/src/main/kotlin/com/lambda/graphics/renderer/esp/ChunkedESP.kt

Lines changed: 7 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,12 @@ import com.lambda.event.events.TickEvent
55
import com.lambda.event.events.WorldEvent
66
import com.lambda.event.listener.SafeListener.Companion.concurrentListener
77
import com.lambda.event.listener.SafeListener.Companion.listener
8-
import com.lambda.graphics.renderer.esp.DirectionMask.exclude
9-
import com.lambda.graphics.renderer.esp.DirectionMask.mask
108
import com.lambda.module.modules.client.RenderSettings
119
import com.lambda.threading.runGameBlocking
1210
import com.mojang.blaze3d.systems.RenderSystem.recordRenderCall
1311
import kotlinx.coroutines.*
1412
import net.minecraft.util.math.BlockPos
15-
import net.minecraft.util.math.Box
1613
import net.minecraft.util.math.ChunkPos
17-
import net.minecraft.util.math.Direction
1814
import net.minecraft.world.BlockView
1915
import net.minecraft.world.chunk.WorldChunk
2016
import java.awt.Color
@@ -23,8 +19,7 @@ import java.util.concurrent.ConcurrentLinkedDeque
2319

2420
class ChunkedESP private constructor(
2521
owner: Any,
26-
private val filter: (BlockView, BlockPos) -> Boolean,
27-
private val painter: (BlockView, BlockPos) -> Pair<Color, Color>
22+
private val update: EspRenderer.(BlockView, BlockPos) -> Boolean
2823
) {
2924
private val rendererMap = ConcurrentHashMap<ChunkPos, EspChunk>()
3025
private val WorldChunk.renderer get() = rendererMap.getOrPut(pos) {
@@ -33,7 +28,9 @@ class ChunkedESP private constructor(
3328
private var ticks = 0
3429

3530
private val uploadPool = ConcurrentLinkedDeque<() -> Unit>()
36-
private val rebuildPool = ConcurrentLinkedDeque<() -> Unit>()
31+
private val rebuildPool = ConcurrentLinkedDeque<EspChunk>()
32+
33+
// i completely dont like to listen to enable events
3734

3835
fun clear() {
3936
rendererMap.clear()
@@ -116,7 +113,7 @@ class ChunkedESP private constructor(
116113
}
117114

118115
iterateChunk { x, y, z ->
119-
checkAndDraw(newRenderer, BlockPos(x, y, z))
116+
draw(newRenderer, BlockPos(x, y, z))
120117
}
121118

122119
val upload = {
@@ -147,19 +144,8 @@ class ChunkedESP private constructor(
147144
return result as R
148145
}
149146

150-
private fun checkAndDraw(renderer: EspRenderer, blockPos: BlockPos): Boolean {
151-
if (!owner.filter(chunk, blockPos)) return false
152-
153-
var sides = DirectionMask.ALL
154-
155-
Direction.entries.forEach {
156-
if (!owner.filter(chunk.world, blockPos.add(it.vector))) return@forEach
157-
sides = sides.exclude(it.mask)
158-
}
159-
160-
val (filledColor, outlineColor) = owner.painter(chunk, blockPos)
161-
renderer.build(Box(blockPos), filledColor, outlineColor, sides, DirectionMask.OutlineMode.AND)
162-
return true
147+
private fun draw(renderer: EspRenderer, x: Int, y: Int, z: Int) {
148+
if (!owner.update(chunk, blockPos)) return false
163149
}
164150

165151
private fun iterateChunk(block: (Int, Int, Int) -> Unit) = chunk.apply {

0 commit comments

Comments
 (0)