From 94a798ca458883edbae045ad08f4c2eb77601724 Mon Sep 17 00:00:00 2001 From: fullwall Date: Sat, 8 Jul 2023 21:40:32 +0800 Subject: [PATCH] Enforce controllable permission for players --- .../main/java/net/citizensnpcs/trait/Controllable.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/main/src/main/java/net/citizensnpcs/trait/Controllable.java b/main/src/main/java/net/citizensnpcs/trait/Controllable.java index d4473194b..da97a24a5 100644 --- a/main/src/main/java/net/citizensnpcs/trait/Controllable.java +++ b/main/src/main/java/net/citizensnpcs/trait/Controllable.java @@ -88,9 +88,14 @@ public class Controllable extends Trait implements Toggleable, CommandConfigurab } return; } - if (ownerRequired && !npc.getOrAddTrait(Owner.class).isOwnedBy(player)) { + if (!player.hasPermission( + "citizens.npc.controllable." + npc.getEntity().getType().name().toLowerCase().replace("_", "")) + || !player.hasPermission("citizens.npc.controllable")) return; - } + + if (ownerRequired && !npc.getOrAddTrait(Owner.class).isOwnedBy(player)) + return; + NMS.mount(npc.getEntity(), player); }