From fc1623b478df89bdaad96f6914e00cef28873d20 Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Thu, 26 Jan 2023 20:14:14 +0700 Subject: [PATCH] a --- .../ru/dbotthepony/mc/otm/menu/MatteryMenu.kt | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/MatteryMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/MatteryMenu.kt index 1d68ed134..ea481dc3f 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/MatteryMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/MatteryMenu.kt @@ -28,6 +28,7 @@ import ru.dbotthepony.mc.otm.network.FieldSynchronizer import ru.dbotthepony.mc.otm.network.MatteryPacket import ru.dbotthepony.mc.otm.network.MenuFieldPacket import ru.dbotthepony.mc.otm.network.MenuNetworkChannel +import ru.dbotthepony.mc.otm.network.enqueueWork import ru.dbotthepony.mc.otm.network.packetHandled import ru.dbotthepony.mc.otm.network.sender import java.io.DataInputStream @@ -68,11 +69,14 @@ abstract class MatteryMenu @JvmOverloads protected constructor( override fun play(context: Supplier) { context.packetHandled = true - val menu = context.sender?.containerMenu as? MatteryMenu ?: return - if (menu.containerId != containerId) return - val input = menu.playerInputs.getOrNull(inputId) ?: return - if (!input.allowSpectators && context.sender!!.isSpectator) return - input.invoke(input.codec.read(DataInputStream(FastByteArrayInputStream(payload)))) + + context.enqueueWork { + val menu = context.sender?.containerMenu as? MatteryMenu ?: return@enqueueWork + if (menu.containerId != containerId) return@enqueueWork + val input = menu.playerInputs.getOrNull(inputId) ?: return@enqueueWork + if (!input.allowSpectators && context.sender!!.isSpectator) return@enqueueWork + input.invoke(input.codec.read(DataInputStream(FastByteArrayInputStream(payload)))) + } } }