Skip to content

Commit 157e466

Browse files
committed
add closest option for queue and render the order colours using the sorted version
1 parent f471659 commit 157e466

File tree

1 file changed

+14
-6
lines changed
  • common/src/main/kotlin/com/lambda/module/modules/player

1 file changed

+14
-6
lines changed

common/src/main/kotlin/com/lambda/module/modules/player/PacketMine.kt

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -84,11 +84,18 @@ object PacketMine : Module(
8484

8585
private val breakPositions = arrayOfNulls<BlockPos>(2)
8686
private val queuePositions = ArrayList<MutableCollection<BlockPos>>()
87-
private val queueSorted
87+
private val SafeContext.queueSorted
8888
get() = when (queueOrder) {
8989
QueueOrder.Standard -> queuePositions
9090
QueueOrder.Reversed -> queuePositions.asReversed()
91-
}.flatten()
91+
QueueOrder.Closest -> queuePositions.sortedBy {
92+
it.firstOrNull()
93+
?.toCenterPos()
94+
?.let { center ->
95+
center distSq player.pos
96+
} ?: Double.MAX_VALUE
97+
}
98+
}
9299

93100
private var reBreakPos: BlockPos? = null
94101

@@ -120,7 +127,7 @@ object PacketMine : Module(
120127
if (positions.isEmpty()) return@listen
121128
val activeBreaking = if (queue) {
122129
queuePositions.add(positions)
123-
breakPositions.toList() + queueSorted
130+
breakPositions.toList() + queueSorted.flatten()
124131
} else {
125132
queuePositions.clear()
126133
queuePositions.add(positions)
@@ -135,7 +142,7 @@ object PacketMine : Module(
135142

136143
listen<TickEvent.Input.Post> {
137144
if (!attackedThisTick) {
138-
requestBreakManager((breakPositions + queueSorted).toList())
145+
requestBreakManager((breakPositions + queueSorted.flatten()).toList())
139146
if (!breakConfig.reBreak || (reBreakMode != ReBreakMode.Auto && reBreakMode != ReBreakMode.AutoConstant)) return@listen
140147
val reBreak = reBreakPos ?: return@listen
141148
requestBreakManager(listOf(reBreak), true)
@@ -144,7 +151,7 @@ object PacketMine : Module(
144151

145152
listen<RenderEvent.StaticESP> { event ->
146153
if (!renderQueue) return@listen
147-
queuePositions.forEachIndexed { index, positions ->
154+
queueSorted.forEachIndexed { index, positions ->
148155
positions.forEach { pos ->
149156
val color = if (dynamicColor) lerp(index / queuePositions.size.toDouble(), startColor, endColor)
150157
else staticColor
@@ -260,7 +267,8 @@ object PacketMine : Module(
260267

261268
enum class QueueOrder {
262269
Standard,
263-
Reversed
270+
Reversed,
271+
Closest
264272
}
265273

266274
private enum class RenderMode {

0 commit comments

Comments
 (0)