Let's not deliver 6 times the intended claim blocks

Thanks Billy
This commit is contained in:
RoboMWM 2016-11-20 17:29:53 -08:00
parent 409f2f7b33
commit f173ae9ddc
2 changed files with 19 additions and 8 deletions

View File

@ -77,12 +77,7 @@ class DeliverClaimBlocksTask implements Runnable
{ {
//determine how fast blocks accrue for this player //RoboMWM: addons determine this instead //determine how fast blocks accrue for this player //RoboMWM: addons determine this instead
int accrualRate = instance.config_claims_blocksAccruedPerHour_default; 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); AccrueClaimBlocksEvent event = new AccrueClaimBlocksEvent(player, accrualRate);
instance.getServer().getPluginManager().callEvent(event); instance.getServer().getPluginManager().callEvent(event);
if (event.isCancelled()) 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); GriefPrevention.AddLogEntry(player.getName() + " claim block delivery was canceled by another plugin.", CustomLogEntryTypes.Debug, true);
return; return;
} }
playerData.accrueBlocks(event.getBlocksToAccrue()); playerData.accrueBlocks(event.getBlocksToAccrue());
GriefPrevention.AddLogEntry("Delivering " + accruedBlocks + " blocks to " + player.getName(), CustomLogEntryTypes.Debug, true); GriefPrevention.AddLogEntry("Delivering " + accruedBlocks + " blocks to " + player.getName(), CustomLogEntryTypes.Debug, true);

View File

@ -29,7 +29,8 @@ public class AccrueClaimBlocksEvent extends Event
public AccrueClaimBlocksEvent(Player player, int blocksToAccrue) public AccrueClaimBlocksEvent(Player player, int blocksToAccrue)
{ {
this.player = player; this.player = player;
this.blocksToAccrue = blocksToAccrue; if(blocksToAccrue < 0) blocksToAccrue = 1;
this.blocksToAccrue = blocksToAccrue / 6;
} }
public Player getPlayer() public Player getPlayer()
@ -37,6 +38,10 @@ public class AccrueClaimBlocksEvent extends Event
return this.player; return this.player;
} }
/**
* Gets the amount of claim blocks GP will deliver to the player for this 10 minute interval
* @return
*/
public int getBlocksToAccrue() public int getBlocksToAccrue()
{ {
return this.blocksToAccrue; 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 * @param blocksToAccrue blocks to deliver
*/ */
public void setBlocksToAccrue(int blocksToAccrue) public void setBlocksToAccrue(int blocksToAccrue)
@ -56,6 +61,16 @@ public class AccrueClaimBlocksEvent extends Event
this.blocksToAccrue = blocksToAccrue; 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) public void setCancelled(boolean cancel)
{ {
this.cancelled = cancel; this.cancelled = cancel;