public override void SetPlayerTeam(SkyPlayer player, GameTeam oldTeam, GameTeam team) { if (oldTeam != null) { TeamPlayerDict[oldTeam].Remove(player); } if (team != null) { TeamPlayerDict[team].Add(player); if (team.IsSpectator) { AddSpectator(player); } else { player.IsGameSpectator = false; //Re-update visible characteristics player.RemoveEffect(new Invisibility()); player.BroadcastSetEntityData(); player.SetNameTagVisibility(true); player.Inventory.SetHeldItemSlot(player.Inventory.InHandSlot, false); } } }