Module:Block value: Difference between revisions
Jump to navigation
Jump to search
I don't think it is appropriate to remove S for Debris |
m fix indentation and comment location |
||
Line 10: | Line 10: | ||
-- Most of these transforms are unnecessary, but are kept for compatibility with original template | -- Most of these transforms are unnecessary, but are kept for compatibility with original template | ||
-- | -- remove any of '()- or whitespace | ||
if type=="blast resistance" then | if type == "blast resistance" then | ||
block=block:gsub( "['%(%)%-%s]+", '' ) | block = block:gsub( "['%(%)%-%s]+", '' ) | ||
else | else | ||
-- 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' ) | |||
:gsub( "['%(%)%-%s]+", '' ) | |||
end | end | ||
local value = mw.loadData( 'Module:' .. type .. ' values' )[block] | local value = mw.loadData( 'Module:' .. type .. ' values' )[block] |
Revision as of 18:34, 18 February 2020
Documentation for this module may be created at Module:Block value/doc
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
if type == "blast resistance" then
block = block:gsub( "['%(%)%-%s]+", '' )
else
-- 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' )
:gsub( "['%(%)%-%s]+", '' )
end
local value = mw.loadData( 'Module:' .. type .. ' values' )[block]
local category = ''
if not value then
value = '[[Template:' .. type .. ' values#Missing value|?]]'
local title = mw.title.getCurrentTitle()
if not args.nocat and title.namespace == 0 and not title.isSubpage then
category = '[[Category:Missing ' .. type:lower() .. ']]'
end
end
return value .. category
end
return p