public void UpdatePlotPlayer(PlotPlayer player) { player.UpdateDate = DateTime.UtcNow; _plotPlayers[player.Xuid] = player; SaveConfig(); }
public string PlotHome(Player player) { PlotPlayer plotPlayer = _plotManager.GetOrAddPlotPlayer(player); if (plotPlayer == null) { return("Sorry, you don't exist."); } PlotCoordinates coords = (PlotCoordinates)plotPlayer.Home; if (coords == null) { return("Sorry, you are homeless."); } if (!_plotManager.HasClaim(coords, player)) { return("Sorry, you don't own your home. Did the bank claim it?"); } if (!_plotManager.TryGetPlot(coords, out Plot plot)) { return("Sorry, we lost your home. Ask an admin to find it again!"); } int height = player.Level.GetHeight((BlockCoordinates)plotPlayer.Home); if (plotPlayer.Home.Y < height) { plotPlayer.Home.Y = height + 2; } player.Teleport(plotPlayer.Home); return($"Moved to your home plot {plot.Coordinates.X},{plot.Coordinates.Z}"); }
public string PlotVisit(Player player, string username) { PlotPlayer plotPlayer = _plotManager.GetPlotPlayer(username); if (plotPlayer == null) { return("Sorry, that user is homeless."); } PlotCoordinates coords = (PlotCoordinates)plotPlayer.Home; if (coords == null) { return("Sorry, player is homeless."); } if (!_plotManager.TryGetPlot(coords, out Plot plot)) { return("Sorry, we lost his home. Maybe ask an admin to find it again!"); } int height = player.Level.GetHeight((BlockCoordinates)plotPlayer.Home); if (plotPlayer.Home.Y < height) { plotPlayer.Home.Y = height + 2; } player.Teleport(plotPlayer.Home); return($"Moved you to plot {plot.Coordinates.X},{plot.Coordinates.Z}. Home of {username}"); }
public PlotPlayer GetOrAddPlotPlayer(Player player) { if (!_plotPlayers.TryGetValue(player.ClientUuid, out var plotPlayer)) { plotPlayer = new PlotPlayer { Xuid = player.ClientUuid, Username = player.Username, }; if (!_plotPlayers.TryAdd(player.ClientUuid, plotPlayer)) { return(null); } SaveConfig(); } return(plotPlayer); }
public string PlotSetHome(Player player) { PlotCoordinates coords = (PlotCoordinates)player.KnownPosition; if (coords == null) { return("Not able to set home plot at this position."); } if (!_plotManager.HasClaim(coords, player)) { return("Not able to set home plot at this position."); } if (!_plotManager.TryGetPlot(coords, out Plot plot)) { return("Not able to set home plot at this position."); } PlotPlayer plotPlayer = _plotManager.GetOrAddPlotPlayer(player); plotPlayer.Home = player.KnownPosition; _plotManager.UpdatePlotPlayer(plotPlayer); return($"Set home to plot {plot.Coordinates.X},{plot.Coordinates.Z}"); }