Module:User Sandbox/Slimyboi500/Model path

From Team Fortress Wiki
Jump to: navigation, search

Documentation for this module may be created at Module:User Sandbox/Slimyboi500/Model path/doc

local p = {}

local function findModel(data, cosmetic)
    return data[cosmetic] or nil
end

function p.main(frame)
    local modelData = mw.loadData("Module:Model path/data")

    local cosmeticParam = (frame.args[1] or ""):lower()
    assert(cosmeticParam and cosmeticParam ~= "", "Error: arg1 (item name) cannot be empty")
    local styleParam = (frame.args[2] or ""):lower()
    local searchTerm = styleParam ~= "" and (cosmeticParam .. ' ' .. styleParam) or cosmeticParam

    local cosmeticData = findModel(modelData, searchTerm)
    if not cosmeticData then
        if styleParam ~= "" then
            return '<b>Error: invalid style (' .. styleParam .. ') and/or item name (' .. cosmeticParam .. '). Is the model path set correctly?</b>'
        end

        return '<b>Error: invalid item name (' .. cosmeticParam .. '). Is the model path set correctly?</b>'
    end

    return tostring(cosmeticData)
end

return p