Minecraft Wiki
mNo edit summary
(OOF)
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
local p = {}
 
local p = {}
  +
 
 
function p.animate( f )
 
function p.animate( f )
 
local args = f
 
local args = f
Line 11: Line 11:
 
for icon in mw.text.gsplit( args[1], '%s*;%s*' ) do
 
for icon in mw.text.gsplit( args[1], '%s*;%s*' ) do
 
function image( icon )
 
function image( icon )
local ids = require( 'Module:' .. sheet ).ids
+
local ids = mw.loadData( 'Module:' .. sheet ).ids
 
local sprite = require( 'Module:Sprite' ).sprite
 
local sprite = require( 'Module:Sprite' ).sprite
local idData = ids[icon]
+
local idData = ids[icon] or { pos = 1 , section = 0 }
 
local image
 
local image
 
 
Line 26: Line 26:
 
end
 
end
 
 
 
icons[#icons+1] = '<span>' .. (#icon>0 and image( icon ) or '<br>') .. '</span>'
if icon == '' then
 
table.insert( icons, '<span><br></span>' )
 
else
 
table.insert( icons, '<span>' .. image( icon ) .. '</span>' )
 
end
 
 
end
 
end
 
icons[1] = icons[1]:gsub( '^<span>', '<span class="animated-active">' )
 
icons[1] = icons[1]:gsub( '^<span>', '<span class="animated-active">' )
Line 36: Line 32:
 
return '<span class="animated">' .. table.concat( icons ) .. '</span>'
 
return '<span class="animated">' .. table.concat( icons ) .. '</span>'
 
end
 
end
  +
 
return p
 
return p

Revision as of 13:01, 8 June 2019

[view | edit | history | purge]DocumentationJump to code ↴

Usage

Implement {{AnimateSprite}}.

[view | edit | history | purge]The above documentation is transcluded from Module:AnimateSprite/doc.
local p = {}

function p.animate( f )
	local args = f
	if f == mw.getCurrentFrame() then
		args = f:getParent().args
	end
	
	local icons = {}
	local sheet = args.sheet or 'InvSprite'
	for icon in mw.text.gsplit( args[1], '%s*;%s*' ) do
		function image( icon )
			local ids = mw.loadData( 'Module:' .. sheet ).ids
			local sprite = require( 'Module:Sprite' ).sprite
			local idData = ids[icon] or { pos = 1 , section = 0 }
			local image
	
			if idData then
				image = sprite{
					iddata = idData,
					data = sheet
				}
			end

			return image
		end
		
		icons[#icons+1] = '<span>' .. (#icon>0 and image( icon ) or '<br>') .. '</span>'
	end
	icons[1] = icons[1]:gsub( '^<span>', '<span class="animated-active">' )
	
	return '<span class="animated">' .. table.concat( icons ) .. '</span>'
end

return p