public static ItemDefinition forId(int id) {
		for (int i = 0; i < 10; i++) {
			if (ItemDefinition.itemCache[i].id == id) {
				return ItemDefinition.itemCache[i];
			}
		}
		ItemDefinition.cacheIndex = (ItemDefinition.cacheIndex + 1) % 10;
		ItemDefinition itemDefinition = ItemDefinition.itemCache[ItemDefinition.cacheIndex];
		ItemDefinition.dataBuffer.offset = ItemDefinition.itemIndices[id];
		itemDefinition.id = id;
		itemDefinition.setDefaults();
		itemDefinition.readValues(ItemDefinition.dataBuffer);
		if (itemDefinition.certTemplateId != -1) {
			itemDefinition.toNote();
		}
		if (!ItemDefinition.isMembers && itemDefinition.membersObject) {
			itemDefinition.name = "Members Object";
			itemDefinition.description = "Login to a members' server to use this object.".getBytes();
			itemDefinition.groundActions = null;
			itemDefinition.inventoryActions = null;
			itemDefinition.team = 0;
		}
		return itemDefinition;
	}