public async Task <string> Teleport(string input, Player player) { var response = ""; try { var parameters = input.ToLower().Split(" "); var worldName = parameters[0]; int.TryParse(parameters[1], out var x); int.TryParse(parameters[2], out var y); int.TryParse(parameters[3], out var z); var newCell = await _cellLogic.GetCellInWorld(worldName, x, y, z); if (newCell != null) { response += $"You teleport to {worldName}.\n"; await Replicate($"{player.Name} teleports out of sight.", player); await _cellLogic.UpdateEntityCell(player, newCell); await Replicate($"{player.Name} arrives from a portal.", player); response += _cellLogic.CellDescriptionForPlayer(player); } else { response += "You cannot teleport somewhere that does not exist."; } } catch (Exception) { response = "The correct format for Teleport is: Teleport world x y z"; } return(response); }