package net.scapeemulator.game.msg.encoder; import io.netty.buffer.ByteBufAllocator; import net.scapeemulator.game.msg.MessageEncoder; import net.scapeemulator.game.msg.impl.FriendStatusMessage; import net.scapeemulator.game.net.game.DataType; import net.scapeemulator.game.net.game.GameFrame; import net.scapeemulator.game.net.game.GameFrame.Type; import net.scapeemulator.game.net.game.GameFrameBuilder; public final class FriendStatusMessageEncoder extends MessageEncoder<FriendStatusMessage> { public FriendStatusMessageEncoder() { super(FriendStatusMessage.class); } @Override public GameFrame encode(ByteBufAllocator alloc, FriendStatusMessage message) { GameFrameBuilder builder = new GameFrameBuilder(alloc, 62, Type.VARIABLE_BYTE); builder.put(DataType.LONG, message.getFriend()); builder.put(DataType.SHORT, message.getWorld()); builder.put(DataType.BYTE, 0); // TODO clan rank if(message.getWorld() > 0) { builder.putString("Online"); // TODO check world } return builder.toGameFrame(); } }