<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://petitplanet.wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3AItem</id>
	<title>Module:Item - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://petitplanet.wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3AItem"/>
	<link rel="alternate" type="text/html" href="https://petitplanet.wiki/index.php?title=Module:Item&amp;action=history"/>
	<updated>2026-04-08T10:00:46Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://petitplanet.wiki/index.php?title=Module:Item&amp;diff=449&amp;oldid=prev</id>
		<title>ReisuDesign at 19:00, 10 November 2025</title>
		<link rel="alternate" type="text/html" href="https://petitplanet.wiki/index.php?title=Module:Item&amp;diff=449&amp;oldid=prev"/>
		<updated>2025-11-10T19:00:30Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 19:00, 10 November 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l24&quot;&gt;Line 24:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 24:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	local white		= tostring(args.white) == &amp;#039;1&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	local white		= tostring(args.white) == &amp;#039;1&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	local prefix	= &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;args.prefix and (args.prefix .. &lt;/del&gt;&#039; &#039;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;) or (type .. &#039; &#039;)&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	local prefix	= &#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	local suffix	= &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;args.suffix and (&#039; &#039; .. args.suffix) or &lt;/del&gt;&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	local suffix	= &#039; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Icon&lt;/ins&gt;&#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	if (type ~= &amp;#039;Neighbor&amp;#039; and item == &amp;#039;Unknown&amp;#039;) then&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	if (type ~= &amp;#039;Neighbor&amp;#039; and item == &amp;#039;Unknown&amp;#039;) then&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key petitplanet:diff:1.41:old-363:rev-449:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>ReisuDesign</name></author>
	</entry>
	<entry>
		<id>https://petitplanet.wiki/index.php?title=Module:Item&amp;diff=363&amp;oldid=prev</id>
		<title>ReisuDesign: Created page with &quot;local p = {} local lib = require(&#039;Module:Feature&#039;)  function p.main(frame) 	local args = require(&#039;Module:Arguments&#039;).getArgs(frame, { 		parentFirst = true, 		removeBlanks = false 	}) 	return p._main(args) end  function p._main(args) 	local item		= lib.nilIfEmpty(args[1])		or lib.nilIfEmpty(args.name)	or &#039;Unknown&#039; 	local size		= lib.nilIfEmpty(args[2])		or lib.nilIfEmpty(args.size)	or 30 	local count		= lib.nilIfEmpty(args.count)	or lib.nilIfEmpty(args.x)		or nil 	local n...&quot;</title>
		<link rel="alternate" type="text/html" href="https://petitplanet.wiki/index.php?title=Module:Item&amp;diff=363&amp;oldid=prev"/>
		<updated>2025-11-10T13:46:29Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;local p = {} local lib = require(&amp;#039;Module:Feature&amp;#039;)  function p.main(frame) 	local args = require(&amp;#039;Module:Arguments&amp;#039;).getArgs(frame, { 		parentFirst = true, 		removeBlanks = false 	}) 	return p._main(args) end  function p._main(args) 	local item		= lib.nilIfEmpty(args[1])		or lib.nilIfEmpty(args.name)	or &amp;#039;Unknown&amp;#039; 	local size		= lib.nilIfEmpty(args[2])		or lib.nilIfEmpty(args.size)	or 30 	local count		= lib.nilIfEmpty(args.count)	or lib.nilIfEmpty(args.x)		or nil 	local n...&amp;quot;&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 lib = require(&amp;#039;Module:Feature&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local args = require(&amp;#039;Module:Arguments&amp;#039;).getArgs(frame, {&lt;br /&gt;
		parentFirst = true,&lt;br /&gt;
		removeBlanks = false&lt;br /&gt;
	})&lt;br /&gt;
	return p._main(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._main(args)&lt;br /&gt;
	local item		= lib.nilIfEmpty(args[1])		or lib.nilIfEmpty(args.name)	or &amp;#039;Unknown&amp;#039;&lt;br /&gt;
	local size		= lib.nilIfEmpty(args[2])		or lib.nilIfEmpty(args.size)	or 30&lt;br /&gt;
	local count		= lib.nilIfEmpty(args.count)	or lib.nilIfEmpty(args.x)		or nil&lt;br /&gt;
	local note		= lib.nilIfEmpty(args.note)		or nil&lt;br /&gt;
	local ref		= lib.nilIfEmpty(args.ref)		or nil&lt;br /&gt;
	local type		= lib.nilIfEmpty(args[&amp;#039;type&amp;#039;])	or &amp;#039;Item&amp;#039;&lt;br /&gt;
	local text		= lib.nilIfEmpty(args.text)		or item&lt;br /&gt;
	local link		= args.link						or lib.ternary(item == &amp;#039;Unknown&amp;#039;, &amp;#039;&amp;#039;, item)&lt;br /&gt;
	local blueprint	= tostring(args.blueprint) == &amp;#039;1&amp;#039;&lt;br /&gt;
	local newline	= tostring(args.newline) == &amp;#039;1&amp;#039;&lt;br /&gt;
	local notext	= tostring(args.notext) == &amp;#039;1&amp;#039;&lt;br /&gt;
	local white		= tostring(args.white) == &amp;#039;1&amp;#039;&lt;br /&gt;
&lt;br /&gt;
	local prefix	= args.prefix and (args.prefix .. &amp;#039; &amp;#039;) or (type .. &amp;#039; &amp;#039;)&lt;br /&gt;
	local suffix	= args.suffix and (&amp;#039; &amp;#039; .. args.suffix) or &amp;#039;&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	if (type ~= &amp;#039;Neighbor&amp;#039; and item == &amp;#039;Unknown&amp;#039;) then&lt;br /&gt;
		prefix = &amp;#039;&amp;#039;&lt;br /&gt;
		suffix = &amp;#039; Icon&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if (white) then suffix = suffix .. &amp;#039; White&amp;#039; end&lt;br /&gt;
	&lt;br /&gt;
	local filename = &amp;#039;File:&amp;#039; .. prefix .. item .. suffix .. &amp;#039;.png&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	local file = &amp;#039;[[&amp;#039; .. filename .. &amp;#039;|&amp;#039; .. size .. &amp;#039;x&amp;#039; .. size .. &amp;#039;px|alt=&amp;#039; .. item .. &amp;#039;|link=&amp;#039; .. link .. &amp;#039;]]&amp;#039;&lt;br /&gt;
	local mobile_file = &amp;#039;[[&amp;#039; .. filename .. &amp;#039;|30x30px|alt=&amp;#039; .. item .. &amp;#039;|link=&amp;#039; .. link .. &amp;#039;]]&amp;#039;&lt;br /&gt;
&lt;br /&gt;
	local icon = nil&lt;br /&gt;
	local corner_size = math.floor(tonumber(size) / 2.5)&lt;br /&gt;
	local offset = 0&lt;br /&gt;
	if (corner_size &amp;gt; 21) then&lt;br /&gt;
		offset = 0&lt;br /&gt;
	elseif (corner_size &amp;gt; 8) then&lt;br /&gt;
		offset = math.floor((corner_size - 22) / 2)&lt;br /&gt;
	else&lt;br /&gt;
		offset = -6&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if (blueprint) then&lt;br /&gt;
		icon = &amp;#039;[[File:Icon Furnishing Blueprint.png|&amp;#039; .. corner_size .. &amp;#039;x&amp;#039; .. corner_size .. &amp;#039;px|link=&amp;#039; .. link .. &amp;#039;]]&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if (lib.isEmpty(item)) then&lt;br /&gt;
		return &amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local outerClass = lib.ternary(type:lower() == &amp;#039;item&amp;#039;, &amp;#039;item&amp;#039;, &amp;#039;item &amp;#039; .. type:lower())&lt;br /&gt;
	local result = mw.html.create():tag(&amp;#039;span&amp;#039;):addClass(outerClass)&lt;br /&gt;
&lt;br /&gt;
	local item_image = result:tag(&amp;#039;span&amp;#039;)&lt;br /&gt;
		:addClass(&amp;#039;item-image&amp;#039;)&lt;br /&gt;
		:tag(&amp;#039;span&amp;#039;)&lt;br /&gt;
			:addClass(&amp;#039;hidden&amp;#039;)&lt;br /&gt;
			:css({&lt;br /&gt;
				width    = size .. &amp;#039;px&amp;#039;,&lt;br /&gt;
				height   = size .. &amp;#039;px&amp;#039;,&lt;br /&gt;
			})&lt;br /&gt;
			:attr(&amp;#039;data-size&amp;#039;, size)&lt;br /&gt;
			:wikitext(file)&lt;br /&gt;
			:done()&lt;br /&gt;
		:tag(&amp;#039;span&amp;#039;)&lt;br /&gt;
			:addClass(&amp;#039;mobile-only&amp;#039;)&lt;br /&gt;
			:wikitext(mobile_file)&lt;br /&gt;
			:done()&lt;br /&gt;
&lt;br /&gt;
	if (icon ~= nil) then&lt;br /&gt;
		item_image:tag(&amp;#039;span&amp;#039;):addClass(&amp;#039;item-icon&amp;#039;)&lt;br /&gt;
			:css({&lt;br /&gt;
				top      = offset .. &amp;#039;px&amp;#039;,&lt;br /&gt;
				width    = corner_size .. &amp;#039;px&amp;#039;,&lt;br /&gt;
				height   = corner_size .. &amp;#039;px&amp;#039;&lt;br /&gt;
			})&lt;br /&gt;
			:attr(&amp;#039;data-offset&amp;#039;, offset)&lt;br /&gt;
			:attr(&amp;#039;data-corner-size&amp;#039;, corner_size)&lt;br /&gt;
			:wikitext(icon)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if (newline) then&lt;br /&gt;
		result:addClass(&amp;#039;newline&amp;#039;)&lt;br /&gt;
		result:tag(&amp;#039;br&amp;#039;):addClass(&amp;#039;hidden&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	function parseAmE(a, b)&lt;br /&gt;
		local a = a or &amp;#039;&amp;#039;&lt;br /&gt;
		local b = b or &amp;#039;&amp;#039;&lt;br /&gt;
		&lt;br /&gt;
		function addPunct(var)&lt;br /&gt;
			if args.comma or args.commaspc then var = var .. &amp;#039;,&amp;#039;&lt;br /&gt;
			elseif args.dot or args.dotspc then var = var .. &amp;#039;.&amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
			var = var&lt;br /&gt;
				:gsub(&amp;#039;%.%.%.&amp;quot;%s-[%.%,]$&amp;#039;, &amp;#039;...&amp;quot;&amp;#039;)	-- no punctuation if quote ends in elipses&lt;br /&gt;
				:gsub(&amp;#039;([%?%!])&amp;quot;%s-[%.%,]$&amp;#039;, &amp;#039;%1&amp;quot;&amp;#039;)	-- no punctuation if quote ends in question or exclamation&lt;br /&gt;
				:gsub(&amp;#039;&amp;quot;%s-([%.%,])$&amp;#039;, &amp;#039;%1&amp;quot;&amp;#039;)		-- move punctuation inside quote for anything else bc AmE&lt;br /&gt;
			return var&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- needs to append to the last one with text&lt;br /&gt;
		if lib.isEmpty(b) then a = addPunct(a)&lt;br /&gt;
		else b = addPunct(b)&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if args.commaspc or args.dotspc then b = b .. &amp;#039; &amp;#039; end -- space always on the very end&lt;br /&gt;
		&lt;br /&gt;
		return {a, b}&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local item_text = result:tag(&amp;#039;span&amp;#039;):addClass(&amp;#039;item-text&amp;#039;)&lt;br /&gt;
	if (not notext) then&lt;br /&gt;
		local before = newline and &amp;#039;&amp;#039; or &amp;#039; &amp;#039;&lt;br /&gt;
		local ame = ((count or note) and {text, &amp;#039;&amp;#039;} or parseAmE(text, &amp;#039;&amp;#039;))&lt;br /&gt;
		local label = ame[1]&lt;br /&gt;
		local after = ame[2]&lt;br /&gt;
		if (ref and not(count or note)) then after:gsub(&amp;#039;%s*$&amp;#039;, &amp;#039;&amp;#039;) end&lt;br /&gt;
		&lt;br /&gt;
		if (lib.isEmpty(link)) then&lt;br /&gt;
			item_text:wikitext(before, label, after)&lt;br /&gt;
		else&lt;br /&gt;
			item_text:wikitext(before, &amp;#039;[[&amp;#039;, link, &amp;#039;|&amp;#039;, label, &amp;#039;]]&amp;#039;, after)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if (count) then&lt;br /&gt;
		count = (count:gsub(&amp;#039;,&amp;#039;, &amp;#039;&amp;#039;))&lt;br /&gt;
		if tonumber(count)~=nil then count = lib.thousandsSeparator(count) end&lt;br /&gt;
		count = table.concat(note and {count, &amp;#039;&amp;#039;} or parseAmE(count, &amp;#039;&amp;#039;), &amp;#039;&amp;#039;)&lt;br /&gt;
		if (ref and not note) then count:gsub(&amp;#039;%s*$&amp;#039;, &amp;#039;&amp;#039;) end&lt;br /&gt;
		item_text:wikitext((notext and &amp;#039;&amp;#039; or &amp;#039; &amp;#039;) .. &amp;#039;×&amp;#039; .. count)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if (note) then&lt;br /&gt;
		local after = table.concat(parseAmE(&amp;#039;&amp;#039;, &amp;#039;&amp;#039;), &amp;#039;&amp;#039;)&lt;br /&gt;
		if (ref) then after:gsub(&amp;#039;%s*$&amp;#039;, &amp;#039;&amp;#039;) end&lt;br /&gt;
		item_text:tag(&amp;#039;small&amp;#039;):wikitext(((notext and not count) and &amp;#039;&amp;#039; or &amp;#039; &amp;#039;),&amp;#039;(&amp;#039;, note, &amp;#039;)&amp;#039;, after)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if (ref) then&lt;br /&gt;
		local after = (args.commaspc or args.dotspc) and &amp;#039; &amp;#039; or &amp;#039;&amp;#039; -- avoid space between ref and punctuation &lt;br /&gt;
		item_text:wikitext(ref, after)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return tostring(result);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>ReisuDesign</name></author>
	</entry>
</feed>