From 6fd768992acb8b3ce7ff12d48cd40beec607b95b Mon Sep 17 00:00:00 2001 From: fullwall Date: Tue, 1 Aug 2023 23:18:45 +0800 Subject: [PATCH] Tweak remove --owner --- .../java/net/citizensnpcs/commands/NPCCommands.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/main/src/main/java/net/citizensnpcs/commands/NPCCommands.java b/main/src/main/java/net/citizensnpcs/commands/NPCCommands.java index 7e04ff02c..fd1d375c5 100644 --- a/main/src/main/java/net/citizensnpcs/commands/NPCCommands.java +++ b/main/src/main/java/net/citizensnpcs/commands/NPCCommands.java @@ -2395,11 +2395,19 @@ public class NPCCommands { @Flag("eid") UUID eid, @Flag("world") String world, @Arg(value = 1, completions = "all") String action) throws CommandException { if (owner != null) { - Player playerOwner = Bukkit.getPlayerExact(owner); + UUID uuid = null; + try { + uuid = UUID.fromString(owner); + } catch (IllegalArgumentException ex) { + try { + uuid = Bukkit.getOfflinePlayer(owner).getUniqueId(); + } catch (Exception e) { + } + } for (NPC rem : Lists.newArrayList(CitizensAPI.getNPCRegistry())) { if (!rem.getOrAddTrait(Owner.class).isOwnedBy(sender)) continue; - if (playerOwner != null && rem.getOrAddTrait(Owner.class).isOwnedBy(playerOwner)) { + if (uuid != null && rem.getOrAddTrait(Owner.class).isOwnedBy(uuid)) { history.add(sender, new RemoveNPCHistoryItem(rem)); rem.destroy(sender); } else if (rem.getOrAddTrait(Owner.class).isOwnedBy(owner)) {