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
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);

View File

@ -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;