public LoginSuccessPacket(Client client, Guid uuid, String playerName) : base(client) { PacketId = 0x02; MCSerializer serializer = new MCSerializer(); serializer.WriteString(uuid.ToString()); serializer.WriteString(playerName); Data = serializer.GetBytes(); }
public new async Task SendToClient() { MCSerializer serializer = new MCSerializer(); serializer.WriteVarInt((int)action); serializer.WriteVarInt(players.Count); foreach (Player player in players) { serializer.WriteBytes(player.UUID.ToByteArray()); switch (action) { case PlayerInfoAction.AddPlayer: { serializer.WriteString(player.Name); serializer.WriteVarInt(0); serializer.WriteVarInt((int)player.Gamemode); serializer.WriteVarInt(player.Latency); serializer.WriteBool(false); //serializer.WriteString(player.DisplayName.ToString()); break; } case PlayerInfoAction.UpdateGamemode: { serializer.WriteVarInt((int)player.Gamemode); break; } case PlayerInfoAction.UpdateLatency: { serializer.WriteVarInt(player.Latency); break; } case PlayerInfoAction.UpdateDisplayName: { if (player.DisplayName.Message != player.Name) { serializer.WriteBool(true); serializer.WriteString(player.DisplayName.ToString()); } else { serializer.WriteBool(false); } break; } } } Data = serializer.GetBytes(); await base.SendToClient(); }
public JoinGamePacket(Client client, int entityID, byte gamemode, int dimension, long seedHash) : base(client) { PacketId = 0x26; MCSerializer serializer = new MCSerializer(); serializer.WriteInt(entityID); serializer.WriteByte(gamemode); serializer.WriteInt(dimension); serializer.WriteLong(seedHash); serializer.WriteByte(69); serializer.WriteString("default"); serializer.WriteVarInt(16); serializer.WriteBool(false); serializer.WriteBool(true); Data = serializer.GetBytes(); }