public long runMechScript(String path, CustomObject obj, String value) { CustomScriptContainer csc = this; while (csc != null) { if (csc.contains("mechanisms." + path)) { ScriptQueue queue = InstantQueue.getQueue( ScriptQueue.getNextId("MECH_" + csc.getName() + "_" + path + "__")); List<ScriptEntry> listOfEntries = csc.getEntries( DenizenCore.getImplementation().getEmptyScriptEntryData(), "mechanisms." + path); long id = DetermineCommand.getNewId(); ScriptBuilder.addObjectToEntries(listOfEntries, "ReqId", id); CustomScriptContextSource cscs = new CustomScriptContextSource(); cscs.obj = obj; cscs.value = new Element(value); queue.setContextSource(cscs); queue.addEntries(listOfEntries); queue.start(); return id; } csc = ScriptRegistry.getScriptContainerAs(csc.inherit, CustomScriptContainer.class); } return -1; }
public long runTagScript(String path, CustomObject obj, ScriptEntryData data) { CustomScriptContainer csc = this; while (csc != null) { if (csc.contains("tags." + path)) { dB.echoDebug(this, "[CustomObject] Calculating tag: " + path + " for " + csc.getName()); ScriptQueue queue = InstantQueue.getQueue( ScriptQueue.getNextId("TAG_" + csc.getName() + "_" + path + "__")); List<ScriptEntry> listOfEntries = csc.getEntries(data, "tags." + path); long id = DetermineCommand.getNewId(); ScriptBuilder.addObjectToEntries(listOfEntries, "ReqId", id); CustomScriptContextSource cscs = new CustomScriptContextSource(); cscs.obj = obj; queue.setContextSource(cscs); queue.addEntries(listOfEntries); queue.start(); return id; } dB.echoDebug(this, "[CustomObject] Grabbing parent of " + csc.getName()); csc = ScriptRegistry.getScriptContainerAs(csc.inherit, CustomScriptContainer.class); } dB.echoDebug(this, "Unable to find tag handler for " + path + " for " + this.getName()); return -1; }