From 67510c43a5b4beb8590ebe855052448e910aabb9 Mon Sep 17 00:00:00 2001 From: fullwall Date: Thu, 11 Jun 2020 23:31:14 +0800 Subject: [PATCH] Add missing permission error to /npc command --permission --- .../main/java/net/citizensnpcs/trait/CommandTrait.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/main/src/main/java/net/citizensnpcs/trait/CommandTrait.java b/main/src/main/java/net/citizensnpcs/trait/CommandTrait.java index 1c0fa6a79..de961912d 100644 --- a/main/src/main/java/net/citizensnpcs/trait/CommandTrait.java +++ b/main/src/main/java/net/citizensnpcs/trait/CommandTrait.java @@ -19,6 +19,7 @@ import com.google.common.io.ByteArrayDataOutput; import com.google.common.io.ByteStreams; import net.citizensnpcs.api.CitizensAPI; +import net.citizensnpcs.api.command.CommandMessages; import net.citizensnpcs.api.npc.NPC; import net.citizensnpcs.api.persistence.DelegatePersistence; import net.citizensnpcs.api.persistence.Persist; @@ -137,8 +138,7 @@ public class CommandTrait extends Trait { @Override public void run() { PlayerNPCCommand info = cooldowns.get(player.getUniqueId().toString()); - if (info == null && (command.cooldown > 0 || command.n > 0 - || (command.perms != null && command.perms.size() > 0) || sequential)) { + if (info == null && (sequential || PlayerNPCCommand.requiresTracking(command))) { cooldowns.put(player.getUniqueId().toString(), info = new PlayerNPCCommand()); } if (info != null && !info.canUse(player, command)) { @@ -367,6 +367,7 @@ public class CommandTrait extends Trait { public boolean canUse(Player player, NPCCommand command) { for (String perm : command.perms) { if (!player.hasPermission(perm)) { + Messaging.sendErrorTr(player, CommandMessages.NO_PERMISSION); return false; } } @@ -390,6 +391,10 @@ public class CommandTrait extends Trait { lastUsedId = command.id; return true; } + + public static boolean requiresTracking(NPCCommand command) { + return command.cooldown > 0 || command.n > 0 || (command.perms != null && command.perms.size() > 0); + } } private static class PlayerNPCCommandPersister implements Persister {