package lilypad.bukkit.connect.injector;
import io.netty.buffer.ByteBuf;
import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.codec.MessageToMessageDecoder;
import java.lang.reflect.Method;
import java.util.Iterator;
import java.util.List;
import java.util.ArrayList;
public class NettyDecoderHandler extends MessageToMessageDecoder<Object> {
private NettyInjectHandler handler;
private boolean enabled = true;
public NettyDecoderHandler(NettyInjectHandler handler) throws Exception {
this.handler = handler;
}
@Override
protected void decode(ChannelHandlerContext context, Object packet, List<Object> out) throws Exception {
if (this.enabled && this.handler.isEnabled()) {
this.handler.packetReceived(this, context, packet);
}
out.add(packet);
if (!this.enabled) {
context.pipeline().remove("lilypad_decoder");
}
}
public void disable() {
this.enabled = false;
}
}