function InitalizeAEIntegration(peripheralName) local self = {}; local AEItems = {}; local IndexedItems = {}; local CraftableItems = {}; local interface = peripheral.wrap(peripheralName); self.RefreshItems = function () AEItems = interface.getAvailableItems("all"); IndexedItems = {}; CraftableItems = {}; for i=1,#AEItems do local item = AEItems[i]; local id = item.fingerprint.id; if IndexedItems[id] == nil then IndexedItems[id] = {}; end if item.is_craftable then CraftableItems[#CraftableItems + 1] = item; end IndexedItems[id][#IndexedItems[id] + 1] = item; end end self.GetAllItems = function() return AEItems; end self.GetAllItemsIndexed = function () return IndexedItems; end self.GetItemDetails = function(fingerprint) return interface.getItemDetail(fingerprint,false); end self.GetCraftableItems = function() return CraftableItems; end self.CraftItem = function(fingerprint,amount) return interface.requestCrafting(fingerprint,amount); end self.CraftingCPUs = function() return interface.getCraftingCPUs(); end return self; end