Avoid unnecessary call to setAccruedClaimBlocks when AbandonReturRatio is set to 1.0

This commit is contained in:
RoboMWM 2018-08-17 17:25:46 -07:00
parent d1adf26573
commit 59d0cfc56c

View File

@ -544,7 +544,7 @@ public class GriefPrevention extends JavaPlugin
this.config_claims_accruedIdleThreshold = config.getInt("GriefPrevention.Claims.AccruedIdleThreshold", 0); this.config_claims_accruedIdleThreshold = config.getInt("GriefPrevention.Claims.AccruedIdleThreshold", 0);
this.config_claims_accruedIdleThreshold = config.getInt("GriefPrevention.Claims.Accrued Idle Threshold", this.config_claims_accruedIdleThreshold); this.config_claims_accruedIdleThreshold = config.getInt("GriefPrevention.Claims.Accrued Idle Threshold", this.config_claims_accruedIdleThreshold);
this.config_claims_accruedIdlePercent = config.getInt("GriefPrevention.Claims.AccruedIdlePercent", 0); this.config_claims_accruedIdlePercent = config.getInt("GriefPrevention.Claims.AccruedIdlePercent", 0);
this.config_claims_abandonReturnRatio = config.getDouble("GriefPrevention.Claims.AbandonReturnRatio", 1); this.config_claims_abandonReturnRatio = config.getDouble("GriefPrevention.Claims.AbandonReturnRatio", 1.0D);
this.config_claims_automaticClaimsForNewPlayersRadius = config.getInt("GriefPrevention.Claims.AutomaticNewPlayerClaimsRadius", 4); this.config_claims_automaticClaimsForNewPlayersRadius = config.getInt("GriefPrevention.Claims.AutomaticNewPlayerClaimsRadius", 4);
this.config_claims_claimsExtendIntoGroundDistance = Math.abs(config.getInt("GriefPrevention.Claims.ExtendIntoGroundDistance", 5)); this.config_claims_claimsExtendIntoGroundDistance = Math.abs(config.getInt("GriefPrevention.Claims.ExtendIntoGroundDistance", 5));
this.config_claims_minWidth = config.getInt("GriefPrevention.Claims.MinimumWidth", 5); this.config_claims_minWidth = config.getInt("GriefPrevention.Claims.MinimumWidth", 5);
@ -1290,12 +1290,16 @@ public class GriefPrevention extends JavaPlugin
GriefPrevention.sendMessage(player, TextMode.Err, Messages.YouHaveNoClaims); GriefPrevention.sendMessage(player, TextMode.Err, Messages.YouHaveNoClaims);
return true; return true;
} }
//adjust claim blocks if (this.config_claims_abandonReturnRatio != 1.0D)
for(Claim claim : playerData.getClaims())
{ {
playerData.setAccruedClaimBlocks(playerData.getAccruedClaimBlocks() - (int)Math.ceil((claim.getArea() * (1 - this.config_claims_abandonReturnRatio)))); //adjust claim blocks
for(Claim claim : playerData.getClaims())
{
playerData.setAccruedClaimBlocks(playerData.getAccruedClaimBlocks() - (int)Math.ceil((claim.getArea() * (1 - this.config_claims_abandonReturnRatio))));
}
} }
//delete them //delete them
this.dataStore.deleteClaimsForPlayer(player.getUniqueId(), false); this.dataStore.deleteClaimsForPlayer(player.getUniqueId(), false);
@ -2855,9 +2859,9 @@ public class GriefPrevention extends JavaPlugin
GriefPrevention.sendMessage(player, TextMode.Warn, Messages.UnclaimCleanupWarning); GriefPrevention.sendMessage(player, TextMode.Warn, Messages.UnclaimCleanupWarning);
GriefPrevention.instance.restoreClaim(claim, 20L * 60 * 2); GriefPrevention.instance.restoreClaim(claim, 20L * 60 * 2);
} }
//adjust claim blocks when abandoning a top level claim //adjust claim blocks when abandoning a top level claim
if(claim.parent == null) if(this.config_claims_abandonReturnRatio != 1.0D && claim.parent == null)
{ {
playerData.setAccruedClaimBlocks(playerData.getAccruedClaimBlocks() - (int)Math.ceil((claim.getArea() * (1 - this.config_claims_abandonReturnRatio)))); playerData.setAccruedClaimBlocks(playerData.getAccruedClaimBlocks() - (int)Math.ceil((claim.getArea() * (1 - this.config_claims_abandonReturnRatio))));
} }