模块:Crop
来自星砂岛百科
更多操作
概述
Crop 提供作物域的数据读取与配方列表渲染,供 {{Infobox crop}} 与 {{CropRecipes}} 调用。
用法
{{#invoke:Crop|getField|土豆|seed_item_name}}
{{#invoke:Crop|processRecipeList|土豆}}
{{#invoke:Crop|productionRecipeList|土豆}}
函数
getField:读取条目字段,默认查当前页面标题。processRecipeList:渲染加工配方列表。productionRecipeList:渲染产出配方列表。machineList:返回关联机器名称列表。
数据来源
local item_common = require('Module:ItemCommon')
local p = {}
item_common.buildRecipeDomain(p, '数据:Crop/crop_index.json')
local base_get_field = p.getField
function p.getField(frame)
local field = mw.text.trim((frame.args and frame.args[2]) or '')
if field == 'seed_item_link' then
local key = mw.text.trim((frame.args and frame.args[1]) or '')
local seed_name = ''
local seed_id = ''
frame.args[2] = 'seed_item_name'
seed_name = base_get_field(frame)
frame.args[2] = 'seed_item_id'
seed_id = base_get_field(frame)
frame.args[2] = field
if mw.text.trim(seed_name) == '' then
return ''
end
if mw.text.trim(seed_id) ~= '' or mw.text.trim(key) ~= '' then
return '[[' .. seed_name .. ']]'
end
return seed_name
end
return base_get_field(frame)
end
return p