本站文本内容除另有声明外,转载时均必须注明出处,并遵守CC BY-NC-SA 3.0协议。(转载须知
本站是中文Minecraft Wiki的镜像站,与Mojang Studios、Weird Gloop没有从属关系。(免责声明

全站通知:

模块:AnimateSprite

来自我的世界地下城WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索

本模块用于实现{{AnimateSprite}}

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