<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://sankoquest.wiki/w/index.php?action=history&amp;feed=atom&amp;title=Module%3ASprite</id>
	<title>Module:Sprite - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://sankoquest.wiki/w/index.php?action=history&amp;feed=atom&amp;title=Module%3ASprite"/>
	<link rel="alternate" type="text/html" href="https://sankoquest.wiki/w/index.php?title=Module:Sprite&amp;action=history"/>
	<updated>2026-07-03T02:37:33Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://sankoquest.wiki/w/index.php?title=Module:Sprite&amp;diff=21&amp;oldid=prev</id>
		<title>SankoSeedBot: Seed Sanko wiki page</title>
		<link rel="alternate" type="text/html" href="https://sankoquest.wiki/w/index.php?title=Module:Sprite&amp;diff=21&amp;oldid=prev"/>
		<updated>2026-07-02T17:39:17Z</updated>

		<summary type="html">&lt;p&gt;Seed Sanko wiki page&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
local itemData = mw.loadData(&amp;#039;Module:Sprite/Item&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
local function trim(value)&lt;br /&gt;
    if value == nil then&lt;br /&gt;
        return &amp;#039;&amp;#039;&lt;br /&gt;
    end&lt;br /&gt;
    return mw.text.trim(tostring(value))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function spriteFor(name, size, link)&lt;br /&gt;
    local key = trim(name)&lt;br /&gt;
    local entry = itemData.items[key]&lt;br /&gt;
    local cell = tonumber(itemData.cell) or 32&lt;br /&gt;
    local width = tonumber(itemData.width) or cell&lt;br /&gt;
    local height = tonumber(itemData.height) or cell&lt;br /&gt;
    local renderedSize = tonumber(size) or cell&lt;br /&gt;
    local scale = renderedSize / cell&lt;br /&gt;
&lt;br /&gt;
    if not entry then&lt;br /&gt;
        return tostring(mw.html.create(&amp;#039;span&amp;#039;)&lt;br /&gt;
            :addClass(&amp;#039;sanko-sprite&amp;#039;)&lt;br /&gt;
            :addClass(&amp;#039;sanko-sprite-missing&amp;#039;)&lt;br /&gt;
            :attr(&amp;#039;data-minetip-title&amp;#039;, key ~= &amp;#039;&amp;#039; and key or &amp;#039;Unknown item&amp;#039;)&lt;br /&gt;
            :css(&amp;#039;width&amp;#039;, renderedSize .. &amp;#039;px&amp;#039;)&lt;br /&gt;
            :css(&amp;#039;height&amp;#039;, renderedSize .. &amp;#039;px&amp;#039;)&lt;br /&gt;
            :wikitext(&amp;#039;?&amp;#039;))&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local x = math.floor((tonumber(entry.x) or 0) * scale)&lt;br /&gt;
    local y = math.floor((tonumber(entry.y) or 0) * scale)&lt;br /&gt;
    local bgWidth = math.floor(width * scale)&lt;br /&gt;
    local bgHeight = math.floor(height * scale)&lt;br /&gt;
&lt;br /&gt;
    local node = mw.html.create(&amp;#039;span&amp;#039;)&lt;br /&gt;
        :addClass(&amp;#039;sanko-sprite&amp;#039;)&lt;br /&gt;
        :attr(&amp;#039;role&amp;#039;, &amp;#039;img&amp;#039;)&lt;br /&gt;
        :attr(&amp;#039;aria-label&amp;#039;, key)&lt;br /&gt;
        :attr(&amp;#039;data-minetip-title&amp;#039;, key)&lt;br /&gt;
        :css(&amp;#039;background-position&amp;#039;, &amp;#039;-&amp;#039; .. x .. &amp;#039;px -&amp;#039; .. y .. &amp;#039;px&amp;#039;)&lt;br /&gt;
        :css(&amp;#039;background-size&amp;#039;, bgWidth .. &amp;#039;px &amp;#039; .. bgHeight .. &amp;#039;px&amp;#039;)&lt;br /&gt;
        :css(&amp;#039;width&amp;#039;, renderedSize .. &amp;#039;px&amp;#039;)&lt;br /&gt;
        :css(&amp;#039;height&amp;#039;, renderedSize .. &amp;#039;px&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
    if link and link ~= &amp;#039;&amp;#039; then&lt;br /&gt;
        return tostring(mw.html.create(&amp;#039;span&amp;#039;)&lt;br /&gt;
            :addClass(&amp;#039;sanko-sprite-link&amp;#039;)&lt;br /&gt;
            :wikitext(&amp;#039;[[&amp;#039; .. link .. &amp;#039;|&amp;#039; .. tostring(node) .. &amp;#039;]]&amp;#039;))&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    return tostring(node)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.item(frame)&lt;br /&gt;
    local args = frame.args&lt;br /&gt;
    return spriteFor(args.name or args[1], args.size, args.link)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>SankoSeedBot</name></author>
	</entry>
</feed>