oh sorry,but it is shame to share this bad algorithm and codes
as i told this is my first addon and i did it for myself
Code:
local junker = {
name = "junker"
}
local junk_types =
{
"ITEMTYPE_ADDITIVE",
"ITEMTYPE_ALCHEMY_BASE",
"ITEMTYPE_AVA_REPAIR",
"ITEMTYPE_CLOTHIER_BOOSTER",
"ITEMTYPE_CLOTHIER_MATERIAL",
"ITEMTYPE_CLOTHIER_RAW_MATERIAL",
"ITEMTYPE_COLLECTIBLE",
"ITEMTYPE_CONTAINER",
"ITEMTYPE_DISGUISE",
"ITEMTYPE_ENCHANTING_RUNE",
"ITEMTYPE_ENCHANTMENT_BOOSTER",
"ITEMTYPE_FLAVORING",
"ITEMTYPE_FOOD",
"ITEMTYPE_GLYPH_ARMOR",
"ITEMTYPE_GLYPH_JEWELRY",
"ITEMTYPE_GLYPH_WEAPON",
"ITEMTYPE_INGREDIENT",
"ITEMTYPE_LURE",
"ITEMTYPE_NONE",
"ITEMTYPE_PLUG",
"ITEMTYPE_RAW_MATERIAL",
"ITEMTYPE_STYLE_MATERIAL",
"ITEMTYPE_TRASH"
}
local junkarmor_types ={
"ARMORTYPE_LIGHT",
"ARMORTYPE_MEDIUM",
"ARMORTYPE_NONE"
}
local name = "junker"
local function Initialize()
EVENT_MANAGER:RegisterForEvent(name,EVENT_INVENTORY_SINGLE_SLOT_UPDATE,junkJunk)
end
local function OnAddOnLoaded(event,addonName)
if addonName == "junker" then
Initialize()
end
end
local function junkJunk(eventCode,bagId,slotId,isNewItem,itemSoundCategory, updateReason)
local armor_type = nil
item_type = GetItemType(bagId,slotId)
local item_link = GetItemLink(bagId,slotId)
if item_type == "ITEMTYPE_ARMOR" then
local armor_type= GetItemLinkArmorType(item_link)
end
if contains(junk_types,item_type) or contains(junkarmor_types,armor_type) then
SetItemIsJunk(bagId,slotId)
d("junked")
end
end
local function contains(junk_types, element)
for _, value in pairs(junk_types) do
if value == element then
return true
end
end
return false
end
EVENT_MANAGER:RegisterForEvent("junker",EVENT_ADD_ON_LOADED,OnAddOnLoaded)