Skip to content

Commit 906eeb4

Browse files
committed
Some ChunkESP changes
1 parent 16d51be commit 906eeb4

File tree

3 files changed

+11
-67
lines changed

3 files changed

+11
-67
lines changed

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

Lines changed: 0 additions & 29 deletions
This file was deleted.

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

Lines changed: 10 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -26,27 +26,22 @@ class ChunkedESP private constructor(
2626
private val uploadQueue = ConcurrentLinkedDeque<() -> Unit>()
2727
private val rebuildQueue = ConcurrentLinkedDeque<EspChunk>()
2828

29-
// i completely dont like to listen to enable events
30-
3129
fun rebuild() {
3230
rebuildQueue.clear()
3331
rebuildQueue.addAll(rendererMap.values)
3432
}
3533

3634
init {
3735
concurrentListener<WorldEvent.BlockUpdate> { event ->
38-
world.getWorldChunk(event.pos).renderer.apply {
39-
queueRebuild()
40-
notifyNeighbors()
41-
}
36+
world.getWorldChunk(event.pos).renderer.notify()
4237
}
4338

4439
concurrentListener<WorldEvent.ChunkEvent.Load> { event ->
45-
event.chunk.renderer.notifyNeighbors()
40+
event.chunk.renderer.notify()
4641
}
4742

4843
concurrentListener<WorldEvent.ChunkEvent.Unload> { event ->
49-
rendererMap.remove(event.chunk.pos.toLong())?.notifyNeighbors()
44+
rendererMap.remove(event.chunk.pos.toLong())?.notify()
5045
}
5146

5247
owner.concurrentListener<TickEvent.Pre> {
@@ -90,18 +85,14 @@ class ChunkedESP private constructor(
9085
val neighbors = chunkOffsets.map {
9186
ChunkPos(chunk.pos.x + it.first, chunk.pos.z + it.second)
9287
}.toTypedArray()
93-
val neighborsLoaded get() = neighbors.all { it.isLoaded() }
94-
95-
fun ChunkPos.isLoaded() = chunk.world.chunkManager.isChunkLoaded(x, z)
9688

97-
fun queueRebuild() {
98-
if (owner.rebuildQueue.contains(this)) return
99-
owner.rebuildQueue.add(this)
100-
}
101-
102-
fun notifyNeighbors() {
89+
fun notify() {
10390
neighbors.forEach {
104-
owner.rendererMap[it.toLong()]?.queueRebuild()
91+
owner.rendererMap[it.toLong()]?.let {
92+
owner.rebuildQueue.apply {
93+
if (!contains(it)) add(it)
94+
}
95+
}
10596
}
10697
}
10798

@@ -114,22 +105,10 @@ class ChunkedESP private constructor(
114105
owner.update(newRenderer, chunk.world, x, y, z)
115106
}
116107

117-
val upload = {
108+
owner.uploadQueue.add {
118109
newRenderer.upload()
119-
renderer?.clear()
120110
renderer = newRenderer
121111
}
122-
123-
when (RenderSettings.uploadScheduler) {
124-
RenderSettings.UploadScheduler.Instant -> {
125-
runGameBlocking {
126-
upload()
127-
}
128-
}
129-
RenderSettings.UploadScheduler.Delayed -> {
130-
owner.uploadQueue.add(upload)
131-
}
132-
}
133112
}
134113

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

common/src/main/kotlin/com/lambda/module/modules/client/RenderSettings.kt

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,7 @@ object RenderSettings : Module(
1919
private val lodBiasSetting by setting("Smoothing", 0.0, -10.0..10.0, 0.5) { page == Page.Font }
2020

2121
// ESP
22-
val uploadScheduler by setting("Upload Scheduler", UploadScheduler.Instant) { page == Page.ESP }
23-
val uploadsPerTick by setting("Uploads", 16, 1..256, 1, unit = " chunk/tick") { page == Page.ESP && uploadScheduler == UploadScheduler.Delayed }
22+
val uploadsPerTick by setting("Uploads", 16, 1..256, 1, unit = " chunk/tick") { page == Page.ESP }
2423
val rebuildsPerTick by setting("Rebuilds", 64, 1..256, 1, unit = " chunk/tick") { page == Page.ESP }
2524
val vertexMapping by setting("Vertex Mapping", true) { page == Page.ESP }
2625
val updateFrequency by setting("Update Frequency", 2, 1..10, 1, "Frequency of block updates", unit = " ticks") { page == Page.ESP }
@@ -32,9 +31,4 @@ object RenderSettings : Module(
3231
Font,
3332
ESP
3433
}
35-
36-
enum class UploadScheduler {
37-
Instant,
38-
Delayed
39-
}
4034
}

0 commit comments

Comments
 (0)