From 51837968027e237998f4963431710e5f3bf2cdf4 Mon Sep 17 00:00:00 2001 From: johni0702 Date: Fri, 15 May 2015 19:16:19 +0200 Subject: [PATCH] Forge 1.8-11.14.1 requires its NetworkDispatcher to be present in the netty pipeline Also fixes embedded channel not being closed --- .../eu/crushedpixel/replaymod/replay/ReplayHandler.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java b/src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java index 4b68ec77..18f9a64d 100755 --- a/src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java +++ b/src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java @@ -6,13 +6,13 @@ import eu.crushedpixel.replaymod.entities.CameraEntity; import eu.crushedpixel.replaymod.holders.*; import eu.crushedpixel.replaymod.utils.ReplayFile; import eu.crushedpixel.replaymod.utils.ReplayFileIO; -import io.netty.channel.embedded.EmbeddedChannel; import net.minecraft.client.Minecraft; import net.minecraft.client.network.NetHandlerPlayClient; import net.minecraft.entity.Entity; import net.minecraft.network.EnumPacketDirection; import net.minecraft.network.NetworkManager; import net.minecraft.network.play.INetHandlerPlayClient; +import net.minecraftforge.fml.common.network.handshake.NetworkDispatcher; import java.io.File; import java.io.IOException; @@ -331,6 +331,7 @@ public class ReplayHandler { networkManager.setNetHandler(pc); channel = new OpenEmbeddedChannel(networkManager); + channel.attr(NetworkDispatcher.FML_DISPATCHER).set(new NetworkDispatcher(networkManager)); // Open replay try { @@ -367,7 +368,8 @@ public class ReplayHandler { INetHandlerPlayClient pc = new NetHandlerPlayClient(mc, null, networkManager, new GameProfile(UUID.randomUUID(), "Player")); networkManager.setNetHandler(pc); - EmbeddedChannel channel = new OpenEmbeddedChannel(networkManager); + channel = new OpenEmbeddedChannel(networkManager); + channel.attr(NetworkDispatcher.FML_DISPATCHER).set(new NetworkDispatcher(networkManager)); channel.pipeline().addFirst(ReplayMod.replaySender); channel.pipeline().fireChannelActive();