From 83d0e0d9a03c1c65a6dd2f2e9886f7b430210ef9 Mon Sep 17 00:00:00 2001 From: Josh Roy <10731363+JRoy@users.noreply.github.com> Date: Tue, 28 Sep 2021 21:43:22 -0400 Subject: [PATCH] Add permissions to receive certain channel channels --- .../chat/EssentialsChatPlayerListenerNormal.java | 7 ++++--- EssentialsChat/src/main/resources/plugin.yml | 6 ++++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/EssentialsChat/src/main/java/com/earth2me/essentials/chat/EssentialsChatPlayerListenerNormal.java b/EssentialsChat/src/main/java/com/earth2me/essentials/chat/EssentialsChatPlayerListenerNormal.java index fc77e2341..9fa34b672 100644 --- a/EssentialsChat/src/main/java/com/earth2me/essentials/chat/EssentialsChatPlayerListenerNormal.java +++ b/EssentialsChat/src/main/java/com/earth2me/essentials/chat/EssentialsChatPlayerListenerNormal.java @@ -50,15 +50,16 @@ public class EssentialsChatPlayerListenerNormal extends EssentialsChatPlayer { event.setCancelled(true); return; } + event.getRecipients().removeIf(player -> !ess.getUser(player).isAuthorized("essentials.chat.receive.local")); } else { - final StringBuilder permission = new StringBuilder(); - permission.append("essentials.chat.").append(chatStore.getType()); + final String permission = "essentials.chat." + chatStore.getType(); - if (user.isAuthorized(permission.toString())) { + if (user.isAuthorized(permission)) { if (event.getMessage().charAt(0) == ess.getSettings().getChatShout() || event.getMessage().charAt(0) == ess.getSettings().getChatQuestion()) { event.setMessage(event.getMessage().substring(1)); } event.setFormat(tl(chatStore.getType() + "Format", event.getFormat())); + event.getRecipients().removeIf(player -> !ess.getUser(player).isAuthorized("essentials.chat.receive." + chatStore.getType())); return; } diff --git a/EssentialsChat/src/main/resources/plugin.yml b/EssentialsChat/src/main/resources/plugin.yml index 632644568..ab1d85c5a 100644 --- a/EssentialsChat/src/main/resources/plugin.yml +++ b/EssentialsChat/src/main/resources/plugin.yml @@ -16,3 +16,9 @@ commands: permissions: essentials.chat.local: default: true + essentials.chat.receive.local: + default: true + essentials.chat.receive.shout: + default: true + essentials.chat.receive.question: + default: true