Minecraft Wiki
(please don't use "css" to mean rotation, that is just bad naming. Also fix the template crashing on undefined sprites and remove rotation if unused (not sure about the impact, but better safe))
 
Majr (diskuse | příspěvky)
m (naimportována 1 revize: Import EN modules)

Verze z 17. 7. 2017, 10:52

[create | history | purge]Documentation
This module has no documentation. If you know how to use this module, please create it.
local p = {}
function p.grid( f )
	local args = f
	if f == mw.getCurrentFrame() then
		args = f:getParent().args
	end
	local rows = {}
	local sprite = require( 'Module:Sprite' ).link
	local scale = args.scale
	local size = 16 * ( scale or 1 )
	local categories = {}
	local keys = args.keys or args
	for k, v in ipairs( args ) do
		local row = {}
		for v2 in mw.text.gsplit( v:gsub( '^%s-\n+', '' ):gsub( '\n+%s-$', '' ), '' ) do
			if mw.text.trim( v2 ) == '' or keys[v2] == 'air' then
				table.insert( row, ' style="width:' .. size .. 'px;height:' .. size .. 'px" | ' )
			else
				local cssRot = nil
				local spriteName = nil
				if keys[v2] then
					local spritePart = mw.text.split( keys[v2], '-rot', true )
					spriteName = spritePart[1]
					if spritePart[2] then
						cssRot = 'transform:rotate(' .. spritePart[2] .. 'deg)'
					end
				end
				local image, spriteCat = sprite{ settings = 'BlockSprite', spriteName, '', scale = scale, nocat = args.nocat, css = cssRot }
				table.insert( row, image )
				table.insert( categories, spriteCat )
			end
		end
		
		table.insert( rows, table.concat( row, ' || ' ) )
	end
	
	local spacing = tonumber( args.spacing or '' ) or 0
	
	return '{| cellspacing="' .. spacing .. '" cellpadding="0" style="margin:0; line-height:0"\n| ' ..
		table.concat( rows, '\n|-\n| ' ) ..
	'\n|}' .. table.concat( categories )
end
return p