package net.scapeemulator.game.update; import net.scapeemulator.game.model.Position; import net.scapeemulator.game.model.player.Player; import net.scapeemulator.game.msg.impl.PlayerUpdateMessage; 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.GameFrameBuilder; /** * Written by Hadyn Richard */ public class TurnToPositionPlayerBlock extends PlayerBlock { private final Position position; public TurnToPositionPlayerBlock(Player player) { super(0x40); this.position = player.getTurnToPosition(); } @Override public void encode(PlayerUpdateMessage message, GameFrameBuilder builder) { // The measure is in half tiles, you must add a half tile because the player is located on the middle of a tile builder.put(DataType.SHORT, position.getX() * 2 + 1); builder.put(DataType.SHORT, DataOrder.LITTLE, DataTransformation.ADD, position.getY() * 2 + 1); } }