diff --git a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/NetworkRegistryMixin.java b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/NetworkRegistryMixin.java index 9e9532d02..51400ad72 100644 --- a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/NetworkRegistryMixin.java +++ b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/NetworkRegistryMixin.java @@ -90,7 +90,7 @@ private static Map preserveSendableChanne NegotiationResult negotiation = results.get(ConnectionProtocol.PLAY); List components = new ArrayList<>(negotiation.components()); channels.stream() - .filter(c -> PayloadTypeRegistryImpl.PLAY_S2C.get(c.id()) != null) + .filter(c -> components.stream().noneMatch(d -> c.id().equals(d.id())) && PayloadTypeRegistryImpl.PLAY_S2C.get(c.id()) != null) .forEach(c -> components.add(new NegotiatedNetworkComponent(c.id(), c.version()))); results.put(ConnectionProtocol.PLAY, new NegotiationResult(components, negotiation.success(), negotiation.failureReasons())); } diff --git a/ffapi.gradle.properties b/ffapi.gradle.properties index 4c11da562..c0177b3f8 100644 --- a/ffapi.gradle.properties +++ b/ffapi.gradle.properties @@ -1,7 +1,7 @@ loom.platform=neoforge fabric.loom.dontRemap=true -implementationVersion=2.0.17 +implementationVersion=2.0.18 versionMc=1.21.1 versionForge=21.1.57