public static ItemDef forID(int i) {
		for(int j = 0; j < 10; j++)
			if(cache[j].id == i)
				return cache[j];
		cacheIndex = (cacheIndex + 1) % 10;
		ItemDef itemDef = cache[cacheIndex];
		stream.currentOffset = streamIndices[i];
		itemDef.id = i;
		itemDef.setDefaults();
		itemDef.readValues(stream);
		if(itemDef.certTemplateID != -1)
			itemDef.toNote();
		if(!isMembers && itemDef.membersObject) {
			itemDef.name = "Members Object";
			itemDef.description = "Login to a members' server to use this object.".getBytes();
			itemDef.groundActions = null;
			itemDef.actions = null;
			itemDef.team = 0;
		}
		/* Hardcoded items start here */
		/**/
	if(i == 9747) { // 13742:
itemDef.modelID = 19047;
itemDef.name = "Elysian spirit shield";
itemDef.description = "It's a Elysian spirit shield".getBytes();
itemDef.modelZoom = 1616;
itemDef.modelRotation1 = 504;
itemDef.modelRotation2 = 0;
itemDef.modelOffset1 = 0;
itemDef.modelOffset2 = 1;
itemDef.stackable = false;
itemDef.value = 2000000;
itemDef.membersObject = true;
itemDef.actions = new String[5];
itemDef.actions[1] = "Wear";
itemDef.maleEquip1 = 19047;
itemDef.anInt188 = -1;
itemDef.femaleEquip1 = 19047;
itemDef.anInt164 = -1;
itemDef.certID = 13743;
itemDef.certTemplateID = -1;
}
		return itemDef;
	}