From a42812c4c4505aa7a13aeec6e9ffacea91330bbf Mon Sep 17 00:00:00 2001 From: fullwall Date: Sat, 4 Nov 2023 12:47:07 +0800 Subject: [PATCH] Add /npc skin -s --- .../java/net/citizensnpcs/commands/NPCCommands.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/main/src/main/java/net/citizensnpcs/commands/NPCCommands.java b/main/src/main/java/net/citizensnpcs/commands/NPCCommands.java index 38f9710bd..78947a936 100644 --- a/main/src/main/java/net/citizensnpcs/commands/NPCCommands.java +++ b/main/src/main/java/net/citizensnpcs/commands/NPCCommands.java @@ -2849,6 +2849,17 @@ public class NPCCommands { trait.setSkinPersistent(args.getString(1), args.getString(3), args.getString(2)); Messaging.sendTr(sender, Messages.SKIN_SET, npc.getName(), args.getString(1)); return; + } else if (args.hasFlag('s') && npc.getEntity() instanceof Player) { + ItemStack is = new ItemStack(Material.PLAYER_HEAD); + SkullMeta sm = (SkullMeta) is.getItemMeta(); + NMS.setProfile(sm, NMS.getProfile((Player) npc.getEntity())); + is.setItemMeta(sm); + if (sender instanceof Player && ((Player) sender).getInventory().addItem(is).isEmpty()) { + } else if (args.getSenderLocation() != null) { + args.getSenderLocation().getWorld().dropItem(args.getSenderLocation(), is); + } else { + throw new ServerCommandException(); + } } else { if (args.argsLength() != 2) throw new CommandException(Messages.SKIN_REQUIRED);