From 6c26f98080bae05ea40d39f8aa15b2cd45e922e8 Mon Sep 17 00:00:00 2001 From: fullwall Date: Mon, 22 Feb 2021 19:26:12 +0800 Subject: [PATCH] Add /npc create --registry --- .../java/net/citizensnpcs/commands/NPCCommands.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/main/src/main/java/net/citizensnpcs/commands/NPCCommands.java b/main/src/main/java/net/citizensnpcs/commands/NPCCommands.java index 36d8e672c..ed9dd97c7 100644 --- a/main/src/main/java/net/citizensnpcs/commands/NPCCommands.java +++ b/main/src/main/java/net/citizensnpcs/commands/NPCCommands.java @@ -449,7 +449,7 @@ public class NPCCommands { @Command( aliases = { "npc" }, - usage = "create [name] ((-b(aby),u(nspawned),s(ilent)) --at [x:y:z:world] --type [type] --trait ['trait1, trait2...'] --b [behaviours])", + usage = "create [name] ((-b(aby),u(nspawned),s(ilent)) --at [x:y:z:world] --type [type] --trait ['trait1, trait2...'] --registry [registry name])", desc = "Create a new NPC", flags = "bus", modifiers = { "create" }, @@ -480,8 +480,14 @@ public class NPCCommands { if (!sender.hasPermission("citizens.npc.create.*") && !sender.hasPermission("citizens.npc.createall") && !sender.hasPermission("citizens.npc.create." + type.name().toLowerCase().replace("_", ""))) throw new NoPermissionsException(); - - npc = CitizensAPI.getNPCRegistry().createNPC(type, name); + NPCRegistry registry = CitizensAPI.getNPCRegistry(); + if (args.hasValueFlag("registry")) { + registry = CitizensAPI.getNamedNPCRegistry(args.getFlag("registry")); + if (registry == null) { + throw new CommandException("Unknown NPC registry name"); + } + } + npc = registry.createNPC(type, name); String msg = "You created [[" + npc.getName() + "]] (ID [[" + npc.getId() + "]])"; int age = 0;