Hi Gamepedia users and contributors! Please complete this survey to help us learn how to better meet your needs in the future. We have one for editors and readers. This should only take about 7 minutes!

モジュール:Recipe list

提供: Minecraft Wiki
移動先: 案内検索

このモジュールは特定のカテゴリに含まれるレシピを一覧表示します。

[ソースを編集]

{{#invoke:recipe list|type|Foodstuff}} とすると カテゴリ:食料のレシピに含まれるレシピを一覧表示します。

名前 材料 クラフトのレシピ 説明
怪しげなシチュー 赤色のキノコ +
茶色のキノコ +
ボウル +
いずれかの


金のリンゴ 金インゴット +
リンゴ

クッキー 小麦 +
カカオ豆
ケーキ 牛乳入りバケツ +
砂糖 +
 +
小麦

クラフト後には、牛乳入りバケツは空のバケツとなり、作業台の上に残る。
エンチャントされた金のリンゴ 金ブロック +
リンゴ

[Legacy Console Edition限定]
パンプキンパイ カボチャ +
砂糖 +


パン 小麦

キノコシチュー 赤色のキノコ +
茶色のキノコ +
ボウル


[閲覧 | 編集 | 履歴 | キャッシュ破棄]上記の解説は、モジュール:Recipe list/docから参照されています。
local p = {}
function p.type( f )
	local args = f.args
	local text = require( [[モジュール:Text]] )
	local crafting = require( [[モジュール:Crafting]] ).table
	local Autolink = require( [[モジュール:Autolink]] )
	local type = text.trim( args[1] )

	local argList = {
		'type', 'upcoming', 'name', 'ingredients', 'arggroups',
		1, 2, 3, 4, 5, 6, 7, 8, 9,
		'A1', 'B1', 'C1', 'A2', 'B2', 'C2', 'A3', 'B3', 'C3',
		'Output', 'description', 'fixed', 'notfixed',
		'A1title', 'A1link', 'B1title', 'B1link', 'C1title', 'C1link',
		'A2title', 'A2link', 'B2title', 'B2link', 'C2title', 'C2link',
		'A3title', 'A3link', 'B3title', 'B3link', 'C3title', 'C3link',
		'Otitle', 'Olink',
	}
	
	local data = f:callParserFunction( '#dpl:', {
		category = Autolink.invlink( type, 'nolink' ) .. 'のレシピ',
		include = '{Crafting}:' .. table.concat( argList, ':' ),
		mode = 'userformat',
		secseparators = '====',
		multisecseparators = '===='
	} )
	
	local out = {}
	local showDesciption
	local templates = {}
	for template in text.gsplit( data, '====' ) do
		-- If type matches
		if template:find( '^%s*' .. type .. '%s*|' ) then
			local tArgs = {}
			local i = 0
			-- Extract the arguments from the DPL query
			for tArg in text.gsplit( template, '\n|' ) do
				i = i + 1
				if tArg ~= '' then
					local key = argList[i]
					tArgs[key] = tArg
				end
			end
			
			if tArgs.description then
				showDescription = true
			end
			
			tArgs.nocat = '1'
			
			table.insert( templates, tArgs )
		end
	end
	if #templates == 0 then
		return
	end
	
	templates[1].head = '1'
	templates[1].showname = '1'
	if showDescription and args.showdesciption ~= '0' or args.showdesciption == '1' then
		templates[1].showdescription = '1'
	end
	if not args.continue then
		templates[#templates].foot = '1'
	end
	
	local out = {}
	for i, v in ipairs( templates ) do
		table.insert( out, crafting( v ) )
	end
	
	return table.concat( out, '\n' )
end
return p