diff --git a/fabric-networking-api-v1/src/client/java/net/fabricmc/fabric/impl/networking/client/ClientPlayNetworkAddon.java b/fabric-networking-api-v1/src/client/java/net/fabricmc/fabric/impl/networking/client/ClientPlayNetworkAddon.java index b9942064234..20b4d1b54d8 100644 --- a/fabric-networking-api-v1/src/client/java/net/fabricmc/fabric/impl/networking/client/ClientPlayNetworkAddon.java +++ b/fabric-networking-api-v1/src/client/java/net/fabricmc/fabric/impl/networking/client/ClientPlayNetworkAddon.java @@ -69,9 +69,13 @@ public void onServerReady() { @Override protected void receive(ClientPlayNetworking.PlayPayloadHandler handler, CustomPayload payload) { - this.client.execute(() -> { + if (this.client.isOnThread()) { ((ClientPlayNetworking.PlayPayloadHandler) handler).receive(payload, context); - }); + } else { + this.client.execute(() -> { + ((ClientPlayNetworking.PlayPayloadHandler) handler).receive(payload, context); + }); + } } // impl details diff --git a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/impl/networking/AbstractChanneledNetworkAddon.java b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/impl/networking/AbstractChanneledNetworkAddon.java index efae4a474bf..9cff7ccdb05 100644 --- a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/impl/networking/AbstractChanneledNetworkAddon.java +++ b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/impl/networking/AbstractChanneledNetworkAddon.java @@ -69,7 +69,6 @@ protected void registerPendingChannels(ChannelInfoHolder holder, NetworkPhase st } } - // always supposed to handle async! public boolean handle(CustomPayload payload) { final Identifier channelName = payload.getId().id(); this.logger.debug("Handling inbound packet from channel with name \"{}\"", channelName); diff --git a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/impl/networking/server/ServerPlayNetworkAddon.java b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/impl/networking/server/ServerPlayNetworkAddon.java index 2406133a096..a5d1c423ddd 100644 --- a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/impl/networking/server/ServerPlayNetworkAddon.java +++ b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/impl/networking/server/ServerPlayNetworkAddon.java @@ -68,9 +68,13 @@ public void onClientReady() { @Override protected void receive(ServerPlayNetworking.PlayPayloadHandler payloadHandler, CustomPayload payload) { - this.server.execute(() -> { + if (this.server.isOnThread()) { ((ServerPlayNetworking.PlayPayloadHandler) payloadHandler).receive(payload, ServerPlayNetworkAddon.this.context); - }); + } else { + this.server.execute(() -> { + ((ServerPlayNetworking.PlayPayloadHandler) payloadHandler).receive(payload, ServerPlayNetworkAddon.this.context); + }); + } } // impl details