void AddEntity(byte entityId, string displayName, string skinName, bool readPosition) { skinName = Utils.StripColours(skinName); if (entityId != 0xFF) { Player oldPlayer = game.Players[entityId]; if (oldPlayer != null) { game.EntityEvents.RaiseEntityRemoved(entityId); oldPlayer.Despawn(); } game.Players[entityId] = new NetPlayer(displayName, skinName, game, entityId); string identifier = game.Players[entityId].SkinIdentifier; game.EntityEvents.RaiseEntityAdded(entityId); game.AsyncDownloader.DownloadSkin(identifier, skinName); } else { game.LocalPlayer.SkinName = skinName; game.AsyncDownloader.DownloadSkin("skin_255", skinName); } if (readPosition) { ReadAbsoluteLocation(entityId, false); if (entityId == 0xFF) { game.LocalPlayer.SpawnPoint = game.LocalPlayer.Position; } } }
void RemoveEntity(byte entityId) { Player player = game.Players[entityId]; if (player == null) { return; } if (entityId != 0xFF) { game.EntityEvents.RaiseEntityRemoved(entityId); player.Despawn(); game.Players[entityId] = null; } // See comment about LegendCraft in HandleAddEntity if (needRemoveNames != null && needRemoveNames[entityId]) { game.EntityEvents.RaiseCpeListInfoRemoved(entityId); game.CpePlayersList[entityId] = null; needRemoveNames[entityId] = false; } }
void AddEntity(byte entityId, string displayName, string skinName, bool readPosition) { skinName = Utils.StripColours(skinName); if (entityId != 0xFF) { Player oldPlayer = game.Players[entityId]; if (oldPlayer != null) { game.EntityEvents.RaiseEntityRemoved(entityId); oldPlayer.Despawn(); } game.Players[entityId] = new NetPlayer(displayName, skinName, game, entityId); game.EntityEvents.RaiseEntityAdded(entityId); } else { game.LocalPlayer.SkinName = skinName; } string identifier = game.Players[entityId].SkinIdentifier; game.AsyncDownloader.DownloadSkin(identifier, skinName); if (!readPosition) { return; } ReadAbsoluteLocation(entityId, false); if (entityId == 0xFF) { LocalPlayer p = game.LocalPlayer; p.SpawnPoint = p.Position; p.SpawnYaw = p.HeadYawDegrees; p.SpawnPitch = p.PitchDegrees; } }