Example #1
0
  private void checkContainedItem(ResourceEntry entry, StructEntry container) {
    List<StructEntry> cont_list = ((AbstractStruct) container).getList();
    for (int i = 0; i < cont_list.size(); i++)
      if (cont_list.get(i) instanceof Item) {
        Item item = (Item) cont_list.get(i);

        ResourceRef itemRes = (ResourceRef) item.getAttribute("Item");
        if (!ResourceFactory.getInstance().resourceExists(itemRes.getResourceName())) {
          errorTable.addTableItem(
              new AreaTableLine(
                  entry,
                  container,
                  "Non existent item in container: " + itemRes.getResourceName()));
        }

        StructEntry wear = item.getAttribute("Wear");
        if (((DecNumber) wear).getValue() != 0) {
          errorTable.addTableItem(
              new AreaTableLine(entry, container, "Wear is: " + ((DecNumber) wear).getValue()));
        }

        for (int j = 1; j < 8 * ((Flag) item.getAttribute("Flags")).getSize(); j++)
          if (((Flag) item.getAttribute("Flags")).isFlagSet(j)) {
            errorTable.addTableItem(
                new AreaTableLine(
                    entry, container, "Item flag is: " + item.getAttribute("Flags").toString()));
            break;
          }
      }
  }