打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

本站正在进行早期测试,目前仍存在许多内容的缺失。

模块: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