diff --git a/src/me/ryanhamshire/GriefPrevention/GriefPrevention.java b/src/me/ryanhamshire/GriefPrevention/GriefPrevention.java index e695202..2147c74 100644 --- a/src/me/ryanhamshire/GriefPrevention/GriefPrevention.java +++ b/src/me/ryanhamshire/GriefPrevention/GriefPrevention.java @@ -35,6 +35,7 @@ import java.util.regex.Pattern; import me.ryanhamshire.GriefPrevention.DataStore.NoTransferException; import net.milkbowl.vault.economy.Economy; +import org.bukkit.Achievement; import org.bukkit.ChatColor; import org.bukkit.Chunk; import org.bukkit.GameMode; @@ -3041,4 +3042,14 @@ public class GriefPrevention extends JavaPlugin if(configSetting != null) return configSetting; return world.getPVP(); } + + public static boolean isNewToServer(Player player) + { + if(player.hasAchievement(Achievement.MINE_WOOD)) return false; + + PlayerData playerData = instance.dataStore.getPlayerData(player.getUniqueId()); + if(playerData.getClaims().size() > 0) return false; + + return true; + } } \ No newline at end of file diff --git a/src/me/ryanhamshire/GriefPrevention/PlayerEventHandler.java b/src/me/ryanhamshire/GriefPrevention/PlayerEventHandler.java index 85ec33f..070b447 100644 --- a/src/me/ryanhamshire/GriefPrevention/PlayerEventHandler.java +++ b/src/me/ryanhamshire/GriefPrevention/PlayerEventHandler.java @@ -151,7 +151,7 @@ class PlayerEventHandler implements Listener recipients.add(player); //if player not new warn for the first infraction per play session. - if(player.hasAchievement(Achievement.MINE_WOOD)) + if(!GriefPrevention.isNewToServer(player)) { PlayerData playerData = GriefPrevention.instance.dataStore.getPlayerData(player.getUniqueId()); if(!playerData.profanityWarned) @@ -690,7 +690,7 @@ class PlayerEventHandler implements Listener this.lastLoginThisServerSessionMap.put(playerID, nowDate); //if newish, prevent chat until he's moved a bit to prove he's not a bot - if(!player.hasAchievement(Achievement.MINE_WOOD)) + if(GriefPrevention.isNewToServer(player)) { playerData.noChatLocation = player.getLocation(); } @@ -920,7 +920,7 @@ class PlayerEventHandler implements Listener this.dataStore.clearCachedPlayerData(playerID); //reduce count of players with that player's IP address - if(GriefPrevention.instance.config_ipLimit > 0 && !player.hasAchievement(Achievement.MINE_WOOD)) + if(GriefPrevention.instance.config_ipLimit > 0 && GriefPrevention.isNewToServer(player)) { InetAddress ipAddress = playerData.ipAddress; if(ipAddress != null)