Módulo:Banner crafting
Revisión del 18:50 2 ene 2015 de Leynaf (discusión | contribuciones) (Página creada con «local p = {} p.crafting = function( f ) local args = f:getParent().args local crafting = require( Module:Crafting ).table local dye = args[1] or mw.title.getCurren...»)
[purge]
Esta es la página de documentación, debería ser transcluida a la página de plantilla principal. Véase Plantilla:Documentation para más información.
Este modulo implementa La plantilla que solicitas no existe, si crees que deberia crearse puedes sugerirlo en el apartado de discucion de este mismo articulo o haciendo click aqui.
Dependencias
local p = {} p.crafting = function( f ) local args = f:getParent().args local crafting = require( [[Module:Crafting]] ).table local dye = args[1] or mw.title.getCurrentTitle().text local dyeColours = { ['Ink Sac'] = 'Black', ['Rose Red'] = 'Red', ['Cactus Green'] = 'Green', ['Cocoa Beans'] = 'Brown', ['Lapis Lazuli'] = 'Blue', ['Dandelion Yellow'] = 'Yellow', ['Bone Meal'] = 'White' } local colour = dyeColours[dye] or dye:match( '^(.+) Dye$' ) local banner = 'Banner' if dye == 'Bone Meal' then banner = '[Banner]Light Gray Banner' end local dyeOrder = { 'Base Fess', 'Chief Fess', 'Pale Dexter', 'Pale Sinister', 'Pale', 'Fess', 'Bend', 'Bend Sinister', 'Paly', 'Saltire', 'Cross', 'Per Bend Sinister', 'Per Bend', 'Per Bend Inverted', 'Per Bend Sinister Inverted', 'Per Pale', 'Per Pale Inverted', 'Per Fess', 'Per Fess Inverted', 'Base Dexter Canton', 'Base Sinister Canton', 'Chief Dexter Canton', 'Chief Sinister Canton', 'Chevron', 'Inverted Chevron', 'Base Indented', 'Chief Indented', 'Roundel', 'Lozenge', 'Bordure', 'Gradient', 'Base Gradient' } local otherOrder = { 'Bordure Indented', 'Field Masoned', 'Creeper Charge', 'Skull Charge', 'Flower Charge', 'Mojang Charge' } -- 0 = empty, 1 = banner, 2 = dye local dyeRecipes = { ['Base Fess'] = { 0, 0, 0, 0, 1, 0, 2, 2, 2, }, ['Chief Fess'] = { 2, 2, 2, 0, 0, 0, 0, 1, 0, }, ['Pale Dexter'] = { 2, 0, 0, 2, 0, 0, 2, 1, 0, }, ['Pale Sinister'] = { 0, 0, 2, 0, 0, 2, 0, 1, 2, }, ['Pale'] = { 0, 2, 0, 0, 2, 1, 0, 2, 0, }, ['Fess'] = { 0, 0, 0, 2, 2, 2, 0, 1, 0, }, ['Bend'] = { 2, 0, 0, 0, 2, 0, 0, 1, 2, }, ['Bend Sinister'] = { 0, 0, 2, 0, 2, 0, 2, 1, 0, }, ['Paly'] = { 2, 0, 2, 2, 0, 2, 0, 1, 0, }, ['Saltire'] = { 2, 0, 2, 0, 2, 0, 2, 1, 2, }, ['Cross'] = { 0, 2, 0, 2, 2, 2, 1, 2, 0, }, ['Per Bend Sinister'] = { 2, 2, 0, 2, 0, 0, 0, 1, 0, }, ['Per Bend'] = { 0, 2, 2, 0, 0, 2, 0, 1, 0, }, ['Per Bend Inverted'] = { 0, 1, 0, 2, 0, 0, 2, 2, 0, }, ['Per Bend Sinister Inverted'] = { 0, 1, 0, 0, 0, 2, 0, 2, 2, }, ['Per Pale'] = { 2, 2, 0, 2, 2, 1, 2, 2, 0, }, ['Per Pale Inverted'] = { 0, 2, 2, 1, 2, 2, 0, 2, 2, }, ['Per Fess'] = { 2, 2, 2, 2, 2, 2, 0, 1, 0, }, ['Per Fess Inverted'] = { 0, 1, 0, 2, 2, 2, 2, 2, 2, }, ['Base Dexter Canton'] = { 0, 0, 0, 0, 0, 0, 2, 1, 0, }, ['Base Sinister Canton'] = { 0, 0, 0, 0, 0, 0, 0, 1, 2, }, ['Chief Dexter Canton'] = { 2, 0, 0, 0, 0, 0, 0, 1, 0, }, ['Chief Sinister Canton'] = { 0, 0, 2, 0, 0, 0, 0, 1, 0, }, ['Chevron'] = { 0, 0, 0, 0, 2, 0, 2, 1, 2, }, ['Inverted Chevron'] = { 2, 0, 2, 0, 2, 0, 0, 1, 0, }, ['Base Indented'] = { 0, 0, 0, 2, 1, 2, 0, 2, 0, }, ['Chief Indented'] = { 0, 2, 0, 2, 0, 2, 0, 1, 0, }, ['Roundel'] = { 0, 0, 0, 0, 2, 0, 0, 1, 0, }, ['Lozenge'] = { 0, 2, 0, 2, 1, 2, 0, 2, 0, }, ['Bordure'] = { 2, 2, 2, 2, 1, 2, 2, 2, 2, }, ['Gradient'] = { 2, 1, 2, 0, 2, 0, 0, 2, 0, }, ['Base Gradient'] = { 0, 2, 0, 0, 2, 0, 2, 1, 2, }, } local items = { ['Bordure Indented'] = 'Vines', ['Field Masoned'] = 'Bricks', ['Creeper Charge'] = 'Creeper Head', ['Skull Charge'] = 'Wither Skeleton Skull', ['Flower Charge'] = 'Oxeye Daisy', ['Mojang Charge'] = 'Enchanted Golden Apple', } local shapedArgs = { 'A1', 'B1', 'C1', 'A2', 'B2', 'C2', 'A3', 'B3', 'C3', } local dyeArgs = {} if f:callParserFunction( '#dplvar', 'multirow' ) ~= '1' then dyeArgs.head = '1' end dyeArgs.ignoreusage = '1' dyeArgs.showdescription = args.description dyeArgs.name = colour .. ' [[Banner]] pattern' dyeArgs.ingredients = '[[' .. dye .. ']] +<br>[[Banner]]' for i = 1, 9 do local dyeArg = {} for _, pattern in ipairs( dyeOrder ) do local iType = dyeRecipes[pattern][i] local ingredient = '' if iType == 1 then ingredient = banner elseif iType == 2 then ingredient = dye end table.insert( dyeArg, ingredient ) end dyeArgs[shapedArgs[i]] = table.concat( dyeArg, ';' ) end local dyeOutputArg = {} for _, pattern in ipairs( dyeOrder ) do local type = colour .. ' ' .. pattern table.insert( dyeOutputArg, '[Banner]' .. type .. ' Banner' .. '[&7' .. type .. ']' ) end dyeArgs.Output = table.concat( dyeOutputArg, ';' ) dyeArgs.Olink = 'Banner' dyeArgs.fixed = '1' dyeArgs.notfixed = 'the banner' local otherArgs = {} otherArgs.ignoreusage = '1' otherArgs.name = colour .. ' [[Banner]] image' otherArgs.ingredients = '[[' .. dye .. ']] +<br>[[Banner]] +<br>[[Vines]] or<br>[[Bricks]] or<br>[[Creeper Head]] or<br>[[Wither Skeleton Skull]] or<br>[[Oxeye Daisy]] or<br>[[Enchanted Golden Apple]]' local otherItemArg = {} local otherOutputArg = {} for _, pattern in ipairs( otherOrder ) do table.insert( otherItemArg, items[pattern] ) local type = colour .. ' ' .. pattern table.insert( otherOutputArg, '[Banner]' .. type .. ' Banner' .. '[&7' .. type .. ']' ) end table.insert( otherArgs, table.concat( otherItemArg, ';' ) ) table.insert( otherArgs, dye ) table.insert( otherArgs, banner ) otherArgs.Output = table.concat( otherOutputArg, ';' ) otherArgs.Olink = 'Banner' if not args.continue then otherArgs.foot = '1' end return crafting( dyeArgs ) .. crafting( otherArgs ) end return p