Actually register client/server packetspecs as their correct sides! fixes #71

This commit is contained in:
Christian committed 2012-08-18 09:28:36 -04:00
1 parent e8cb2c1bfe
commit 094ce2ae18
2 files changed
+11 -5

No files matched your search

@@ -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<? extends IPacketHandler> clazz, String[] channels)
private void tryCreatingPacketHandler(ModContainer container, Class<? extends IPacketHandler> 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);
}
}
}
@@ -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)");