From 89deb3d2ac8aa94f30ffd56e655972d169ed87cf Mon Sep 17 00:00:00 2001 From: IzzelAliz Date: Sat, 23 Jan 2021 11:23:14 +0800 Subject: [PATCH] Fix book edit async kick --- .../mixin/core/network/play/ServerPlayNetHandlerMixin.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/network/play/ServerPlayNetHandlerMixin.java b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/network/play/ServerPlayNetHandlerMixin.java index ced71073..243e6e51 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/network/play/ServerPlayNetHandlerMixin.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/network/play/ServerPlayNetHandlerMixin.java @@ -199,7 +199,7 @@ public abstract class ServerPlayNetHandlerMixin implements ServerPlayNetHandlerB private int allowedPlayerTicks; private int dropCount; private int lastTick; - private int lastBookTick; + private volatile int lastBookTick; private int lastDropTick; private double lastPosX; @@ -411,6 +411,7 @@ public abstract class ServerPlayNetHandlerMixin implements ServerPlayNetHandlerB @Inject(method = "processEditBook", cancellable = true, at = @At("HEAD")) private void arclight$editBookSpam(CEditBookPacket packetIn, CallbackInfo ci) { if (this.lastBookTick + 20 > ArclightConstants.currentTick) { + PacketThreadUtil.checkThreadAndEnqueue(packetIn, (ServerPlayNetHandler) (Object) this, this.minecraftServer); this.disconnect("Book edited too quickly!"); return; }