打开/关闭搜索
搜索
打开/关闭菜单
331
1.7K
131
11.8K
星露谷物语扩展百科
导航
首页
最近更改
随机页面
交流群
互通站
上传文件
打开/关闭外观设置菜单
通知
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。
user-interface-preferences
个人工具
创建账号
登录
查看“︁模块:Object”︁的源代码
来自星露谷物语扩展百科
查看
阅读
查看源代码
查看历史
associated-pages
模块
讨论
更多操作
←
模块:Object
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:已验证邮箱用户
您必须确认您的电子邮件地址才能编辑页面。请通过
参数设置
设置并确认您的电子邮件地址。
您可以查看和复制此页面的源代码。
local Utils = require("Module:Utils") local Items = require("Module:Items") ---@diagnostic disable-next-line: undefined-global local mw = mw local ObjectData = mw.loadData('Module:Object/data') local p = {} local ERROR_NOT_FOUND = "物品不存在。" local nameIndex local function normalizeId(value) if value == nil then return nil end local text = tostring(value):match("^%s*(.-)%s*$") if text == "" then return nil end return text end local function fetchItemById(rawId) local id = normalizeId(rawId) if not id then return nil, nil end return ObjectData[id], id end local function ensureNameIndex() if nameIndex then return nameIndex end nameIndex = {} for id, data in pairs(ObjectData) do local name = data and data.Name if type(name) == "string" then local normalized = Utils.normalizeKey(name) if normalized and normalized ~= "" and not nameIndex[normalized] then nameIndex[normalized] = id end end end return nameIndex end local function matchField(fields, requested) local key = Utils.normalizeKey(requested) if not key then return nil end for fieldName, value in pairs(fields) do if Utils.normalizeKey(fieldName) == key then return value end end return nil end -- mw.logObject(p.getFieldsById{ args = { "137"} }) function p.getFieldsById(input) local args = Utils.resolveArgs(input) local id = args[1] or args["1"] local item = fetchItemById(id) if not item then return ERROR_NOT_FOUND end local fields = { Name = item.Name, Type = item.Type, Category = item.Category, Price = item.Price, ContextTags = item.ContextTags } local requestedField = args[2] or args["2"] if requestedField and requestedField ~= "" then return matchField(fields, requestedField) or "" end return fields end -- =p.getColorById{ args = { "137"} } -- mw.logObject(p.getColorById{ args = { "137"} }) function p.getColorById(input) local id = Utils.getArg(input) local item = fetchItemById(id) local tags = item and item.ContextTags if type(tags) ~= "table" then return "" end for _, tag in ipairs(tags) do if type(tag) == "string" and tag:match("^color_") then local formatted = tag:gsub("color_", ""):gsub("_", " ") formatted = formatted:gsub("(%a)(%w*)", function(first, rest) return first:upper() .. rest:lower() end) return formatted end end return "" end -- mw.logObject(p.getPriceById{ args = { "137"} }) function p.getPriceById(input) local id = Utils.getArg(input) local item = fetchItemById(id) if not item then return "" end return item.Price or "" end -- mw.logObject(p.getPriceByName{ args = { "Smallmouth Bass"} }) function p.getPriceByName(input) local name = Utils.normalizeKey(Utils.getArg(input)) if not name then return "" end local id = Items.getId(name):gsub("%(O%)", "") if not id or id == "" then return "" end return p.getPriceById(id) end return p
该页面嵌入的页面:
模块:Documentation
(
查看源代码
)
模块:Documentation/styles.css
(
查看源代码
)
模块:Object/doc
(
查看源代码
)
模块:ProcessArgs
(
查看源代码
)
模块:STConversion
(
查看源代码
)
模块:Static
(
查看源代码
)
模块:TSLoader
(
查看源代码
)
返回
模块:Object
。
查看“︁模块:Object”︁的源代码
来自星露谷物语扩展百科