From 52965650c45b2a1768d16f7d2b2f49527e1ff142 Mon Sep 17 00:00:00 2001 From: 1zuna <1zuna@ccbluex.net> Date: Mon, 2 Dec 2024 04:29:44 +0100 Subject: [PATCH] fix(PacketQueueManager): bad flush on event flush (#4784) --- .../liquidbounce/utils/client/PacketQueueManager.kt | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/main/kotlin/net/ccbluex/liquidbounce/utils/client/PacketQueueManager.kt b/src/main/kotlin/net/ccbluex/liquidbounce/utils/client/PacketQueueManager.kt index 8cb44384eb8..9c60f2e4dca 100644 --- a/src/main/kotlin/net/ccbluex/liquidbounce/utils/client/PacketQueueManager.kt +++ b/src/main/kotlin/net/ccbluex/liquidbounce/utils/client/PacketQueueManager.kt @@ -18,6 +18,7 @@ */ package net.ccbluex.liquidbounce.utils.client +import com.google.common.collect.Queues import net.ccbluex.liquidbounce.event.EventListener import net.ccbluex.liquidbounce.event.EventManager import net.ccbluex.liquidbounce.event.events.* @@ -56,7 +57,7 @@ import java.util.concurrent.ConcurrentLinkedQueue */ object PacketQueueManager : EventListener { - val packetQueue = ConcurrentLinkedQueue() + val packetQueue: ConcurrentLinkedQueue = Queues.newConcurrentLinkedQueue() val positions get() = packetQueue .map { snapshot -> snapshot.packet } @@ -184,7 +185,7 @@ object PacketQueueManager : EventListener { } } - fun flush(flushWhen: (PacketSnapshot) -> Boolean) = mc.renderTaskQueue.add(Runnable { + fun flush(flushWhen: (PacketSnapshot) -> Boolean) { packetQueue.removeIf { snapshot -> if (flushWhen(snapshot)) { flushSnapshot(snapshot) @@ -193,9 +194,9 @@ object PacketQueueManager : EventListener { false } } - }) + } - fun flush(count: Int) = mc.renderTaskQueue.add(Runnable { + fun flush(count: Int) { // Take all packets until the counter of move packets reaches count and send them var counter = 0 @@ -213,7 +214,7 @@ object PacketQueueManager : EventListener { break } } - }) + } fun cancel() { positions.firstOrNull().let { pos ->