From 094ce2ae185f2c8863a784cc8d09a977d412404a Mon Sep 17 00:00:00 2001 From: Christian Date: Sat, 18 Aug 2012 09:28:36 -0400 Subject: [PATCH] Actually register client/server packetspecs as their correct sides! fixes #71 --- .../mods/fml/common/network/NetworkModHandler.java | 11 ++++++----- .../cpw/mods/fml/common/network/NetworkRegistry.java | 5 +++++ 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/common/cpw/mods/fml/common/network/NetworkModHandler.java b/common/cpw/mods/fml/common/network/NetworkModHandler.java index 305b191509..6205efb451 100644 --- a/common/cpw/mods/fml/common/network/NetworkModHandler.java +++ b/common/cpw/mods/fml/common/network/NetworkModHandler.java @@ -8,6 +8,7 @@ import com.google.common.base.Strings; import cpw.mods.fml.common.FMLLog; import cpw.mods.fml.common.ModContainer; +import cpw.mods.fml.common.Side; import cpw.mods.fml.common.discovery.ASMDataTable; import cpw.mods.fml.common.discovery.ASMDataTable.ASMData; import cpw.mods.fml.common.versioning.DefaultArtifactVersion; @@ -89,14 +90,14 @@ public class NetworkModHandler } } - tryCreatingPacketHandler(container, mod.packetHandler(), mod.channels()); + tryCreatingPacketHandler(container, mod.packetHandler(), mod.channels(), null); if (mod.clientPacketHandlerSpec() != getClientHandlerSpecDefaultValue()) { - tryCreatingPacketHandler(container, mod.clientPacketHandlerSpec().packetHandler(), mod.clientPacketHandlerSpec().channels()); + tryCreatingPacketHandler(container, mod.clientPacketHandlerSpec().packetHandler(), mod.clientPacketHandlerSpec().channels(), Side.CLIENT); } if (mod.serverPacketHandlerSpec() != getServerHandlerSpecDefaultValue()) { - tryCreatingPacketHandler(container, mod.serverPacketHandlerSpec().packetHandler(), mod.serverPacketHandlerSpec().channels()); + tryCreatingPacketHandler(container, mod.serverPacketHandlerSpec().packetHandler(), mod.serverPacketHandlerSpec().channels(), Side.SERVER); } if (mod.connectionHandler() != getConnectionHandlerDefaultValue()) @@ -118,7 +119,7 @@ public class NetworkModHandler /** * @param container */ - private void tryCreatingPacketHandler(ModContainer container, Class clazz, String[] channels) + private void tryCreatingPacketHandler(ModContainer container, Class clazz, String[] channels, Side side) { if (clazz!=getPacketHandlerDefaultValue()) @@ -142,7 +143,7 @@ public class NetworkModHandler for (String channel : channels) { - NetworkRegistry.instance().registerChannel(instance, channel); + NetworkRegistry.instance().registerChannel(instance, channel, side); } } } diff --git a/common/cpw/mods/fml/common/network/NetworkRegistry.java b/common/cpw/mods/fml/common/network/NetworkRegistry.java index 8a68014f45..3d45d51416 100644 --- a/common/cpw/mods/fml/common/network/NetworkRegistry.java +++ b/common/cpw/mods/fml/common/network/NetworkRegistry.java @@ -96,6 +96,11 @@ public class NetworkRegistry public void registerChannel(IPacketHandler handler, String channelName, Side side) { + if (side == null) + { + registerChannel(handler, channelName); + return; + } if (Strings.isNullOrEmpty(channelName) || (channelName!=null && channelName.length()>16)) { FMLLog.severe("Invalid channel name '%s' : %s", channelName, Strings.isNullOrEmpty(channelName) ? "Channel name is empty" : "Channel name is too long (16 chars is maximum)");