Program: 10170
Project: 10170
Buggy source:
public static void registerTags(){
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      if (attribute.hasContext(1)) {
        return new dList(((dCuboid)object).getBlocks(dList.valueOf(attribute.getContext(1)).filter(dMaterial.class))).getAttribute(attribute.fulfill(1));
      }
 else {
        return new dList(((dCuboid)object).getBlocks()).getAttribute(attribute.fulfill(1));
      }
    }
  }
);
  registerTag("String_Node_Str",registeredTags.get("String_Node_Str"));
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      return new Element(((dCuboid)object).pairs.size()).getAttribute(attribute.fulfill(1));
    }
  }
);
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      int member=attribute.getIntContext(1);
      if (member < 1) {
        member=1;
      }
      if (member > ((dCuboid)object).pairs.size()) {
        member=((dCuboid)object).pairs.size();
      }
      return new dCuboid(((dCuboid)object).pairs.get(member - 1).low,((dCuboid)object).pairs.get(member - 1).high).getAttribute(attribute.fulfill(1));
    }
  }
);
  registerTag("String_Node_Str",registeredTags.get("String_Node_Str"));
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      if (attribute.hasContext(1)) {
        return new dList(((dCuboid)object).getSpawnableBlocks(dList.valueOf(attribute.getContext(1)).filter(dMaterial.class))).getAttribute(attribute.fulfill(1));
      }
 else {
        return new dList(((dCuboid)object).getSpawnableBlocks()).getAttribute(attribute.fulfill(1));
      }
    }
  }
);
  registerTag("String_Node_Str",registeredTags.get("String_Node_Str"));
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      return new dList(((dCuboid)object).getOutline()).getAttribute(attribute.fulfill(1));
    }
  }
);
  registerTag("String_Node_Str",registeredTags.get("String_Node_Str"));
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      return new dList(((dCuboid)object).filter).getAttribute(attribute.fulfill(1));
    }
  }
);
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      if (!attribute.hasContext(1)) {
        dB.echoError("String_Node_Str");
        return null;
      }
      dCuboid cub2=dCuboid.valueOf(attribute.getContext(1));
      if (cub2 != null) {
        boolean intersects=false;
        whole_loop:         for (        LocationPair pair : ((dCuboid)object).pairs) {
          for (          LocationPair pair2 : cub2.pairs) {
            if (!pair.low.getWorld().getName().equalsIgnoreCase(pair2.low.getWorld().getName())) {
              return new Element("String_Node_Str").getAttribute(attribute.fulfill(1));
            }
            if (pair2.low.getX() <= pair.high.getX() && pair2.low.getY() <= pair.high.getY() && pair2.low.getZ() <= pair.high.getZ() && pair2.high.getX() >= pair.low.getX() && pair2.high.getY() >= pair.low.getY() && pair2.high.getZ() >= pair.low.getZ()) {
              intersects=true;
              break whole_loop;
            }
          }
        }
        return new Element(intersects).getAttribute(attribute.fulfill(1));
      }
      return null;
    }
  }
);
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      if (!attribute.hasContext(1)) {
        dB.echoError("String_Node_Str");
        return null;
      }
      dCuboid cub2=dCuboid.valueOf(attribute.getContext(1));
      if (cub2 != null) {
        boolean contains=true;
        for (        LocationPair pair2 : ((dCuboid)object).pairs) {
          boolean contained=false;
          for (          LocationPair pair : cub2.pairs) {
            if (!pair.low.getWorld().getName().equalsIgnoreCase(pair2.low.getWorld().getName())) {
              if (net.aufdemrand.denizencore.utilities.debugging.dB.verbose) {
                dB.log("String_Node_Str");
              }
              return new Element("String_Node_Str").getAttribute(attribute.fulfill(1));
            }
            if (pair2.low.getX() >= pair.low.getX() && pair2.low.getY() >= pair.low.getY() && pair2.low.getZ() >= pair.low.getZ() && pair2.high.getX() <= pair.high.getX() && pair2.high.getY() <= pair.high.getY() && pair2.high.getZ() <= pair.high.getZ()) {
              contained=true;
              break;
            }
          }
          if (!contained) {
            contains=false;
            break;
          }
        }
        return new Element(contains).getAttribute(attribute.fulfill(1));
      }
      return null;
    }
  }
);
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      LocationPair pair;
      if (!attribute.hasContext(1)) {
        pair=((dCuboid)object).pairs.get(0);
      }
 else {
        int member=attribute.getIntContext(1);
        if (member < 1) {
          member=1;
        }
        if (member > ((dCuboid)object).pairs.size()) {
          member=((dCuboid)object).pairs.size();
        }
        pair=((dCuboid)object).pairs.get(member - 1);
      }
      Location base=pair.high.clone().add(pair.low.clone());
      base.setX(base.getX() / 2);
      base.setY(base.getY() / 2);
      base.setZ(base.getZ() / 2);
      return new dLocation(base).getAttribute(attribute.fulfill(1));
    }
  }
);
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      LocationPair pair;
      if (!attribute.hasContext(1)) {
        pair=((dCuboid)object).pairs.get(0);
      }
 else {
        int member=attribute.getIntContext(1);
        if (member < 1) {
          member=1;
        }
        if (member > ((dCuboid)object).pairs.size()) {
          member=((dCuboid)object).pairs.size();
        }
        pair=((dCuboid)object).pairs.get(member - 1);
      }
      Location base=pair.high.clone().subtract(pair.low.clone()).add(1,1,1);
      return new dLocation(base).getAttribute(attribute.fulfill(1));
    }
  }
);
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      if (!attribute.hasContext(1)) {
        return ((dCuboid)object).pairs.get(0).high.getAttribute(attribute.fulfill(1));
      }
 else {
        int member=attribute.getIntContext(1);
        if (member < 1) {
          member=1;
        }
        if (member > ((dCuboid)object).pairs.size()) {
          member=((dCuboid)object).pairs.size();
        }
        return ((dCuboid)object).pairs.get(member - 1).high.getAttribute(attribute.fulfill(1));
      }
    }
  }
);
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      if (!attribute.hasContext(1)) {
        return ((dCuboid)object).pairs.get(0).low.getAttribute(attribute.fulfill(1));
      }
 else {
        int member=attribute.getIntContext(1);
        if (member < 1) {
          member=1;
        }
        if (member > ((dCuboid)object).pairs.size()) {
          member=((dCuboid)object).pairs.size();
        }
        return ((dCuboid)object).pairs.get(member - 1).low.getAttribute(attribute.fulfill(1));
      }
    }
  }
);
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      if (!attribute.hasContext(1)) {
        dB.echoError("String_Node_Str");
        return null;
      }
      try {
        dLocation loc=dLocation.valueOf(attribute.getContext(1));
        dCuboid cuboid=((dCuboid)object).clone();
        if (loc != null) {
          if (loc.getX() < cuboid.pairs.get(0).low.getX()) {
            cuboid.pairs.get(0).low=new dLocation(cuboid.pairs.get(0).low.getWorld(),loc.getX(),cuboid.pairs.get(0).low.getY(),cuboid.pairs.get(0).low.getZ());
          }
          if (loc.getY() < cuboid.pairs.get(0).low.getY()) {
            cuboid.pairs.get(0).low=new dLocation(cuboid.pairs.get(0).low.getWorld(),cuboid.pairs.get(0).low.getX(),loc.getY(),cuboid.pairs.get(0).low.getZ());
          }
          if (loc.getZ() < cuboid.pairs.get(0).low.getZ()) {
            cuboid.pairs.get(0).low=new dLocation(cuboid.pairs.get(0).low.getWorld(),cuboid.pairs.get(0).low.getX(),cuboid.pairs.get(0).low.getY(),loc.getZ());
          }
          if (loc.getX() > cuboid.pairs.get(0).high.getX()) {
            cuboid.pairs.get(0).high=new dLocation(cuboid.pairs.get(0).high.getWorld(),loc.getX(),cuboid.pairs.get(0).high.getY(),cuboid.pairs.get(0).high.getZ());
          }
          if (loc.getY() > cuboid.pairs.get(0).high.getY()) {
            cuboid.pairs.get(0).high=new dLocation(cuboid.pairs.get(0).high.getWorld(),cuboid.pairs.get(0).high.getX(),loc.getY(),cuboid.pairs.get(0).high.getZ());
          }
          if (loc.getZ() > cuboid.pairs.get(0).high.getZ()) {
            cuboid.pairs.get(0).high=new dLocation(cuboid.pairs.get(0).high.getWorld(),cuboid.pairs.get(0).high.getX(),cuboid.pairs.get(0).high.getY(),loc.getZ());
          }
          return cuboid.getAttribute(attribute.fulfill(1));
        }
      }
 catch (      CloneNotSupportedException ex) {
        dB.echoError(ex);
      }
      return null;
    }
  }
);
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      ArrayList<dPlayer> players=new ArrayList<dPlayer>();
      for (      Player player : Bukkit.getOnlinePlayers()) {
        if (((dCuboid)object).isInsideCuboid(player.getLocation())) {
          players.add(dPlayer.mirrorBukkitPlayer(player));
        }
      }
      return new dList(players).getAttribute(attribute.fulfill(1));
    }
  }
);
  if (Depends.citizens != null) {
    registerTag("String_Node_Str",new TagRunnable(){
      @Override public String run(      Attribute attribute,      dObject object){
        ArrayList<dNPC> npcs=new ArrayList<dNPC>();
        for (        NPC npc : CitizensAPI.getNPCRegistry()) {
          dNPC dnpc=dNPC.mirrorCitizensNPC(npc);
          if (((dCuboid)object).isInsideCuboid(dnpc.getLocation())) {
            npcs.add(dnpc);
          }
        }
        return new dList(npcs).getAttribute(attribute.fulfill(1));
      }
    }
);
  }
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      ArrayList<dEntity> entities=new ArrayList<dEntity>();
      dList types=new dList();
      if (attribute.hasContext(1)) {
        types=dList.valueOf(attribute.getContext(1));
      }
      for (      Entity ent : ((dCuboid)object).getWorld().getEntities()) {
        dEntity current=new dEntity(ent);
        if (ent.isValid() && ((dCuboid)object).isInsideCuboid(ent.getLocation())) {
          if (!types.isEmpty()) {
            for (            String type : types) {
              if (current.identifySimpleType().equalsIgnoreCase(type)) {
                entities.add(current);
                break;
              }
            }
          }
 else {
            entities.add(new dEntity(ent));
          }
        }
      }
      return new dList(entities).getAttribute(attribute.fulfill(1));
    }
  }
);
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      ArrayList<dEntity> entities=new ArrayList<dEntity>();
      for (      Entity ent : ((dCuboid)object).getWorld().getLivingEntities()) {
        if (ent.isValid() && ((dCuboid)object).isInsideCuboid(ent.getLocation()) && !dEntity.isCitizensNPC(ent)) {
          entities.add(new dEntity(ent));
        }
      }
      return new dList(entities).getAttribute(attribute.fulfill(1));
    }
  }
);
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      Set<Chunk> chunks=new HashSet<Chunk>();
      dCuboid obj=(dCuboid)object;
      for (      LocationPair pair : obj.pairs) {
        int minY=pair.low.getBlockY();
        Chunk minChunk=pair.low.getChunk();
        if (obj.isInsideCuboid(new Location(obj.getWorld(),minChunk.getX() * 16,minY,minChunk.getZ() * 16))) {
          chunks.add(minChunk);
        }
        Chunk maxChunk=pair.high.getChunk();
        if (obj.isInsideCuboid(new Location(obj.getWorld(),maxChunk.getX() * 16 + 15,minY,maxChunk.getZ() * 16 + 15))) {
          chunks.add(maxChunk);
        }
        dB.log("String_Node_Str" + minChunk.getX() + "String_Node_Str"+ minChunk.getZ());
        dB.log("String_Node_Str" + maxChunk.getX() + "String_Node_Str"+ maxChunk.getZ());
        for (int x=minChunk.getX() + 1; x <= maxChunk.getX() - 1; x++) {
          for (int z=minChunk.getZ() + 1; z <= maxChunk.getZ() - 1; z++) {
            chunks.add(obj.getWorld().getChunkAt(x,z));
          }
        }
      }
      dList list=new dList();
      for (      Chunk chunk : chunks) {
        list.add(new dChunk(chunk).identify());
      }
      return list.getAttribute(attribute.fulfill(1));
    }
  }
);
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      Set<Chunk> chunks=new HashSet<Chunk>();
      for (      LocationPair pair : ((dCuboid)object).pairs) {
        Chunk minChunk=pair.low.getChunk();
        Chunk maxChunk=pair.high.getChunk();
        dB.log("String_Node_Str" + minChunk.getX() + "String_Node_Str"+ minChunk.getZ());
        dB.log("String_Node_Str" + maxChunk.getX() + "String_Node_Str"+ maxChunk.getZ());
        for (int x=minChunk.getX(); x <= maxChunk.getX(); x++) {
          for (int z=minChunk.getZ(); z <= maxChunk.getZ(); z++) {
            chunks.add(((dCuboid)object).getWorld().getChunkAt(x,z));
          }
        }
      }
      dList list=new dList();
      for (      Chunk chunk : chunks) {
        list.add(new dChunk(chunk).identify());
      }
      return list.getAttribute(attribute.fulfill(1));
    }
  }
);
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      return new Element(NotableManager.getSavedId((dCuboid)object)).getAttribute(attribute.fulfill(1));
    }
  }
);
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      return new Element(((dCuboid)object).identifyFull()).getAttribute(attribute.fulfill(1));
    }
  }
);
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      return new Element("String_Node_Str").getAttribute(attribute.fulfill(1));
    }
  }
);
}

Fixed version (ground truth):
public static void registerTags(){
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      if (attribute.hasContext(1)) {
        return new dList(((dCuboid)object).getBlocks(dList.valueOf(attribute.getContext(1)).filter(dMaterial.class))).getAttribute(attribute.fulfill(1));
      }
 else {
        return new dList(((dCuboid)object).getBlocks()).getAttribute(attribute.fulfill(1));
      }
    }
  }
);
  registerTag("String_Node_Str",registeredTags.get("String_Node_Str"));
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      return new Element(((dCuboid)object).pairs.size()).getAttribute(attribute.fulfill(1));
    }
  }
);
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      int member=attribute.getIntContext(1);
      if (member < 1) {
        member=1;
      }
      if (member > ((dCuboid)object).pairs.size()) {
        member=((dCuboid)object).pairs.size();
      }
      return new dCuboid(((dCuboid)object).pairs.get(member - 1).low,((dCuboid)object).pairs.get(member - 1).high).getAttribute(attribute.fulfill(1));
    }
  }
);
  registerTag("String_Node_Str",registeredTags.get("String_Node_Str"));
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      if (attribute.hasContext(1)) {
        return new dList(((dCuboid)object).getSpawnableBlocks(dList.valueOf(attribute.getContext(1)).filter(dMaterial.class))).getAttribute(attribute.fulfill(1));
      }
 else {
        return new dList(((dCuboid)object).getSpawnableBlocks()).getAttribute(attribute.fulfill(1));
      }
    }
  }
);
  registerTag("String_Node_Str",registeredTags.get("String_Node_Str"));
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      return new dList(((dCuboid)object).getOutline()).getAttribute(attribute.fulfill(1));
    }
  }
);
  registerTag("String_Node_Str",registeredTags.get("String_Node_Str"));
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      return new dList(((dCuboid)object).filter).getAttribute(attribute.fulfill(1));
    }
  }
);
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      if (!attribute.hasContext(1)) {
        dB.echoError("String_Node_Str");
        return null;
      }
      dCuboid cub2=dCuboid.valueOf(attribute.getContext(1));
      if (cub2 != null) {
        boolean intersects=false;
        whole_loop:         for (        LocationPair pair : ((dCuboid)object).pairs) {
          for (          LocationPair pair2 : cub2.pairs) {
            if (!pair.low.getWorld().getName().equalsIgnoreCase(pair2.low.getWorld().getName())) {
              return new Element("String_Node_Str").getAttribute(attribute.fulfill(1));
            }
            if (pair2.low.getX() <= pair.high.getX() && pair2.low.getY() <= pair.high.getY() && pair2.low.getZ() <= pair.high.getZ() && pair2.high.getX() >= pair.low.getX() && pair2.high.getY() >= pair.low.getY() && pair2.high.getZ() >= pair.low.getZ()) {
              intersects=true;
              break whole_loop;
            }
          }
        }
        return new Element(intersects).getAttribute(attribute.fulfill(1));
      }
      return null;
    }
  }
);
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      if (!attribute.hasContext(1)) {
        dB.echoError("String_Node_Str");
        return null;
      }
      dCuboid cub2=dCuboid.valueOf(attribute.getContext(1));
      if (cub2 != null) {
        boolean contains=true;
        for (        LocationPair pair2 : ((dCuboid)object).pairs) {
          boolean contained=false;
          for (          LocationPair pair : cub2.pairs) {
            if (!pair.low.getWorld().getName().equalsIgnoreCase(pair2.low.getWorld().getName())) {
              if (net.aufdemrand.denizencore.utilities.debugging.dB.verbose) {
                dB.log("String_Node_Str");
              }
              return new Element("String_Node_Str").getAttribute(attribute.fulfill(1));
            }
            if (pair2.low.getX() >= pair.low.getX() && pair2.low.getY() >= pair.low.getY() && pair2.low.getZ() >= pair.low.getZ() && pair2.high.getX() <= pair.high.getX() && pair2.high.getY() <= pair.high.getY() && pair2.high.getZ() <= pair.high.getZ()) {
              contained=true;
              break;
            }
          }
          if (!contained) {
            contains=false;
            break;
          }
        }
        return new Element(contains).getAttribute(attribute.fulfill(1));
      }
      return null;
    }
  }
);
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      LocationPair pair;
      if (!attribute.hasContext(1)) {
        pair=((dCuboid)object).pairs.get(0);
      }
 else {
        int member=attribute.getIntContext(1);
        if (member < 1) {
          member=1;
        }
        if (member > ((dCuboid)object).pairs.size()) {
          member=((dCuboid)object).pairs.size();
        }
        pair=((dCuboid)object).pairs.get(member - 1);
      }
      Location base=pair.high.clone().add(pair.low.clone()).add(1.0,1.0,1.0);
      base.setX(base.getX() / 2.0);
      base.setY(base.getY() / 2.0);
      base.setZ(base.getZ() / 2.0);
      return new dLocation(base).getAttribute(attribute.fulfill(1));
    }
  }
);
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      LocationPair pair;
      if (!attribute.hasContext(1)) {
        pair=((dCuboid)object).pairs.get(0);
      }
 else {
        int member=attribute.getIntContext(1);
        if (member < 1) {
          member=1;
        }
        if (member > ((dCuboid)object).pairs.size()) {
          member=((dCuboid)object).pairs.size();
        }
        pair=((dCuboid)object).pairs.get(member - 1);
      }
      Location base=pair.high.clone().subtract(pair.low.clone()).add(1,1,1);
      return new dLocation(base).getAttribute(attribute.fulfill(1));
    }
  }
);
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      if (!attribute.hasContext(1)) {
        return ((dCuboid)object).pairs.get(0).high.getAttribute(attribute.fulfill(1));
      }
 else {
        int member=attribute.getIntContext(1);
        if (member < 1) {
          member=1;
        }
        if (member > ((dCuboid)object).pairs.size()) {
          member=((dCuboid)object).pairs.size();
        }
        return ((dCuboid)object).pairs.get(member - 1).high.getAttribute(attribute.fulfill(1));
      }
    }
  }
);
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      if (!attribute.hasContext(1)) {
        return ((dCuboid)object).pairs.get(0).low.getAttribute(attribute.fulfill(1));
      }
 else {
        int member=attribute.getIntContext(1);
        if (member < 1) {
          member=1;
        }
        if (member > ((dCuboid)object).pairs.size()) {
          member=((dCuboid)object).pairs.size();
        }
        return ((dCuboid)object).pairs.get(member - 1).low.getAttribute(attribute.fulfill(1));
      }
    }
  }
);
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      if (!attribute.hasContext(1)) {
        dB.echoError("String_Node_Str");
        return null;
      }
      try {
        dLocation loc=dLocation.valueOf(attribute.getContext(1));
        dCuboid cuboid=((dCuboid)object).clone();
        if (loc != null) {
          if (loc.getX() < cuboid.pairs.get(0).low.getX()) {
            cuboid.pairs.get(0).low=new dLocation(cuboid.pairs.get(0).low.getWorld(),loc.getX(),cuboid.pairs.get(0).low.getY(),cuboid.pairs.get(0).low.getZ());
          }
          if (loc.getY() < cuboid.pairs.get(0).low.getY()) {
            cuboid.pairs.get(0).low=new dLocation(cuboid.pairs.get(0).low.getWorld(),cuboid.pairs.get(0).low.getX(),loc.getY(),cuboid.pairs.get(0).low.getZ());
          }
          if (loc.getZ() < cuboid.pairs.get(0).low.getZ()) {
            cuboid.pairs.get(0).low=new dLocation(cuboid.pairs.get(0).low.getWorld(),cuboid.pairs.get(0).low.getX(),cuboid.pairs.get(0).low.getY(),loc.getZ());
          }
          if (loc.getX() > cuboid.pairs.get(0).high.getX()) {
            cuboid.pairs.get(0).high=new dLocation(cuboid.pairs.get(0).high.getWorld(),loc.getX(),cuboid.pairs.get(0).high.getY(),cuboid.pairs.get(0).high.getZ());
          }
          if (loc.getY() > cuboid.pairs.get(0).high.getY()) {
            cuboid.pairs.get(0).high=new dLocation(cuboid.pairs.get(0).high.getWorld(),cuboid.pairs.get(0).high.getX(),loc.getY(),cuboid.pairs.get(0).high.getZ());
          }
          if (loc.getZ() > cuboid.pairs.get(0).high.getZ()) {
            cuboid.pairs.get(0).high=new dLocation(cuboid.pairs.get(0).high.getWorld(),cuboid.pairs.get(0).high.getX(),cuboid.pairs.get(0).high.getY(),loc.getZ());
          }
          return cuboid.getAttribute(attribute.fulfill(1));
        }
      }
 catch (      CloneNotSupportedException ex) {
        dB.echoError(ex);
      }
      return null;
    }
  }
);
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      ArrayList<dPlayer> players=new ArrayList<dPlayer>();
      for (      Player player : Bukkit.getOnlinePlayers()) {
        if (((dCuboid)object).isInsideCuboid(player.getLocation())) {
          players.add(dPlayer.mirrorBukkitPlayer(player));
        }
      }
      return new dList(players).getAttribute(attribute.fulfill(1));
    }
  }
);
  if (Depends.citizens != null) {
    registerTag("String_Node_Str",new TagRunnable(){
      @Override public String run(      Attribute attribute,      dObject object){
        ArrayList<dNPC> npcs=new ArrayList<dNPC>();
        for (        NPC npc : CitizensAPI.getNPCRegistry()) {
          dNPC dnpc=dNPC.mirrorCitizensNPC(npc);
          if (((dCuboid)object).isInsideCuboid(dnpc.getLocation())) {
            npcs.add(dnpc);
          }
        }
        return new dList(npcs).getAttribute(attribute.fulfill(1));
      }
    }
);
  }
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      ArrayList<dEntity> entities=new ArrayList<dEntity>();
      dList types=new dList();
      if (attribute.hasContext(1)) {
        types=dList.valueOf(attribute.getContext(1));
      }
      for (      Entity ent : ((dCuboid)object).getWorld().getEntities()) {
        dEntity current=new dEntity(ent);
        if (ent.isValid() && ((dCuboid)object).isInsideCuboid(ent.getLocation())) {
          if (!types.isEmpty()) {
            for (            String type : types) {
              if (current.identifySimpleType().equalsIgnoreCase(type)) {
                entities.add(current);
                break;
              }
            }
          }
 else {
            entities.add(new dEntity(ent));
          }
        }
      }
      return new dList(entities).getAttribute(attribute.fulfill(1));
    }
  }
);
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      ArrayList<dEntity> entities=new ArrayList<dEntity>();
      for (      Entity ent : ((dCuboid)object).getWorld().getLivingEntities()) {
        if (ent.isValid() && ((dCuboid)object).isInsideCuboid(ent.getLocation()) && !dEntity.isCitizensNPC(ent)) {
          entities.add(new dEntity(ent));
        }
      }
      return new dList(entities).getAttribute(attribute.fulfill(1));
    }
  }
);
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      Set<Chunk> chunks=new HashSet<Chunk>();
      dCuboid obj=(dCuboid)object;
      for (      LocationPair pair : obj.pairs) {
        int minY=pair.low.getBlockY();
        Chunk minChunk=pair.low.getChunk();
        if (obj.isInsideCuboid(new Location(obj.getWorld(),minChunk.getX() * 16,minY,minChunk.getZ() * 16))) {
          chunks.add(minChunk);
        }
        Chunk maxChunk=pair.high.getChunk();
        if (obj.isInsideCuboid(new Location(obj.getWorld(),maxChunk.getX() * 16 + 15,minY,maxChunk.getZ() * 16 + 15))) {
          chunks.add(maxChunk);
        }
        dB.log("String_Node_Str" + minChunk.getX() + "String_Node_Str"+ minChunk.getZ());
        dB.log("String_Node_Str" + maxChunk.getX() + "String_Node_Str"+ maxChunk.getZ());
        for (int x=minChunk.getX() + 1; x <= maxChunk.getX() - 1; x++) {
          for (int z=minChunk.getZ() + 1; z <= maxChunk.getZ() - 1; z++) {
            chunks.add(obj.getWorld().getChunkAt(x,z));
          }
        }
      }
      dList list=new dList();
      for (      Chunk chunk : chunks) {
        list.add(new dChunk(chunk).identify());
      }
      return list.getAttribute(attribute.fulfill(1));
    }
  }
);
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      Set<Chunk> chunks=new HashSet<Chunk>();
      for (      LocationPair pair : ((dCuboid)object).pairs) {
        Chunk minChunk=pair.low.getChunk();
        Chunk maxChunk=pair.high.getChunk();
        dB.log("String_Node_Str" + minChunk.getX() + "String_Node_Str"+ minChunk.getZ());
        dB.log("String_Node_Str" + maxChunk.getX() + "String_Node_Str"+ maxChunk.getZ());
        for (int x=minChunk.getX(); x <= maxChunk.getX(); x++) {
          for (int z=minChunk.getZ(); z <= maxChunk.getZ(); z++) {
            chunks.add(((dCuboid)object).getWorld().getChunkAt(x,z));
          }
        }
      }
      dList list=new dList();
      for (      Chunk chunk : chunks) {
        list.add(new dChunk(chunk).identify());
      }
      return list.getAttribute(attribute.fulfill(1));
    }
  }
);
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      return new Element(NotableManager.getSavedId((dCuboid)object)).getAttribute(attribute.fulfill(1));
    }
  }
);
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      return new Element(((dCuboid)object).identifyFull()).getAttribute(attribute.fulfill(1));
    }
  }
);
  registerTag("String_Node_Str",new TagRunnable(){
    @Override public String run(    Attribute attribute,    dObject object){
      return new Element("String_Node_Str").getAttribute(attribute.fulfill(1));
    }
  }
);
}