Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void execute(GameEngine context) {
- RSOutputStream mainPacket = new RSOutputStream().setId(24).setSize(RSInputStream.Size.VariableShort).initBitAccess();
- RSOutputStream updateBlock = new RSOutputStream().setBare(true);
- updateThisPlayerMovement(mainPacket);
- appendMasks(player, updateBlock);
- mainPacket.addBits(8, player.playerList().size());
- /**
- * Loops players doing some checks
- */
- for (Iterator<Player> it = player.playerList().iterator(); it.hasNext();) {
- Player p2 = it.next();
- if (!p2.Details().isConnected()|| !player.location().withinDistance(p2) || player.movement().didTeleport()) {
- mainPacket.addBits(1, 1);
- mainPacket.addBits(2, 3);
- it.remove();
- } else {
- updatePlayerMovement(p2, mainPacket);
- appendMasks(p2, updateBlock);
- }
- }
- /**
- * Add New Player
- */
- synchronized(Server.getServer().getWorld().players) {
- for(Player p2 : Server.getServer().getWorld().players) {
- if(p2 == null || player.equals(p2) || player.playerList().contains(p2) || !p2.location().withinDistance(player) || !p2.Details().isConnected()) {
- continue;
- }
- addNewPlayer(p2, mainPacket);
- p2.setForceUpdate(true);
- p2.appearance().setApply(true);
- appendMasks(p2, updateBlock);
- }
- }
- if(updateBlock.getLength() > 0) {
- mainPacket.addBits(11, 2047);
- }
- mainPacket.finishBitAccess();
- if(updateBlock.getLength() > 0) {
- mainPacket.addBytes(updateBlock.toPacket().getData());
- }
- player.Details().getSession().write(mainPacket.toPacket());
- }
Add Comment
Please, Sign In to add comment