From 6ea919cb60b797e3f0a60670dd3915e6e33e8939 Mon Sep 17 00:00:00 2001 From: "Alex \"mcmonkey\" Goodwin" Date: Tue, 18 Jan 2022 13:06:46 -0800 Subject: [PATCH] remove despawned npcs properly --- .../main/java/com/denizenscript/denizen/objects/EntityTag.java | 2 +- .../denizen/scripts/commands/entity/RemoveCommand.java | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/plugin/src/main/java/com/denizenscript/denizen/objects/EntityTag.java b/plugin/src/main/java/com/denizenscript/denizen/objects/EntityTag.java index ec7af0e3a8..99f4915ffd 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/objects/EntityTag.java +++ b/plugin/src/main/java/com/denizenscript/denizen/objects/EntityTag.java @@ -1226,7 +1226,7 @@ public String toString() { @Override public boolean isUnique() { - return entity != null || uuid != null || isFake; + return entity != null || uuid != null || isFake || npc != null; } public LocationTag doLocationTag(Attribute attribute) { diff --git a/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/entity/RemoveCommand.java b/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/entity/RemoveCommand.java index 4113984520..b4f7a40f6f 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/entity/RemoveCommand.java +++ b/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/entity/RemoveCommand.java @@ -62,7 +62,9 @@ public void parseArgs(ScriptEntry scriptEntry) throws InvalidArgumentsException for (Argument arg : scriptEntry) { if (!scriptEntry.hasObject("entities") && arg.matchesArgumentList(EntityTag.class)) { + EntityTag.allowDespawnedNpcs = true; scriptEntry.addObject("entities", arg.asType(ListTag.class).filter(EntityTag.class, scriptEntry)); + EntityTag.allowDespawnedNpcs = false; } else if (!scriptEntry.hasObject("world") && arg.matchesArgumentType(WorldTag.class)) {