package net.scapeemulator.game.msg.encoder;
import io.netty.buffer.ByteBufAllocator;
import net.scapeemulator.game.msg.MessageEncoder;
import net.scapeemulator.game.msg.impl.inter.InterfaceItemMessage;
import net.scapeemulator.game.net.game.DataOrder;
import net.scapeemulator.game.net.game.DataTransformation;
import net.scapeemulator.game.net.game.DataType;
import net.scapeemulator.game.net.game.GameFrame;
import net.scapeemulator.game.net.game.GameFrameBuilder;
public final class InterfaceItemMessageEncoder extends MessageEncoder<InterfaceItemMessage> {
public InterfaceItemMessageEncoder() {
super(InterfaceItemMessage.class);
}
@Override
public GameFrame encode(ByteBufAllocator alloc, InterfaceItemMessage message) {
GameFrameBuilder builder = new GameFrameBuilder(alloc, 50);
builder.put(DataType.INT, message.getSize());
builder.put(DataType.SHORT, DataOrder.LITTLE, message.getId());
builder.put(DataType.SHORT, DataOrder.LITTLE, message.getChild());
builder.put(DataType.SHORT, DataOrder.LITTLE, DataTransformation.ADD, message.getItem());
builder.put(DataType.SHORT, DataOrder.LITTLE, 0);
return builder.toGameFrame();
}
}