public BAMCInitialHandshake(BAMCPacket Packet) : base(Packet) { int index = 0; index = Payload.ReadVarInt(index, out MCProtocolVersion); index = Payload.ReadString(index, out ServerAddress); index = Payload.ReadUShort(index, out ServerPort); Payload.ReadVarInt(index, out int nextState); NextState = (BAMCClientState)nextState; }
public static void ProcessGenericPacket(BAMCPacket packet) { Console.WriteLine("Packet Length: " + packet.Length); Console.WriteLine("Packet ID: " + packet.PacketID); Console.WriteLine("Current State: " + packet.Client.State); Console.WriteLine("Packet Payload: " + BitConverter.ToString(packet.Payload)); Console.WriteLine(); if (packet.PacketID == PacketID.Handshake && packet.Client.State == BAMCClientState.Handshaking) { ProcessInitialHandshake(new BAMCInitialHandshake(packet)); return; } if (packet.PacketID == PacketID.PingPong && packet.Client.State == BAMCClientState.Status) { ProcessPingResponse(packet); return; } }
public static void ProcessPingResponse(BAMCPacket packet) { packet.Send(); packet.Client.Disconnect(); }