Add permissions to receive certain channel channels

This commit is contained in:
Josh Roy 2021-09-28 21:43:22 -04:00
parent 2f5c24d114
commit 83d0e0d9a0
2 changed files with 10 additions and 3 deletions

View File

@ -50,15 +50,16 @@ public class EssentialsChatPlayerListenerNormal extends EssentialsChatPlayer {
event.setCancelled(true); event.setCancelled(true);
return; return;
} }
event.getRecipients().removeIf(player -> !ess.getUser(player).isAuthorized("essentials.chat.receive.local"));
} else { } else {
final StringBuilder permission = new StringBuilder(); final String permission = "essentials.chat." + chatStore.getType();
permission.append("essentials.chat.").append(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()) { if (event.getMessage().charAt(0) == ess.getSettings().getChatShout() || event.getMessage().charAt(0) == ess.getSettings().getChatQuestion()) {
event.setMessage(event.getMessage().substring(1)); event.setMessage(event.getMessage().substring(1));
} }
event.setFormat(tl(chatStore.getType() + "Format", event.getFormat())); event.setFormat(tl(chatStore.getType() + "Format", event.getFormat()));
event.getRecipients().removeIf(player -> !ess.getUser(player).isAuthorized("essentials.chat.receive." + chatStore.getType()));
return; return;
} }

View File

@ -16,3 +16,9 @@ commands:
permissions: permissions:
essentials.chat.local: essentials.chat.local:
default: true default: true
essentials.chat.receive.local:
default: true
essentials.chat.receive.shout:
default: true
essentials.chat.receive.question:
default: true