Module: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

-- remove any of '- or whitespace block = block:gsub( "['%(%)%-%s]+", '' ) if type == "hardness" then -- 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, planks = true, seagrass = true, debris = 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' ) end 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