Minecraft Wiki
m (Protegeu "Módulo:Smelting" ([Editar=Permitir apenas usuários auto-confirmados] (indefinidamente) [Mover=Permitir apenas usuários auto-confirmados] (indefinidamente)))
Sem resumo de edição
 
(6 revisões intermediárias por um outro usuário não estão sendo mostradas)
Linha 1: Linha 1:
 
local p = {}
 
local p = {}
  +
 
local i18n = {
  +
categoryUpcoming = 'Categoria:Em breve',
  +
defaultFuel = 'Qualquer Combustível',
  +
moduleArgs = [[Módulo:ProcessArgs]],
  +
moduleRecipe = [[Módulo:Recipe table]],
  +
type = 'Fundição',
 
}
  +
p.i18n = i18n
  +
  +
local recipeTable = require( i18n.moduleRecipe ).table
  +
 
function p.table( f )
 
function p.table( f )
 
local args = f
 
local args = f
 
if f == mw.getCurrentFrame() then
 
if f == mw.getCurrentFrame() then
args = f:getParent().args
+
args = require( i18n.moduleArgs ).merge( true )
 
else
 
else
 
f = mw.getCurrentFrame()
 
f = mw.getCurrentFrame()
 
end
 
end
local grid = require( 'Módulo:Grid' )
 
 
 
 
args.Input = args[1]
-- Start table when appropriate
 
 
args.Output = args[2]
local multirow = f:callParserFunction( '#dplvar', 'multirow' )
 
  +
args.Experience = args[3]
if multirow ~= '1' then
 
  +
args.Fuel = args.fuel or i18n.defaultFuel
multirow = nil
 
end
 
local head = args.head or ''
 
if multirow then
 
head = ''
 
elseif head ~= '' then
 
multirow = 1
 
f:callParserFunction( '#dplvar:set', 'multirow', '1' )
 
else
 
head = 1
 
end
 
 
 
  +
local out = recipeTable( args, {
-- End table when appropriate
 
  +
uiFunc = 'furnace',
local foot = args.foot or ''
 
  +
type = i18n.type,
if multirow then
 
  +
ingredientArgs = { 'Input', 'Fuel' },
if foot ~= '' then
 
  +
outputArgs = { 'Output' },
multirow = nil
 
  +
} )
f:callParserFunction( '#dplvar:set', 'multirow', '0' )
 
end
 
else
 
foot = 1
 
end
 
 
local header = ''
 
if head ~= '' then
 
local name = ''
 
local description = ''
 
if args.showname == '1' or multirow and args.showname ~= '0' then
 
name = 'Nome !! '
 
f:callParserFunction( '#dplvar:set', 'smeltingname', '1' )
 
end
 
if args.showdescription == '1' then
 
description = ' !! class="unsortable" | Descrição'
 
f:callParserFunction( '#dplvar:set', 'smeltingdescription', '1' )
 
end
 
local class = args.class or ''
 
local recipeClass = ''
 
if multirow then
 
class = 'sortable collapsible ' .. class
 
recipeClass = 'class="unsortable collapse-button" |'
 
end
 
header = table.concat( {
 
'{| class="wikitable ' .. class .. '"',
 
'! ' .. name .. 'Ingredientes !! ' .. recipeClass .. ' Receita de [[fundição]]' .. description,
 
'|-'
 
}, '\n' )
 
end
 
 
local input = mw.text.trim( args[1] or '' )
 
local output = mw.text.trim( args[2] or '' )
 
local fuel = args.fuel or ''
 
if fuel == '' then
 
fuel = 'Any fuel'
 
end
 
 
-- Name cell
 
local nameCell
 
if args.name or '' ~= '' then
 
nameCell = args.name
 
elseif multirow or f:callParserFunction( '#dplvar', 'smeltingname' ) == '1' then
 
local names = {}
 
local links = {}
 
for v in mw.text.gsplit( args[2] or '', '%s*;%s*' ) do
 
parts = grid.getParts( v )
 
if not names[( parts.mod or '' ) .. parts.name] then
 
local link = ''
 
if parts.mod then
 
link = 'Mods/' .. parts.mod .. '/' .. parts.name .. '|'
 
end
 
 
if parts.name:find( '^Qualquer ' ) then
 
table.insert( links, 'Qualquer [[' .. link .. parts.name:sub( 10 ) .. ']]' )
 
else
 
table.insert( links, '[[' .. link .. parts.name .. ']]' )
 
end
 
names[( parts.mod or '' ) .. parts.name] = 1
 
end
 
end
 
 
nameCell = table.concat( links, '&nbsp;ou<br>' )
 
end
 
 
if nameCell and args.upcoming then
 
nameCell = nameCell .. '<br>([[' .. args.upcoming .. ']])'
 
end
 
 
-- Ingredients cell
 
local ingredientsCell
 
if args.ingredients or '' ~= '' then
 
ingredientsCell = args.ingredients
 
else
 
ingredientsCell = {}
 
local ingredients = {}
 
for k, v in ipairs{ input, fuel } do
 
local separator = ''
 
if k == 2 and next( ingredients ) then
 
separator = '&nbsp;+<br>\n'
 
end
 
for item in mw.text.gsplit( v, '%s*;%s*' ) do
 
local parts = grid.getParts( item )
 
if parts.name ~= '' and not ingredients[parts.name] and ( k == 2 or k == 1 and v ~= fuel ) then
 
local link = ''
 
if separator == '' and next( ingredients ) then
 
separator = '&nbsp;ou<br>\n'
 
end
 
 
if parts.mod then
 
link = 'Mods/'.. parts.mod .. '/' .. parts.name .. '|'
 
end
 
 
if parts.name:find( '^Qualquer ' ) then
 
table.insert( ingredientsCell, separator .. 'Qualquer [[' .. link .. parts.name:sub( 10 ) .. ']]' )
 
else
 
table.insert( ingredientsCell, separator .. '[[' .. link .. parts.name .. ']]' )
 
end
 
separator = ''
 
 
ingredients[parts.name] = 1
 
end
 
end
 
end
 
 
ingredientsCell = table.concat( ingredientsCell )
 
end
 
 
-- Any args we want to pass along
 
local newArgs = {
 
Input = args[1],
 
Output = args[2],
 
Fuel = fuel,
 
Ititle = args.Ititle,
 
Otitle = args.Otitle,
 
Ftitle = args.Ftitle
 
}
 
 
-- Recipe cell
 
local recipeCell = grid.furnace( newArgs )
 
 
local row = { ingredientsCell, recipeCell }
 
if nameCell then
 
table.insert( row, 1, nameCell )
 
end
 
if ( args.description or '' ) ~= '' and f:callParserFunction( '#dplvar', 'smeltingdescription' ) == '1' then
 
table.insert( row, args.description )
 
end
 
row = table.concat( row, '\n|\n' )
 
 
if nameCell then
 
row = '!\n' .. row
 
else
 
row = '|\n' .. row
 
end
 
 
local footer = ''
 
if foot ~= '' then
 
footer = '|}'
 
f:callParserFunction( '#dplvar:set', 'smeltingname', '0', 'smeltingdescription', '0' )
 
end
 
 
 
 
local title = mw.title.getCurrentTitle()
 
local title = mw.title.getCurrentTitle()
local category = ''
+
local category
 
if args.upcoming and args.nocat ~= '1' and title.namespace == 0 and not title.isSubpage then
 
if args.upcoming and args.nocat ~= '1' and title.namespace == 0 and not title.isSubpage then
category = '[[Categoria:Em breve]]'
+
category = '[[' .. i18n.categoryUpcoming .. ']]'
 
end
 
end
 
 
return header .. '\n' .. row .. '\n|-\n' .. footer .. category
+
return out, category
 
end
 
end
  +
 
return p
 
return p

Edição atual tal como às 02h32min de 1 de março de 2020

Este módulo implementa {{fundição}}.

Dependências

Veja também

[ver | editar | histórico | purgar]A documentação acima é transcluída de Módulo:Smelting/doc.
local p = {}

local i18n = {
	categoryUpcoming = 'Categoria:Em breve',
	defaultFuel = 'Qualquer Combustível',
	moduleArgs = [[Módulo:ProcessArgs]],
	moduleRecipe = [[Módulo:Recipe table]],
	type = 'Fundição',
}
p.i18n = i18n

local recipeTable = require( i18n.moduleRecipe ).table

function p.table( f )
	local args = f
	if f == mw.getCurrentFrame() then
		args = require( i18n.moduleArgs ).merge( true )
	else
		f = mw.getCurrentFrame()
	end
	
	args.Input = args[1]
	args.Output = args[2]
	args.Experience = args[3]
	args.Fuel = args.fuel or i18n.defaultFuel
	
	local out = recipeTable( args, {
		uiFunc = 'furnace',
		type = i18n.type,
		ingredientArgs = { 'Input', 'Fuel' },
		outputArgs = { 'Output' },
	} )
	
	local title = mw.title.getCurrentTitle()
	local category
	if args.upcoming and args.nocat ~= '1' and title.namespace == 0 and not title.isSubpage then
		category = '[[' .. i18n.categoryUpcoming .. ']]'
	end
	
	return out, category
end

return p