From fbd856cc64fe8c2b4ac9238b5fc31564832a65f2 Mon Sep 17 00:00:00 2001 From: ryanhamshire Date: Wed, 16 Dec 2015 14:27:06 -0800 Subject: [PATCH] Eavesdrop Immunity Permission --- plugin.yml | 4 ++++ .../GriefPrevention/PlayerEventHandler.java | 10 +++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/plugin.yml b/plugin.yml index 661c96a..dd37294 100644 --- a/plugin.yml +++ b/plugin.yml @@ -217,6 +217,7 @@ permissions: griefprevention.claimbook: true griefprevention.notignorable: true griefprevention.seeinactivity: true + griefprevention.eavesdropimmune: true griefprevention.siegeimmune: description: Makes a player immune to /Siege. default: op @@ -307,3 +308,6 @@ permissions: griefprevention.seeinactivity: description: Players with this permission can see how long a claim owner has been offline. default: op + griefprevention.eavesdropimmune: + description: Players with this permission can't have their private messages eavesdropped. + default: op diff --git a/src/me/ryanhamshire/GriefPrevention/PlayerEventHandler.java b/src/me/ryanhamshire/GriefPrevention/PlayerEventHandler.java index b755ac4..37be30a 100644 --- a/src/me/ryanhamshire/GriefPrevention/PlayerEventHandler.java +++ b/src/me/ryanhamshire/GriefPrevention/PlayerEventHandler.java @@ -505,11 +505,11 @@ class PlayerEventHandler implements Listener return; } - //if eavesdrop enabled and sender doesn't have the eavesdrop permission, eavesdrop - if(GriefPrevention.instance.config_whisperNotifications && !player.hasPermission("griefprevention.eavesdrop")) + //if eavesdrop enabled and sender doesn't have the eavesdrop immunity permission, eavesdrop + if(GriefPrevention.instance.config_whisperNotifications && !player.hasPermission("griefprevention.eavesdropimmune")) { - //except for when the recipient has eavesdrop permission - if(targetPlayer == null || !targetPlayer.hasPermission("griefprevention.eavesdrop")) + //except for when the recipient has eavesdrop immunity + if(targetPlayer == null || !targetPlayer.hasPermission("griefprevention.eavesdropimmune")) { StringBuilder logMessageBuilder = new StringBuilder(); logMessageBuilder.append("[[").append(event.getPlayer().getName()).append("]] "); @@ -524,7 +524,7 @@ class PlayerEventHandler implements Listener Collection players = (Collection)GriefPrevention.instance.getServer().getOnlinePlayers(); for(Player onlinePlayer : players) { - if(onlinePlayer.hasPermission("griefprevention.eavesdrop") && !onlinePlayer.equals(targetPlayer)) + if(onlinePlayer.hasPermission("griefprevention.eavesdrop") && !onlinePlayer.equals(targetPlayer) && !onlinePlayer.equals(player)) { onlinePlayer.sendMessage(ChatColor.GRAY + logMessage); }