Module:Block value: Difference between revisions

From Modded Wiki
Jump to navigation Jump to search
Created page with "local p = {} p.hardness = function( f ) local args = f if f == mw.getCurrentFrame() then args = f:getParent().args end local block = args[1]:gsub( '%s+', '' ):lower()..."
 
No edit summary
Line 24: Line 24:
-- Remove stuff in parens
-- Remove stuff in parens
block = block:gsub( '%([^%)]+%)', '' )
block = block:gsub( '%s*%([^%)]+%)', '' )
-- Other transforms
-- Other transforms
Line 33: Line 33:
:gsub( "['%-]", '' )
:gsub( "['%-]", '' )
local value = mw.loadData( 'Module:Hardness values' )[block]
local value = mw.loadData( [[Module:Hardness values]] )[block]
local category = ''
local category = ''
if not value then
if not value then

Revision as of 03:47, 6 October 2014

Documentation for this module may be created at Module:Block value/doc

local p = {}
p.hardness = function( f )
	local args = f
	if f == mw.getCurrentFrame() then
		args = f:getParent().args
	end
	local block = args[1]:gsub( '%s+', '' ):lower()

	-- 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] then
		block = block:gsub( 's$', '' )
	end
	
	-- Remove stuff in parens
	block = block:gsub( '%s*%([^%)]+%)', '' )
	
	-- Other transforms
	block = block
		:gsub( 'wooden', 'wood' )
		:gsub( 'mossy', 'moss' )
		:gsub( 'steps', 'stairs' )
		:gsub( "['%-]", '' )
	
	local value = mw.loadData( [[Module:Hardness values]] )[block]
	local category = ''
	if not value then
		value = '[[Template:Hardness values#Missing value|?]]'
		local title = mw.title.getCurrentTitle()
		if not args.nocat and title.namespace == 0 and not title.isSubpage then
			category = '[[Category:Missing hardness]]'
		end
	end
	return value .. category
end
return p