Módulo:Block value

local p = {} p.value = function( f ) local args = f if f == mw.getCurrentFrame() then args = require( 'Module:ProcessArgs' ).merge( true ) end local block = mw.text.trim( args[1] or ):lower() local type = args.type

-- Most of these transforms are unnecessary, but are kept for compatibility with original template

-- Strip trailing "s" on everything but these local keepS = { glass = true, steps = true, stairs = true, bars = true, cactus = true, leaves = true, grass = true, potatoes = true } if not keepS[block:match( '%w+$' )] then block = block:gsub( 's$', ) end

-- Other transforms block = block :gsub( 'wooden', 'wood' ) :gsub( 'mossy', 'moss' ) :gsub( 'steps', 'stairs' ) :gsub( "['%(%)%-%s]+", )

local value = mw.loadData( 'Module:' .. type .. ' values' )[block] local category = if not value then value = '?' local title = mw.title.getCurrentTitle() if not args.nocat and title.namespace == 0 and not title.isSubpage then category = end end return value .. category end return p