From 6e6b0d3ee6d4bfe0bd7f42d4a323d297c0cbf1fb Mon Sep 17 00:00:00 2001 From: ryanhamshire Date: Thu, 8 Jan 2015 20:26:47 -0800 Subject: [PATCH] Tweaked message for resizing others' claims. Now shows OWNER's claim blocks remaining, or zero for admin claims. --- .../GriefPrevention/DataStore.java | 2 +- .../GriefPrevention/PlayerEventHandler.java | 25 +++++++++++++++++-- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/src/me/ryanhamshire/GriefPrevention/DataStore.java b/src/me/ryanhamshire/GriefPrevention/DataStore.java index e0e3a5f..2b79aa8 100644 --- a/src/me/ryanhamshire/GriefPrevention/DataStore.java +++ b/src/me/ryanhamshire/GriefPrevention/DataStore.java @@ -1144,7 +1144,7 @@ public abstract class DataStore this.addDefault(defaults, Messages.NoCreateClaimPermission, "You don't have permission to claim land.", null); this.addDefault(defaults, Messages.ResizeClaimTooSmall, "This new size would be too small. Claims must be at least {0} x {0}.", "0: minimum claim size"); this.addDefault(defaults, Messages.ResizeNeedMoreBlocks, "You don't have enough blocks for this size. You need {0} more.", "0: how many needed"); - this.addDefault(defaults, Messages.ClaimResizeSuccess, "Claim resized. You now have {0} available claim blocks.", "0: remaining blocks"); + this.addDefault(defaults, Messages.ClaimResizeSuccess, "Claim resized. {0} available claim blocks remaining.", "0: remaining blocks"); this.addDefault(defaults, Messages.ResizeFailOverlap, "Can't resize here because it would overlap another nearby claim.", null); this.addDefault(defaults, Messages.ResizeStart, "Resizing claim. Use your shovel again at the new location for this corner.", null); this.addDefault(defaults, Messages.ResizeFailOverlapSubdivision, "You can't create a subdivision here because it would overlap another subdivision. Consider /abandonclaim to delete it, or use your shovel at a corner to resize it.", null); diff --git a/src/me/ryanhamshire/GriefPrevention/PlayerEventHandler.java b/src/me/ryanhamshire/GriefPrevention/PlayerEventHandler.java index bd09133..4e1bfc1 100644 --- a/src/me/ryanhamshire/GriefPrevention/PlayerEventHandler.java +++ b/src/me/ryanhamshire/GriefPrevention/PlayerEventHandler.java @@ -1897,8 +1897,29 @@ class PlayerEventHandler implements Listener if(result.succeeded) { - //inform and show the player - GriefPrevention.sendMessage(player, TextMode.Success, Messages.ClaimResizeSuccess, String.valueOf(playerData.getRemainingClaimBlocks())); + //decide how many claim blocks are available for more resizing + int claimBlocksRemaining = 0; + if(!playerData.claimResizing.isAdminClaim()) + { + if(playerData.claimResizing.ownerID == player.getUniqueId()) + { + claimBlocksRemaining = playerData.getRemainingClaimBlocks(); + } + else + { + UUID ownerID = playerData.claimResizing.ownerID; + PlayerData ownerData = this.dataStore.getPlayerData(ownerID); + claimBlocksRemaining = ownerData.getRemainingClaimBlocks(); + OfflinePlayer owner = GriefPrevention.instance.getServer().getOfflinePlayer(ownerID); + if(!owner.isOnline()) + { + this.dataStore.clearCachedPlayerData(ownerID); + } + } + } + + //inform about success, visualize, communicate remaining blocks available + GriefPrevention.sendMessage(player, TextMode.Success, Messages.ClaimResizeSuccess, String.valueOf(claimBlocksRemaining)); Visualization visualization = Visualization.FromClaim(result.claim, clickedBlock.getY(), VisualizationType.Claim, player.getLocation()); Visualization.Apply(player, visualization);