Guest User

Untitled

a guest
Aug 6th, 2018
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.34 KB | None | 0 0
  1. package com.winterlove.network.packet.parse;
  2.  
  3. import com.winterlove.network.io.InputStream;
  4. import com.winterlove.network.packet.Packet;
  5. import com.winterlove.network.packet.PacketParser;
  6. import com.winterlove.network.packet.PacketRepresentation;
  7. import com.winterlove.network.packet.ParsesPacket;
  8. import com.winterlove.network.packet.reps.LoginPacket;
  9.  
  10. @ParsesPacket({ 16, 18 })
  11. public class LoginPacketParser implements PacketParser {
  12.  
  13.     @Override
  14.     public PacketRepresentation parse(Packet packet) {
  15.         InputStream input = InputStream.forPacket(packet);
  16.  
  17.         int magic = input.readUnsignedByte();
  18.         int clientVersion = input.readUnsignedShort();
  19.         boolean lowDetail = input.read() == 0;
  20.  
  21.         int[] fileChecksums = new int[9];
  22.         for (int i = 0; i < fileChecksums.length; i++) {
  23.             fileChecksums[i] = input.readInteger();
  24.         }
  25.  
  26.         int blockLength = input.readUnsignedByte();
  27.         int blockOperationCode = input.readUnsignedByte();
  28.  
  29.         int[] sessionKeys = new int[4];
  30.         for (int i = 0; i < sessionKeys.length; i++) {
  31.             sessionKeys[i] = input.readInteger();
  32.         }
  33.  
  34.         int userId = input.readInteger();
  35.         String username = input.readString();
  36.         String password = input.readString();
  37.  
  38.         return LoginPacket.get(magic, clientVersion, lowDetail, fileChecksums
  39.                 , blockLength, blockOperationCode, sessionKeys, userId
  40.                 , username, password);
  41.     }
  42.  
  43. }
Add Comment
Please, Sign In to add comment