Added per-defender /siege cooldown.
15 minutes to rebuild, log out, relocate, etc.
This commit is contained in:
parent
e353afb1a7
commit
ae9d57e6ed
|
|
@ -849,6 +849,7 @@ public abstract class DataStore
|
||||||
|
|
||||||
PlayerData defenderData = this.getPlayerData(siegeData.defender.getUniqueId());
|
PlayerData defenderData = this.getPlayerData(siegeData.defender.getUniqueId());
|
||||||
defenderData.siegeData = null;
|
defenderData.siegeData = null;
|
||||||
|
defenderData.lastSiegeEndTimeStamp = System.currentTimeMillis();
|
||||||
|
|
||||||
//start a cooldown for this attacker/defender pair
|
//start a cooldown for this attacker/defender pair
|
||||||
Long now = Calendar.getInstance().getTimeInMillis();
|
Long now = Calendar.getInstance().getTimeInMillis();
|
||||||
|
|
@ -946,6 +947,17 @@ public abstract class DataStore
|
||||||
this.siegeCooldownRemaining.remove(attacker.getName() + "_" + defender.getName());
|
this.siegeCooldownRemaining.remove(attacker.getName() + "_" + defender.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//look for genderal defender cooldown
|
||||||
|
PlayerData defenderData = this.getPlayerData(defender.getUniqueId());
|
||||||
|
if(defenderData.lastSiegeEndTimeStamp > 0)
|
||||||
|
{
|
||||||
|
long now = System.currentTimeMillis();
|
||||||
|
if(now - defenderData.lastSiegeEndTimeStamp > 1000 * 60 * 15) //15 minutes in milliseconds
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//look for an attacker/claim cooldown
|
//look for an attacker/claim cooldown
|
||||||
if(cooldownEnd == null && this.siegeCooldownRemaining.get(attacker.getName() + "_" + defenderClaim.getOwnerName()) != null)
|
if(cooldownEnd == null && this.siegeCooldownRemaining.get(attacker.getName() + "_" + defenderClaim.getOwnerName()) != null)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -79,6 +79,9 @@ public class PlayerData
|
||||||
//timestamp of last death, for use in preventing death message spam
|
//timestamp of last death, for use in preventing death message spam
|
||||||
long lastDeathTimeStamp = 0;
|
long lastDeathTimeStamp = 0;
|
||||||
|
|
||||||
|
//timestamp when last siege ended (where this player was the defender)
|
||||||
|
long lastSiegeEndTimeStamp = 0;
|
||||||
|
|
||||||
//whether the player was kicked (set and used during logout)
|
//whether the player was kicked (set and used during logout)
|
||||||
boolean wasKicked = false;
|
boolean wasKicked = false;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user