27 lines
856 B
Java
27 lines
856 B
Java
![]() |
package game.network;
|
||
|
|
||
|
import game.net.buffer.ByteBuf;
|
||
|
import game.net.channel.ChannelHandlerContext;
|
||
|
import game.net.handler.codec.MessageToByteEncoder;
|
||
|
|
||
|
public class PacketPrepender extends MessageToByteEncoder<ByteBuf>
|
||
|
{
|
||
|
protected void encode(ChannelHandlerContext p_encode_1_, ByteBuf p_encode_2_, ByteBuf p_encode_3_) throws Exception
|
||
|
{
|
||
|
int i = p_encode_2_.readableBytes();
|
||
|
int j = PacketBuffer.getVarIntSize(i);
|
||
|
|
||
|
if (j > 3)
|
||
|
{
|
||
|
throw new IllegalArgumentException("unable to fit " + i + " into " + 3);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
PacketBuffer packetbuffer = new PacketBuffer(p_encode_3_);
|
||
|
packetbuffer.ensureWritable(j + i);
|
||
|
packetbuffer.writeVarIntToBuffer(i);
|
||
|
packetbuffer.writeBytes(p_encode_2_, p_encode_2_.readerIndex(), i);
|
||
|
}
|
||
|
}
|
||
|
}
|