Пример #1
0
 /// <summary>
 /// 连接到服务器
 /// </summary>
 /// <param name="hostname"></param>
 /// <param name="port"></param>
 /// <returns></returns>
 public void Connect(string hostname, ushort port)
 {
     _lastServerHostname = hostname;
     _lastServerPort     = port;
     if (State == MinecraftClientState.InGame)
     {
         _adapter.Disconnect();
     }
     _logger.Info($"Connecting {hostname}, {port}");
     _adapter = new MinecraftClientAdapter(hostname, port, this);
     _adapter.Disconnected += (sender, e) =>
     {
         State = MinecraftClientState.InTitle;
         Disconnected?.Invoke(sender, e);
         _world  = null;
         _player = null;
     };
     _adapter.Chat += (sender, e) =>
     {
         //TODO: Use ChatEventArgs and Minecraft.Text.RichText
         ChatReceived?.Invoke(sender, e.jsonData);
     };
     _player = new ClientPlayerEntityHandler(_adapter);
     _world  = new WorldHandler(_adapter, _player);
     _adapter.Connect();
     State = MinecraftClientState.InGame;
 }
Пример #2
0
 /// <summary>
 /// 断开与服务器的连接
 /// </summary>
 /// <returns></returns>
 public void Disconnect()
 {
     if (State != MinecraftClientState.InGame)
     {
         return;
     }
     _adapter.Disconnect();
     State = MinecraftClientState.InTitle;
 }