From f173ae9ddcb7f3c2b80a2d73abb702bae7ce9fde Mon Sep 17 00:00:00 2001 From: RoboMWM Date: Sun, 20 Nov 2016 17:29:53 -0800 Subject: [PATCH] Let's not deliver 6 times the intended claim blocks Thanks Billy --- .../DeliverClaimBlocksTask.java | 8 ++------ .../events/AccrueClaimBlocksEvent.java | 19 +++++++++++++++++-- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/src/me/ryanhamshire/GriefPrevention/DeliverClaimBlocksTask.java b/src/me/ryanhamshire/GriefPrevention/DeliverClaimBlocksTask.java index 699776a..2dc16c9 100644 --- a/src/me/ryanhamshire/GriefPrevention/DeliverClaimBlocksTask.java +++ b/src/me/ryanhamshire/GriefPrevention/DeliverClaimBlocksTask.java @@ -77,12 +77,7 @@ class DeliverClaimBlocksTask implements Runnable { //determine how fast blocks accrue for this player //RoboMWM: addons determine this instead int accrualRate = instance.config_claims_blocksAccruedPerHour_default; -// if(player.hasPermission("griefprevention.fastestaccrual")) accrualRate = GriefPrevention.instance.config_claims_blocksAccruedPerHour_fastest; -// else if(player.hasPermission("griefprevention.fasteraccrual")) accrualRate = GriefPrevention.instance.config_claims_blocksAccruedPerHour_faster; - - //add blocks - int accruedBlocks = accrualRate / 6; - if(accruedBlocks < 0) accruedBlocks = 1; + AccrueClaimBlocksEvent event = new AccrueClaimBlocksEvent(player, accrualRate); instance.getServer().getPluginManager().callEvent(event); if (event.isCancelled()) @@ -90,6 +85,7 @@ class DeliverClaimBlocksTask implements Runnable GriefPrevention.AddLogEntry(player.getName() + " claim block delivery was canceled by another plugin.", CustomLogEntryTypes.Debug, true); return; } + playerData.accrueBlocks(event.getBlocksToAccrue()); GriefPrevention.AddLogEntry("Delivering " + accruedBlocks + " blocks to " + player.getName(), CustomLogEntryTypes.Debug, true); diff --git a/src/me/ryanhamshire/GriefPrevention/events/AccrueClaimBlocksEvent.java b/src/me/ryanhamshire/GriefPrevention/events/AccrueClaimBlocksEvent.java index 55ab949..e9fd44c 100644 --- a/src/me/ryanhamshire/GriefPrevention/events/AccrueClaimBlocksEvent.java +++ b/src/me/ryanhamshire/GriefPrevention/events/AccrueClaimBlocksEvent.java @@ -29,7 +29,8 @@ public class AccrueClaimBlocksEvent extends Event public AccrueClaimBlocksEvent(Player player, int blocksToAccrue) { this.player = player; - this.blocksToAccrue = blocksToAccrue; + if(blocksToAccrue < 0) blocksToAccrue = 1; + this.blocksToAccrue = blocksToAccrue / 6; } public Player getPlayer() @@ -37,6 +38,10 @@ public class AccrueClaimBlocksEvent extends Event return this.player; } + /** + * Gets the amount of claim blocks GP will deliver to the player for this 10 minute interval + * @return + */ public int getBlocksToAccrue() { return this.blocksToAccrue; @@ -48,7 +53,7 @@ public class AccrueClaimBlocksEvent extends Event } /** - * Modify the amount of claim blocks to deliver to the player + * Modify the amount of claim blocks to deliver to the player for this 10 minute interval * @param blocksToAccrue blocks to deliver */ public void setBlocksToAccrue(int blocksToAccrue) @@ -56,6 +61,16 @@ public class AccrueClaimBlocksEvent extends Event this.blocksToAccrue = blocksToAccrue; } + /** + * Similar to setBlocksToAccrue(int), but automatically converting from a per-hour rate value to a 10-minute rate value + * @param blocksToAccruePerHour the per-hour rate of blocks to deliver + */ + + public void setBlocksToAccruePerHour(int blocksToAccruePerHour) + { + this.blocksToAccrue = blocksToAccruePerHour / 6; + } + public void setCancelled(boolean cancel) { this.cancelled = cancel;