Module:Block value

From Modded Wiki
Revision as of 16:56, 2 March 2020 by minecraft>Sonicwave (strip trailing s only if not found otherwise)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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

local p = {}

function p.value( 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 argType = args.type
	
	local values = mw.loadData( 'Module:' .. argType .. ' values' )
	local value = values[block]
	local category = ''
	if not value then
		value = values[block:gsub( 's$', '' )]
		
		if not value then
			value = '[[Template:' .. argType .. ' values#Missing value|?]]'
			local title = mw.title.getCurrentTitle()
			if not args.nocat and title.namespace == 0 and not title.isSubpage then
				category = '[[Category:Missing ' .. argType:lower() .. ']]'
			end
		end
	end
	return value .. category
end

return p