Make client net handling run on main thread

This commit is contained in:
Sensei authored and gnembon committed 2022-10-10 20:30:25 +02:00
1 parent a50a0d7328
commit 059fda49a4
4 files changed
+34 -58

No files matched your search

@@ -7,6 +7,7 @@ import net.minecraft.client.multiplayer.ClientPacketListener;
import net.minecraft.network.chat.Component;
import net.minecraft.network.protocol.game.ClientboundCustomPayloadPacket;
import net.minecraft.network.protocol.game.ClientboundLoginPacket;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
@@ -16,9 +17,9 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(ClientPacketListener.class)
public abstract class ClientPacketListener_customPacketsMixin
{
@Shadow private Minecraft minecraft;
@Final @Shadow private Minecraft minecraft;
@Inject(method = "handleCustomPayload", at = @At("HEAD"), cancellable = true)
@Inject(method = "handleCustomPayload", at = @At(value = "INVOKE", target = "Lnet/minecraft/network/protocol/game/ClientboundCustomPayloadPacket;getIdentifier()Lnet/minecraft/resources/ResourceLocation;"), cancellable = true)
private void onOnCustomPayload(ClientboundCustomPayloadPacket packet, CallbackInfo ci)
{
if (CarpetClient.CARPET_CHANNEL.equals(packet.getIdentifier()))
@@ -39,5 +40,4 @@ public abstract class ClientPacketListener_customPacketsMixin
{
CarpetClient.disconnect();
}
}