Add /list support in Protocol16

Removed fallback to server /list command
This commit is contained in:
ORelio 2014-11-11 12:35:08 +01:00
parent 8d16f1ec89
commit 8e458f7ab9
2 changed files with 7 additions and 9 deletions

View file

@ -12,14 +12,7 @@ namespace MinecraftClient.Commands
public override string Run(McTcpClient handler, string command)
{
string[] onlinePlayers = handler.getOnlinePlayers();
if (onlinePlayers.Length == 0) //Not properly handled by Protocol handler?
{
//Fallback to server /list command
handler.SendText("/list");
return "";
}
else return "PlayerList: " + String.Join(", ", onlinePlayers);
return "PlayerList: " + String.Join(", ", handler.getOnlinePlayers());
}
}
}

View file

@ -6,6 +6,7 @@ using System.Net.Sockets;
using System.Threading;
using MinecraftClient.Crypto;
using MinecraftClient.Proxy;
using System.Security.Cryptography;
namespace MinecraftClient.Protocol.Handlers
{
@ -157,7 +158,11 @@ namespace MinecraftClient.Protocol.Handlers
if (readNextInt() == 2022) { handler.OnTextReceived("You are dead. Type /reco to respawn & reconnect."); }
if (protocolversion >= 72) { readData(4); } else readData(1);
break;
case 0xC9: readNextString(); readData(3); break;
case 0xC9:
string name = readNextString(); bool online = readNextByte() != 0x00; readData(2);
Guid FakeUUID = new Guid(MD5.Create().ComputeHash(Encoding.UTF8.GetBytes(name)).Take(16).ToArray());
if (online) { handler.OnPlayerJoin(FakeUUID, name); } else { handler.OnPlayerLeave(FakeUUID); }
break;
case 0xCA: if (protocolversion >= 72) { readData(9); } else readData(3); break;
case 0xCB: autocomplete_result = readNextString(); autocomplete_received = true; break;
case 0xCC: readNextString(); readData(4); break;