protected override void HandlePacket(Packet packet) { if (packet == null) { return; } switch (ConnectionState) { case ConnectionState.Handshake: WorldReceiver.HandleHandshake(packet); break; case ConnectionState.Status: WorldReceiver.HandleStatus(packet); break; case ConnectionState.Login: WorldReceiver.HandleLogin(packet); break; case ConnectionState.Play: WorldReceiver.HandlePlay(packet); break; default: throw new ArgumentOutOfRangeException(); } }