diff --git a/src/main/java/cpw/mods/fml/client/FMLClientHandler.java b/src/main/java/cpw/mods/fml/client/FMLClientHandler.java index cfe7c13ef3..46c37731ac 100644 --- a/src/main/java/cpw/mods/fml/client/FMLClientHandler.java +++ b/src/main/java/cpw/mods/fml/client/FMLClientHandler.java @@ -144,6 +144,8 @@ public class FMLClientHandler implements IFMLSidedHandler private Map extraServerListData; private Map serverDataTag; + private NetHandlerPlayClient currentPlayClient; + /** * Called to start the whole game off * @@ -532,7 +534,7 @@ public class FMLClientHandler implements IFMLSidedHandler @Override public INetHandler getClientPlayHandler() { - return this.client.func_147114_u(); + return this.currentPlayClient; } @Override public NetworkManager getClientToServerNetworkManager() @@ -697,6 +699,7 @@ public class FMLClientHandler implements IFMLSidedHandler public void setPlayClient(NetHandlerPlayClient netHandlerPlayClient) { playClientBlock.countDown(); + this.currentPlayClient = netHandlerPlayClient; } @Override diff --git a/src/main/java/cpw/mods/fml/common/network/NetworkEventFiringHandler.java b/src/main/java/cpw/mods/fml/common/network/NetworkEventFiringHandler.java index 25a1189551..c7f3ee0c7b 100644 --- a/src/main/java/cpw/mods/fml/common/network/NetworkEventFiringHandler.java +++ b/src/main/java/cpw/mods/fml/common/network/NetworkEventFiringHandler.java @@ -1,5 +1,7 @@ package cpw.mods.fml.common.network; +import org.apache.logging.log4j.Level; +import cpw.mods.fml.common.FMLLog; import cpw.mods.fml.common.network.internal.FMLProxyPacket; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.SimpleChannelInboundHandler; @@ -26,4 +28,10 @@ public class NetworkEventFiringHandler extends SimpleChannelInboundHandler & IHandshakeState> ext S newState = state.accept(ctx, null); ctx.attr(fmlHandshakeState).set(newState); } + + @Override + public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception + { + FMLLog.log(Level.ERROR, cause, "HandshakeMessageHandler exception"); + super.exceptionCaught(ctx, cause); + } } diff --git a/src/main/java/cpw/mods/fml/common/network/handshake/NetworkDispatcher.java b/src/main/java/cpw/mods/fml/common/network/handshake/NetworkDispatcher.java index 3d099b59f6..80878d265c 100644 --- a/src/main/java/cpw/mods/fml/common/network/handshake/NetworkDispatcher.java +++ b/src/main/java/cpw/mods/fml/common/network/handshake/NetworkDispatcher.java @@ -15,6 +15,7 @@ import java.util.List; import java.util.Locale; import java.util.concurrent.Callable; import java.util.concurrent.TimeUnit; +import org.apache.logging.log4j.Level; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.network.EnumConnectionState; import net.minecraft.network.INetHandler; @@ -242,6 +243,7 @@ public class NetworkDispatcher extends SimpleChannelInboundHandler imple if ("FML|HS".equals(channelName) || "REGISTER".equals(channelName) || "UNREGISTER".equals(channelName)) { FMLProxyPacket proxy = new FMLProxyPacket(msg); + proxy.setDispatcher(this); handshakeChannel.writeInbound(proxy); // forward any messages into the regular channel for (Object push : handshakeChannel.inboundMessages()) @@ -278,6 +280,7 @@ public class NetworkDispatcher extends SimpleChannelInboundHandler imple if ("FML|HS".equals(channelName) || "REGISTER".equals(channelName) || "UNREGISTER".equals(channelName)) { FMLProxyPacket proxy = new FMLProxyPacket(msg); + proxy.setDispatcher(this); handshakeChannel.writeInbound(proxy); for (Object push : handshakeChannel.inboundMessages()) { @@ -433,4 +436,12 @@ public class NetworkDispatcher extends SimpleChannelInboundHandler imple { completeClientSideConnection(ConnectionType.valueOf(type)); } + + @Override + public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception + { + FMLLog.log(Level.ERROR, cause, "NetworkDispatcher exception"); + super.exceptionCaught(ctx, cause); + } + } diff --git a/src/main/java/cpw/mods/fml/common/network/internal/EntitySpawnHandler.java b/src/main/java/cpw/mods/fml/common/network/internal/EntitySpawnHandler.java index f11f3820ba..c17c2060d8 100644 --- a/src/main/java/cpw/mods/fml/common/network/internal/EntitySpawnHandler.java +++ b/src/main/java/cpw/mods/fml/common/network/internal/EntitySpawnHandler.java @@ -123,4 +123,11 @@ public class EntitySpawnHandler extends SimpleChannelInboundHandler { @@ -15,4 +17,11 @@ public class OpenGuiHandler extends SimpleChannelInboundHandler