模块:Object
来自星露谷物语扩展百科
更多操作
local Helper = require("Module:Helper")
local FishPondData = Helper.LazyLoad('Module:Object/Data')
local p = {}
-- =p.getFieldsById{ args = { "137"} }
-- mw.logObject(p.getFieldsById{ args = { "137"} })
function p.getFieldsById(frame)
local id = frame.args[1]
local item = FishPondData[id]
if not item then return "Error: ID not found." end
return {
Name = item.Name,
Type = item.Type,
Category = item.Category,
Price = item.Price,
ContextTags = item.ContextTags
}
end
-- =p.getFirstFishTagById{ args = { "137"} }
-- mw.logObject(p.getFirstFishTagById{ args = { "137"} })
function p.getFirstFishTagById(frame)
local id = frame.args[1]
local item = FishPondData[id]
if not item or not item.ContextTags then return "" end
for _, tag in ipairs(item.ContextTags) do
if tag:match("^fish_") and tag ~= "fish_has_roe" and tag ~= "fish_pond" and tag ~= "fish_mines" then
return tag
end
end
return ""
end
function p.getIdByName(frame)
local name = mw.ustring.lower(frame.args[1])
for id, item in pairs(FishPondData) do
if mw.ustring.lower(item.Name) == name then
mw.logObject(id) -- !!!
return id
end
end
return "Error: Name not found."
end
-- =p.getFieldsByName{ args = { "Smallmouth Bass"} }
-- mw.logObject(p.getFieldsByName{ args = { "Smallmouth Bass"} })
function p.getFieldsByName(frame)
local id = p.getIdByName({ args = { frame.args[1] } })
local name = mw.ustring.lower(frame.args[1])
if id then
return p.getFieldsById({ args = { id } })
end
return "Error: Name not found."
end
-- mw.logObject(p.getPriceById{ args = { "137"} })
function p.getPriceById(frame)
return p.getFieldsById({ args = { frame.args[1] } })["Price"]
end
-- mw.logObject(p.getPriceByName{ args = { "Smallmouth Bass"} })
function p.getPriceByName(frame)
local id = p.getIdByName({ args = { frame.args[1] } })
return p.getPriceById({ args = { id } })
end
return p