From 85d1bf8aeaa5917a7816c38b3b9b3e955f755019 Mon Sep 17 00:00:00 2001 From: mcmonkey4eva Date: Sun, 6 Oct 2013 15:57:34 -0700 Subject: [PATCH] Add tag npc.constant[constant_name] --- .../net/aufdemrand/denizen/objects/dNPC.java | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/src/main/java/net/aufdemrand/denizen/objects/dNPC.java b/src/main/java/net/aufdemrand/denizen/objects/dNPC.java index 799b26d199..eb23aff3ee 100644 --- a/src/main/java/net/aufdemrand/denizen/objects/dNPC.java +++ b/src/main/java/net/aufdemrand/denizen/objects/dNPC.java @@ -2,10 +2,7 @@ import net.aufdemrand.denizen.flags.FlagManager; import net.aufdemrand.denizen.npc.dNPCRegistry; -import net.aufdemrand.denizen.npc.traits.AssignmentTrait; -import net.aufdemrand.denizen.npc.traits.HealthTrait; -import net.aufdemrand.denizen.npc.traits.NicknameTrait; -import net.aufdemrand.denizen.npc.traits.TriggerTrait; +import net.aufdemrand.denizen.npc.traits.*; import net.aufdemrand.denizen.scripts.commands.npc.EngageCommand; import net.aufdemrand.denizen.scripts.containers.core.InteractScriptContainer; import net.aufdemrand.denizen.scripts.containers.core.InteractScriptHelper; @@ -391,6 +388,26 @@ && getCitizen().getTrait(Anchors.class).getAnchor(attribute.getContext(1)) != nu else return "null"; } + // <--[tag] + // @attribute + // @returns Element + // @description + // returns the specified constant from the NPC. + // --> + if (attribute.startsWith("constant")) { + String constant_name; + if (attribute.hasContext(1)) { + if (getCitizen().hasTrait(ConstantsTrait.class) + && getCitizen().getTrait(ConstantsTrait.class).getConstant(attribute.getContext(1)) != null) { + return new Element(getCitizen().getTrait(ConstantsTrait.class) + .getConstant(attribute.getContext(1))).getAttribute(attribute.fulfill(1)); + } + else { + return "null"; + } + } + } + // <--[tag] // @attribute // @returns Element(number)