static final ItemDefinition itemDefinitionForID(int i) {
        ItemDefinition itemDefinition = (ItemDefinition) Class13.itemDefinitionNodes.getObjectForID(i);
        if (itemDefinition != null) {
            return itemDefinition;
        }
        byte abyte0[] = Class142_Sub10.aClass73_3362.method774(Class77.method833((byte) 96, i), Class142_Sub13.method1514(127, i));
        itemDefinition = new ItemDefinition();
        itemDefinition.id = i;
        if (abyte0 != null) {
            itemDefinition.readValues(new Stream(abyte0));
        }
        itemDefinition.method1175((byte) 43);
        if (itemDefinition.certTemplateID != -1) {
            itemDefinition.toNote(itemDefinitionForID(itemDefinition.certID), itemDefinitionForID(itemDefinition.certTemplateID));
        }
        if (itemDefinition.anInt2175 != -1) {
            itemDefinition.method1176(itemDefinitionForID(itemDefinition.anInt2142), itemDefinitionForID(itemDefinition.anInt2175), -17529);
        }
        if (!Class57.onMembersServer && itemDefinition.membersItem) {
            itemDefinition.actions = NPCComposite.aStringArray2072;
            itemDefinition.groundActions = Class36.aStringArray652;
            itemDefinition.name = Cache.membersObject;
            itemDefinition.aBoolean2159 = false;
            itemDefinition.team = 0;
        }
        Class13.itemDefinitionNodes.addObject(i, itemDefinition);
        return itemDefinition;
    }