Reduced frequency of "building outside claims".
Added a 10 minute cooldown period and administrators (those who can create admin claims) won't see it at all.
This commit is contained in:
parent
c26e0b3160
commit
696df595bd
|
|
@ -271,23 +271,30 @@ public class BlockEventHandler implements Listener
|
||||||
//FEATURE: warn players when they're placing non-trash blocks outside of their claimed areas
|
//FEATURE: warn players when they're placing non-trash blocks outside of their claimed areas
|
||||||
else if(!this.trashBlocks.contains(block.getType()) && GriefPrevention.instance.claimsEnabledForWorld(block.getWorld()))
|
else if(!this.trashBlocks.contains(block.getType()) && GriefPrevention.instance.claimsEnabledForWorld(block.getWorld()))
|
||||||
{
|
{
|
||||||
if(!playerData.warnedAboutBuildingOutsideClaims
|
if(!playerData.warnedAboutBuildingOutsideClaims && !player.hasPermission("griefprevention.adminclaims")
|
||||||
&& ((playerData.lastClaim == null && playerData.getClaims().size() == 0)
|
&& ((playerData.lastClaim == null && playerData.getClaims().size() == 0)
|
||||||
|| (playerData.lastClaim != null && playerData.lastClaim.isNear(player.getLocation(), 15))))
|
|| (playerData.lastClaim != null && playerData.lastClaim.isNear(player.getLocation(), 15))))
|
||||||
{
|
{
|
||||||
GriefPrevention.sendMessage(player, TextMode.Warn, Messages.BuildingOutsideClaims);
|
Long now = null;
|
||||||
playerData.warnedAboutBuildingOutsideClaims = true;
|
if(playerData.buildWarningTimestamp == null || (now = System.currentTimeMillis()) - playerData.buildWarningTimestamp > 600000) //10 minute cooldown
|
||||||
|
{
|
||||||
if(playerData.getClaims().size() < 2)
|
GriefPrevention.sendMessage(player, TextMode.Warn, Messages.BuildingOutsideClaims);
|
||||||
{
|
playerData.warnedAboutBuildingOutsideClaims = true;
|
||||||
GriefPrevention.sendMessage(player, TextMode.Instr, Messages.SurvivalBasicsVideo2, DataStore.SURVIVAL_VIDEO_URL);
|
|
||||||
}
|
if(now == null) now = System.currentTimeMillis();
|
||||||
|
playerData.buildWarningTimestamp = now;
|
||||||
if(playerData.lastClaim != null)
|
|
||||||
{
|
if(playerData.getClaims().size() < 2)
|
||||||
Visualization visualization = Visualization.FromClaim(playerData.lastClaim, block.getY(), VisualizationType.Claim, player.getLocation());
|
{
|
||||||
Visualization.Apply(player, visualization);
|
GriefPrevention.sendMessage(player, TextMode.Instr, Messages.SurvivalBasicsVideo2, DataStore.SURVIVAL_VIDEO_URL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(playerData.lastClaim != null)
|
||||||
|
{
|
||||||
|
Visualization visualization = Visualization.FromClaim(playerData.lastClaim, block.getY(), VisualizationType.Claim, player.getLocation());
|
||||||
|
Visualization.Apply(player, visualization);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -125,6 +125,9 @@ public class PlayerData
|
||||||
//player which a pet will be given to when it's right-clicked
|
//player which a pet will be given to when it's right-clicked
|
||||||
OfflinePlayer petGiveawayRecipient = null;
|
OfflinePlayer petGiveawayRecipient = null;
|
||||||
|
|
||||||
|
//timestamp for last "you're building outside your land claims" message
|
||||||
|
Long buildWarningTimestamp = null;
|
||||||
|
|
||||||
//whether or not this player is "in" pvp combat
|
//whether or not this player is "in" pvp combat
|
||||||
public boolean inPvpCombat()
|
public boolean inPvpCombat()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user