From ba8b4d829317501b4da76c754f283d2ac087a176 Mon Sep 17 00:00:00 2001 From: ryanhamshire Date: Sat, 4 Jun 2016 14:03:33 -0700 Subject: [PATCH] Added /AdjustBonusClaimBlocksAll Adjusts bonus claim blocks for all online players. --- plugin.yml | 5 +++ .../GriefPrevention/DataStore.java | 1 + .../GriefPrevention/GriefPrevention.java | 34 +++++++++++++++++++ .../GriefPrevention/Messages.java | 3 +- 4 files changed, 42 insertions(+), 1 deletion(-) diff --git a/plugin.yml b/plugin.yml index 71cb250..d4be1bd 100644 --- a/plugin.yml +++ b/plugin.yml @@ -53,6 +53,11 @@ commands: usage: /AdjustBonusClaimBlocks permission: griefprevention.adjustclaimblocks aliases: acb + adjustbonusclaimblocksall: + description: Adds or subtracts bonus claim blocks for all online players. + usage: /AdjustBonusClaimBlocksAll + permission: griefprevention.adjustclaimblocks + aliases: acball setaccruedclaimblocks: description: Updates a player's accrued claim block total. usage: /SetAccruedClaimBlocks diff --git a/src/me/ryanhamshire/GriefPrevention/DataStore.java b/src/me/ryanhamshire/GriefPrevention/DataStore.java index 9c08f5a..383c617 100644 --- a/src/me/ryanhamshire/GriefPrevention/DataStore.java +++ b/src/me/ryanhamshire/GriefPrevention/DataStore.java @@ -1426,6 +1426,7 @@ public abstract class DataStore this.addDefault(defaults, Messages.NoDeletePermission, "You don't have permission to delete claims.", null); this.addDefault(defaults, Messages.AllAdminDeleted, "Deleted all administrative claims.", null); this.addDefault(defaults, Messages.AdjustBlocksSuccess, "Adjusted {0}'s bonus claim blocks by {1}. New total bonus blocks: {2}.", "0: player; 1: adjustment; 2: new total"); + this.addDefault(defaults, Messages.AdjustBlocksAllSuccess, "Adjusted all online players' bonus claim blocks by {0}.", "0: adjustment amount"); this.addDefault(defaults, Messages.NotTrappedHere, "You can build here. Save yourself.", null); this.addDefault(defaults, Messages.RescuePending, "If you stay put for 10 seconds, you'll be teleported out. Please wait.", null); this.addDefault(defaults, Messages.NonSiegeWorld, "Siege is disabled here.", null); diff --git a/src/me/ryanhamshire/GriefPrevention/GriefPrevention.java b/src/me/ryanhamshire/GriefPrevention/GriefPrevention.java index 4d113bd..43e226d 100644 --- a/src/me/ryanhamshire/GriefPrevention/GriefPrevention.java +++ b/src/me/ryanhamshire/GriefPrevention/GriefPrevention.java @@ -2202,6 +2202,40 @@ public class GriefPrevention extends JavaPlugin return true; } + //adjustbonusclaimblocksall + else if(cmd.getName().equalsIgnoreCase("adjustbonusclaimblocksall")) + { + //requires exactly one parameter, the amount of adjustment + if(args.length != 1) return false; + + //parse the adjustment amount + int adjustment; + try + { + adjustment = Integer.parseInt(args[0]); + } + catch(NumberFormatException numberFormatException) + { + return false; //causes usage to be displayed + } + + //for each online player + @SuppressWarnings("unchecked") + Collection players = (Collection)this.getServer().getOnlinePlayers(); + for(Player onlinePlayer : players) + { + UUID playerID = onlinePlayer.getUniqueId(); + PlayerData playerData = this.dataStore.getPlayerData(playerID); + playerData.setBonusClaimBlocks(playerData.getBonusClaimBlocks() + adjustment); + this.dataStore.savePlayerData(playerID, playerData); + } + + GriefPrevention.sendMessage(player, TextMode.Success, Messages.AdjustBlocksAllSuccess, String.valueOf(adjustment)); + if(player != null) GriefPrevention.AddLogEntry(player.getName() + " adjusted all players' bonus claim blocks by " + adjustment + ".", CustomLogEntryTypes.AdminActivity); + + return true; + } + //setaccruedclaimblocks else if(cmd.getName().equalsIgnoreCase("setaccruedclaimblocks")) { diff --git a/src/me/ryanhamshire/GriefPrevention/Messages.java b/src/me/ryanhamshire/GriefPrevention/Messages.java index 4bce697..6c52435 100644 --- a/src/me/ryanhamshire/GriefPrevention/Messages.java +++ b/src/me/ryanhamshire/GriefPrevention/Messages.java @@ -243,5 +243,6 @@ public enum Messages ClaimTooSmallForActiveBlocks, TooManyActiveBlocksInClaim, ConsoleOnlyCommand, - WorldNotFound + WorldNotFound, + AdjustBlocksAllSuccess }