blob: c7ac92d6d817e307d6e6665ad5bbd965da94dbf4 [file] [log] [blame] [raw]
package protocolsupport.protocol.v_1_5;
import io.netty.channel.ChannelHandler;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.ChannelPipeline;
import net.minecraft.server.v1_8_R1.NetworkManager;
import protocolsupport.protocol.ChannelHandlers;
import protocolsupport.protocol.IPipeLineBuilder;
import protocolsupport.protocol.v_1_5.clientboundtransformer.PacketEncoder;
import protocolsupport.protocol.v_1_5.serverboundtransformer.PacketDecoder;
public class PipeLineBuilder implements IPipeLineBuilder {
@Override
public DecoderEncoderTuple buildPipeLine(ChannelHandlerContext ctx) {
ChannelPipeline pipeline = ctx.channel().pipeline();
NetworkManager networkmanager = (NetworkManager) pipeline.get(ChannelHandlers.NETWORK_MANAGER);
PacketDecoder decoder = new PacketDecoder();
networkmanager.a(new HandshakeListener(decoder, networkmanager));
pipeline.remove(ChannelHandlers.SPLITTER);
pipeline.remove(ChannelHandlers.PREPENDER);
ChannelHandler encoder = new PacketEncoder();
pipeline.replace(ChannelHandlers.DECODER, ChannelHandlers.DECODER, decoder);
pipeline.replace(ChannelHandlers.ENCODER, ChannelHandlers.ENCODER, encoder);
return new DecoderEncoderTuple(decoder, encoder);
}
}