FurnitureCatalogue_Export = {} FurCExport = FurnitureCatalogue_Export local defaults = { } local function getSortTable(tbl) list = {} for name, value in pairs(tbl) do list[#list+1] = name end table.sort(list) return list end function FurCExport.Export() local itemNames = {} local itemName for itemId, recipeArray in pairs(FurC.settings.data) do if recipeArray.origin == FURC_CRAFTING then itemNames[GetItemLinkName(FurC.GetItemLink(itemId))] = FurC.GetItemLink(itemId) end end local tkeys = getSortTable(itemNames) local exportKnown = {} local exportUnknown = {} for key, itemName in pairs(tkeys) do local itemLink = itemNames[itemName] local recipeArray = FurC.Find(itemLink) local known = FurC.IsAccountKnown(itemLink, recipeArray) local exportArray = (known and exportKnown) or exportUnknown local mats = FurC.GetMats(itemLink, recipeArray, false, true) local knowledge = (known and (FurC.GetCrafterList(itemLink, recipeArray) .. ": "):gsub("Can be crafted by ", "")) or "" local exportString = zo_strformat("<<1>><<2>>", knowledge, mats) exportArray[itemName] = exportString end FurCExport.settings.known = exportKnown FurCExport.settings.unknown = exportUnknown ReloadUI() end SLASH_COMMANDS["/furcexport"] = function() FurCExport.Export() end -- initialization stuff function FurCExport_Initialize(eventCode, addOnName) if (addOnName ~= "FurnitureCatalogue_Export") then return end FurCExport.settings = ZO_SavedVars:NewAccountWide("FurnitureCatalogue_Export", nil, 0, defaults) FurCExport.makeSettings() EVENT_MANAGER:UnregisterForEvent("FurnitureCatalogue_Export", EVENT_ADD_ON_LOADED) end EVENT_MANAGER:RegisterForEvent("FurnitureCatalogue_Export", EVENT_ADD_ON_LOADED, FurCExport_Initialize)