Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package org.rs2.model.player;
- import org.rs2.net.packet.PacketBuilder;
- public class Updating {
- public static void updateLocalPlayer(Player player) {
- PacketBuilder packetBuilder = new PacketBuilder();
- if (player.isNeedsPlacement()) {
- putBit(packetBuilder, true);
- int posX = player.getPosition().getLocalX(player.getCurrentRegion());
- int posY = player.getPosition().getLocalY(player.getCurrentRegion());
- packetBuilder.putBits(2, 3);
- packetBuilder.putBits(2, player.getPosition().getZ());
- packetBuilder.putBits(1, 0);
- packetBuilder.putBits(1, player.getUpdateFlags().isUpdateRequired() ? 1 : 0);
- packetBuilder.putBits(7, posY);
- packetBuilder.putBits(7, posX);
- player.setNeedsPlacement(false);
- } else {
- int pDir = player.getPrimaryDirection();
- int sDir = player.getSecondaryDirection();
- if (pDir != -1) {
- putBit(packetBuilder, true);
- if (sDir != -1) {
- packetBuilder.putBits(3, pDir);
- packetBuilder.putBits(3, sDir);
- putBit(packetBuilder, player.getUpdateFlags().isUpdateRequired());
- }
- } else {
- if (player.getUpdateFlags().isUpdateRequired()) {
- putBit(packetBuilder, true);
- packetBuilder.putBits(2, 0);
- } else {
- putBit(packetBuilder, false);
- }
- }
- }
- }
- public static void putBit(PacketBuilder packetBuilder, boolean flag) {
- packetBuilder.putBits(1, flag ? 1 : 0);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement