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

local blockTest = block -- non-transformed block argument -- 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, ironbars = true, cactus = true, leaves = true, grass = true, potatoes = true, planks = true, seagrass = true, ancientdebris = 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 -- testing editcopy local testValue = mw.loadData( 'Module:' .. type .. ' values/editcopy' )[blockTest] if not testValue then mw.log('No ' .. type .. ' found for argument ' .. blockTest) local title = mw.title.getCurrentTitle if not args.nocat and title.namespace == 0 and not title.isSubpage then category = category .. ''		end end -- end test return value .. category end return p