<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://modded.wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3AInventory</id>
	<title>Module:Inventory - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://modded.wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3AInventory"/>
	<link rel="alternate" type="text/html" href="https://modded.wiki/index.php?title=Module:Inventory&amp;action=history"/>
	<updated>2026-05-12T23:09:43Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://modded.wiki/index.php?title=Module:Inventory&amp;diff=11464&amp;oldid=prev</id>
		<title>Patbox: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://modded.wiki/index.php?title=Module:Inventory&amp;diff=11464&amp;oldid=prev"/>
		<updated>2025-03-17T18:10:50Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&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 18:10, 17 March 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key modded_wiki:diff:1.41:old-11463:rev-11464 --&gt;
&lt;/table&gt;</summary>
		<author><name>Patbox</name></author>
	</entry>
	<entry>
		<id>https://modded.wiki/index.php?title=Module:Inventory&amp;diff=11463&amp;oldid=prev</id>
		<title>minecraft&gt;TreeIsLife: implement rest of anvil</title>
		<link rel="alternate" type="text/html" href="https://modded.wiki/index.php?title=Module:Inventory&amp;diff=11463&amp;oldid=prev"/>
		<updated>2024-08-17T20:37:01Z</updated>

		<summary type="html">&lt;p&gt;implement rest of anvil&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 noInvText = 0&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
&lt;br /&gt;
LOCAL addInventory()&lt;br /&gt;
&lt;br /&gt;
Adds inventory underneath the GUI, true by default&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
local function addInventory(args)&lt;br /&gt;
	local hotbar = {}&lt;br /&gt;
	local j = 0&lt;br /&gt;
	while j &amp;lt; 9 do&lt;br /&gt;
		table.insert(hotbar, require(&amp;quot;Module:Inventory slot&amp;quot;).slot{args[j + 1]})&lt;br /&gt;
		j = j + 1&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local inventory = {}&lt;br /&gt;
	&lt;br /&gt;
	local i = 1&lt;br /&gt;
	while i &amp;lt; 4 do&lt;br /&gt;
		table.insert(inventory, &amp;#039;&amp;lt;span style=&amp;quot;display: block;&amp;quot;&amp;gt;&amp;#039;)&lt;br /&gt;
		&lt;br /&gt;
		-- For each column (9 for each row)&lt;br /&gt;
		local j = 0&lt;br /&gt;
		while j &amp;lt; 9 do&lt;br /&gt;
			table.insert(inventory, require(&amp;quot;Module:Inventory slot&amp;quot;).slot{args[(i*9) + j + 1]})&lt;br /&gt;
			j = j + 1&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		table.insert(inventory, &amp;#039;&amp;lt;/span&amp;gt;&amp;#039;)&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	function _invText()&lt;br /&gt;
		if noInvText == 1 then&lt;br /&gt;
			return &amp;#039;&amp;#039;&lt;br /&gt;
		else&lt;br /&gt;
			return &amp;#039;&amp;lt;span style=&amp;quot;position: absolute; bottom:159px; left: 8px; color: #3F3F3F; font-family: Minecraft; font-size: 16px;&amp;quot;&amp;gt;Inventory&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return _invText() .. &amp;#039;&amp;lt;span style=&amp;quot;position: absolute; bottom: 6px; left: 6px&amp;quot;&amp;gt;&amp;#039; .. table.concat(inventory) .. &amp;#039;&amp;lt;span style=&amp;quot;display:block; margin-top:8px&amp;quot;&amp;gt;&amp;#039;.. table.concat(hotbar) .. &amp;#039;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
&lt;br /&gt;
LOCAL recipeBook()&lt;br /&gt;
&lt;br /&gt;
Adds a recipe book for survival, crafting table and furnace inventories&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local function recipeBook(t)&lt;br /&gt;
	local attr = &amp;#039;&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	if t == &amp;#039;s&amp;#039; then attr = &amp;#039;top: 114px; left: 200px;&amp;#039; &lt;br /&gt;
	elseif t == &amp;#039;ct&amp;#039; then attr = &amp;#039;top: 60px; left: 2px;&amp;#039;&lt;br /&gt;
	else attr = &amp;#039;top: 60px; left: 32px;&amp;#039; end&lt;br /&gt;
	&lt;br /&gt;
	return &amp;#039;&amp;lt;span class=&amp;quot;mcui-Inventory-Recipe_Book-button&amp;quot; style=&amp;quot;position: absolute;&amp;#039; .. attr .. &amp;#039;padding: 2px 4px 2px 4px;&amp;quot;&amp;gt;[[File:Invicon Recipe Book.png|32px|link=]]&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
&lt;br /&gt;
{{#invoke: Inventory|crafting}}&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function p.crafting( f )&lt;br /&gt;
	local args = f&lt;br /&gt;
	if f == mw.getCurrentFrame() then &lt;br /&gt;
		args = require( &amp;#039;Module:ProcessArgs&amp;#039; ).merge( true )&lt;br /&gt;
	else&lt;br /&gt;
		f = mw.getCurrentFrame()&lt;br /&gt;
	end&lt;br /&gt;
	local slot = require( &amp;#039;Module:Inventory slot&amp;#039; )&lt;br /&gt;
	&lt;br /&gt;
	local inv = &amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
	if args.noinv ~= nil or args.noinv ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		inv = addInventory(args)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local tableHeight = &amp;#039;&amp;#039; &lt;br /&gt;
	&lt;br /&gt;
	if args.noinv then tableHeight = &amp;#039;124px&amp;#039; else tableHeight = &amp;#039;304px&amp;#039; end&lt;br /&gt;
	&lt;br /&gt;
	return &amp;#039;&amp;lt;div&amp;gt;&amp;lt;span class=&amp;quot;mcui mcui-Inventory-border pixel-image&amp;quot; style=&amp;quot;box-sizing: content-box; border-width: 8px; border-style: solid; border-radius: 0; background-clip: padding-box; width: 324px; height:&amp;#039; .. tableHeight .. &amp;#039;&amp;quot;&amp;gt;&amp;#039; ..&lt;br /&gt;
	&amp;#039;&amp;lt;span style=&amp;quot;display: block; color: #3F3F3F; font-family: Minecraft; font-size: 16px; text-align:left; margin-left: 44px; margin-top: -6px; overflow: hidden; text-overflow: ellipsis;&amp;quot;&amp;gt;&amp;#039; .. (args.title or &amp;#039;Crafting&amp;#039;) .. &amp;#039;&amp;lt;/span&amp;gt;&amp;#039; ..&lt;br /&gt;
	&amp;#039;&amp;lt;span style=&amp;quot;position: absolute; top: 24px; left: 50px;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;display: block;&amp;quot;&amp;gt;&amp;#039; .. slot.slot{args.A1} .. slot.slot{args.B1} .. slot.slot{args.C1} .. &amp;#039;&amp;lt;/span&amp;gt;&amp;#039;..&lt;br /&gt;
	&amp;#039;&amp;lt;span style=&amp;quot;display: block;&amp;quot;&amp;gt;&amp;#039; .. slot.slot{args.A2} .. slot.slot{args.B2} .. slot.slot{args.C2} .. &amp;#039;&amp;lt;/span&amp;gt;&amp;#039;..&lt;br /&gt;
	&amp;#039;&amp;lt;span style=&amp;quot;display: block;&amp;quot;&amp;gt;&amp;#039; .. slot.slot{args.A3} .. slot.slot{args.B3} .. slot.slot{args.C3} .. &amp;#039;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;#039; ..&lt;br /&gt;
	&amp;#039;&amp;lt;span class=&amp;quot;mcui-Inventory-Crafting_Table-arrow&amp;quot; style=&amp;quot;position: absolute; top: 60px; left: 172px; width: 44px; height: 32px;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&amp;#039; ..&lt;br /&gt;
	slot.slot{args.Output, class=&amp;#039;invslot-large&amp;#039;, style=&amp;#039;position: absolute; top: 52px; left: 230px;&amp;#039;} .. &lt;br /&gt;
	recipeBook(&amp;#039;ct&amp;#039;) .. inv .. &amp;#039;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
&lt;br /&gt;
{{#invoke: Inventory|furnace}}&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function p.furnace( f )&lt;br /&gt;
	local args = f&lt;br /&gt;
	if f == mw.getCurrentFrame() then &lt;br /&gt;
		args = require( &amp;#039;Module:ProcessArgs&amp;#039; ).merge( true )&lt;br /&gt;
	else&lt;br /&gt;
		f = mw.getCurrentFrame()&lt;br /&gt;
	end&lt;br /&gt;
	local slot = require( &amp;#039;Module:Inventory slot&amp;#039; )&lt;br /&gt;
	&lt;br /&gt;
	local inv = &amp;#039;&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	if args.noinv ~= nil or args.noinv ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		inv = addInventory(args)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local tableHeight = &amp;#039;&amp;#039; &lt;br /&gt;
	&lt;br /&gt;
	if args.noinv then tableHeight = &amp;#039;124px&amp;#039; else tableHeight = &amp;#039;304px&amp;#039; end&lt;br /&gt;
	&lt;br /&gt;
	lit = &amp;#039;&amp;#039;&lt;br /&gt;
	if args.lit == nil or args.lit == &amp;#039;&amp;#039; then lit = &amp;#039;-inactive&amp;#039; end&lt;br /&gt;
	&lt;br /&gt;
	return &amp;#039;&amp;lt;div&amp;gt;&amp;lt;span class=&amp;quot;mcui mcui-Inventory-border pixel-image&amp;quot; style=&amp;quot;box-sizing: content-box; border-width: 8px; border-style: solid; border-radius: 0; background-clip: padding-box; width: 324px; height:&amp;#039; .. tableHeight .. &amp;#039;&amp;quot;&amp;gt;&amp;#039; ..&lt;br /&gt;
	&amp;#039;&amp;lt;span style=&amp;quot;display: block; color: #3F3F3F; font-family: Minecraft; font-size: 16px; text-align:center; margin-top: -6px; overflow: hidden; text-overflow: ellipsis;&amp;quot;&amp;gt;&amp;#039; .. (args.title or &amp;#039;Furnace&amp;#039;) .. &amp;#039;&amp;lt;/span&amp;gt;&amp;#039; ..&lt;br /&gt;
	&amp;#039;&amp;lt;span style=&amp;quot;position: absolute; top: 24px; left: 102px;&amp;quot;&amp;gt;&amp;#039; .. slot.slot{args.Input} .. &amp;#039;&amp;lt;span class=&amp;quot;mcui-Inventory-Furnace-fire&amp;#039; .. lit .. &amp;#039;&amp;quot; style=&amp;quot;display: block; width: 36px; height: 36px;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&amp;#039; ..&lt;br /&gt;
	slot.slot{args.Fuel, style=&amp;#039;display: block; position: absolute; top: 72px;&amp;#039;} ..&lt;br /&gt;
	&amp;#039;&amp;lt;span class=&amp;quot;mcui-Inventory-Furnace-progress&amp;#039;.. lit ..&amp;#039;&amp;quot; style=&amp;quot;display: block; position: absolute; top: 36px; left: 50px; width: 44px; height: 36px;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&amp;#039; ..&lt;br /&gt;
	slot.slot{args.Output, class=&amp;#039;invslot-large&amp;#039;, style=&amp;#039;position: absolute; top: 28px; left: 112px;&amp;#039;} .. &amp;#039;&amp;lt;/span&amp;gt;&amp;#039; ..&lt;br /&gt;
	recipeBook(&amp;#039;f&amp;#039;) .. inv .. &amp;#039;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
&lt;br /&gt;
{{#invoke: Inventory|brewing}}&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function p.brewing (f)&lt;br /&gt;
	local args = f&lt;br /&gt;
	if f == mw.getCurrentFrame() then &lt;br /&gt;
		args = require( &amp;#039;Module:ProcessArgs&amp;#039; ).merge( true )&lt;br /&gt;
	else&lt;br /&gt;
		f = mw.getCurrentFrame()&lt;br /&gt;
	end&lt;br /&gt;
	local slot = require( &amp;#039;Module:Inventory slot&amp;#039; )&lt;br /&gt;
	&lt;br /&gt;
	local inv = &amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
	if args.noinv ~= nil or args.noinv ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		inv = addInventory(args)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local tableHeight = &amp;#039;&amp;#039; &lt;br /&gt;
	&lt;br /&gt;
	if args.noinv then tableHeight = &amp;#039;124px&amp;#039; else tableHeight = &amp;#039;304px&amp;#039; end&lt;br /&gt;
	&lt;br /&gt;
	local function _fuel ()&lt;br /&gt;
		if args.fuel and args.fuel ~= &amp;#039;&amp;#039; then&lt;br /&gt;
			if tonumber(args.fuel) &amp;lt;= 100 then&lt;br /&gt;
				return (36 / 100 * tonumber(args.fuel))&lt;br /&gt;
			else&lt;br /&gt;
				return 36&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			return 0&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function _progress ()&lt;br /&gt;
		if args.progress and args.progress ~= &amp;#039;&amp;#039; then&lt;br /&gt;
			local progress = 57&lt;br /&gt;
			&lt;br /&gt;
			if tonumber(args.progress) &amp;lt;= 100 then &lt;br /&gt;
				progress = 57 / 100 * tonumber(args.progress)&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			return &amp;#039;&amp;lt;span class=&amp;quot;mcui-Inventory-Brewing_Stand-arrow&amp;quot; style=&amp;quot;position: absolute; top: 21px; left: 184px; width: 18px; height:&amp;#039; .. progress .. &amp;#039;px;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
		else&lt;br /&gt;
			return &amp;#039;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
		&lt;br /&gt;
	return &amp;#039;&amp;lt;div&amp;gt;&amp;lt;span class=&amp;quot;mcui mcui-Inventory-border pixel-image&amp;quot; style=&amp;quot;box-sizing: content-box; border-width: 8px; border-style: solid; border-radius: 0; background-clip: padding-box; width: 324px; height:&amp;#039; .. tableHeight .. &amp;#039;&amp;quot;&amp;gt;&amp;#039; ..&lt;br /&gt;
	&amp;#039;&amp;lt;span style=&amp;quot;display: block; color: #3F3F3F; font-family: Minecraft; font-size: 16px; text-align:center; margin-top: -6px; overflow: hidden; text-overflow: ellipsis;&amp;quot;&amp;gt;&amp;#039; .. (args.title or &amp;#039;Brewing Stand&amp;#039;) .. &amp;#039;&amp;lt;/span&amp;gt;&amp;#039; ..&lt;br /&gt;
	slot.slot{args.Fuel, default=&amp;#039;Brewing Fuel&amp;#039;, style=&amp;#039;position: absolute; top: 24px; left: 24px;&amp;#039;} .. &lt;br /&gt;
	slot.slot{args.Input, style=&amp;#039;position: absolute; top: 24px; left: 148px;&amp;#039;} .. &lt;br /&gt;
	slot.slot{args.Output1, default=&amp;#039;Brewing&amp;#039;, style=&amp;#039;position: absolute; top: 92px; left: 102px;&amp;#039;} .. &lt;br /&gt;
	slot.slot{args.Output2, default=&amp;#039;Brewing&amp;#039;, style=&amp;#039;position: absolute; top: 106px; left: 148px;&amp;#039; } .. &lt;br /&gt;
	slot.slot{args.Output3, default=&amp;#039;Brewing&amp;#039;, style=&amp;#039;position: absolute; top: 92px; left: 194px;&amp;#039;} ..&lt;br /&gt;
	&amp;#039;&amp;lt;span class=&amp;quot;mcui-Inventory-Brewing_Stand-pipes&amp;quot; style=&amp;quot;position: absolute; top: 48px; left: 58px; width: 92px; height: 42px;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&amp;#039; ..&lt;br /&gt;
	&amp;#039;&amp;lt;span class=&amp;quot;mcui-Inventory-Brewing_Stand-paths&amp;quot; style=&amp;quot;position: absolute; top: 58px; left: 136px; width: 60px; height: 50px;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&amp;#039; ..&lt;br /&gt;
	&amp;#039;&amp;lt;span class=&amp;quot;mcui-Inventory-Brewing_Stand-fuel&amp;quot; style=&amp;quot;position: absolute; top: 80px; left: 112px; background-size: cover; width:&amp;#039; .. _fuel() .. &amp;#039;px; height: 8px;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&amp;#039; ..&lt;br /&gt;
	&amp;#039;&amp;lt;span class=&amp;quot;mcui-Inventory-Brewing_Stand-bubbles&amp;#039; .. (args.progress or &amp;#039;-inactive&amp;#039;) .. &amp;#039;&amp;quot; style=&amp;quot;position: absolute; top: 21px; left: 120px; background-size: cover; width: 24px; height: 57px;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&amp;#039; ..&lt;br /&gt;
	&amp;#039;&amp;lt;span class=&amp;quot;mcui-Inventory-Brewing_Stand-arrow-inactive&amp;quot; style=&amp;quot;position: absolute; top: 21px; left: 184px; width: 18px; height: 57px;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&amp;#039; ..&lt;br /&gt;
	_progress() ..&lt;br /&gt;
	inv .. &amp;#039;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
&lt;br /&gt;
{{#invoke: Inventory|anvil}}&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function p.anvil (f)&lt;br /&gt;
	local args = f&lt;br /&gt;
	if f == mw.getCurrentFrame() then &lt;br /&gt;
		args = require( &amp;#039;Module:ProcessArgs&amp;#039; ).merge( true )&lt;br /&gt;
	else&lt;br /&gt;
		f = mw.getCurrentFrame()&lt;br /&gt;
	end&lt;br /&gt;
	local slot = require( &amp;#039;Module:Inventory slot&amp;#039; )&lt;br /&gt;
	&lt;br /&gt;
	local inv = &amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
	if args.noinv ~= nil or args.noinv ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		inv = addInventory(args)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local tableHeight = &amp;#039;&amp;#039; &lt;br /&gt;
	&lt;br /&gt;
	if args.noinv then tableHeight = &amp;#039;124px&amp;#039; else tableHeight = &amp;#039;304px&amp;#039; end&lt;br /&gt;
	&lt;br /&gt;
	local crossed = &amp;#039;&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	if args.crossed then&lt;br /&gt;
		crossed = &amp;#039;-inactive&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	function _title()&lt;br /&gt;
		if args.text then&lt;br /&gt;
			&lt;br /&gt;
			local _text = mw.html.create( &amp;#039;span&amp;#039; ):addClass(&amp;#039;mcui-Anvil-inputbox mcui-input&amp;#039;)&lt;br /&gt;
			if args.Input1 or args.text then&lt;br /&gt;
				local animate = require( [[Module:AnimateText]] ).animate&lt;br /&gt;
				&lt;br /&gt;
				if args.text then&lt;br /&gt;
					itemName = animate{&lt;br /&gt;
						args.text:gsub( &amp;#039;;&amp;#039; , &amp;#039;,,&amp;#039; )&lt;br /&gt;
	    			}&lt;br /&gt;
				else&lt;br /&gt;
					itemName = animate{&lt;br /&gt;
						args.Input1:gsub( &amp;#039;;&amp;#039; , &amp;#039;,,&amp;#039; )&lt;br /&gt;
	    			}&lt;br /&gt;
	    		end&lt;br /&gt;
			else&lt;br /&gt;
				_text:addClass( &amp;#039;mcui-inactive&amp;#039; )&lt;br /&gt;
				itemName = &amp;#039;&amp;lt;br&amp;gt;&amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			_text:wikitext( ( itemName:gsub( &amp;#039;class=&amp;quot;animated&amp;quot;&amp;#039;, &amp;#039;class=&amp;quot;mcui-Anvil-inputtext animated&amp;quot;&amp;#039; ) ) )&lt;br /&gt;
			&lt;br /&gt;
			return &amp;#039;&amp;lt;span class=&amp;quot;mcui-Inventory-Anvil-input&amp;quot; style=&amp;quot;position: absolute; top: 32px; right: 6px; width: 220px; height: 32px;&amp;quot;&amp;gt;&amp;#039;..&lt;br /&gt;
			&amp;#039;&amp;lt;span style=&amp;quot;display: block; margin: 5px 6px; color: #FCFCFC; text-shadow: 0.125em 0.125em 0 #3E3E3E; font-family: Minecraft; font-size: 16px; overflow: hidden; text-overflow: ellipsis; max-width: 208px;&amp;quot;&amp;gt;&amp;#039; ..&lt;br /&gt;
			tostring(_text) ..&lt;br /&gt;
			&amp;#039;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
		else&lt;br /&gt;
			return &amp;#039;&amp;lt;span class=&amp;quot;mcui-Inventory-Anvil-input-inactive&amp;quot; style=&amp;quot;position: absolute; top: 32px; right: 6px; width: 220px; height: 32px;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	function _cost()&lt;br /&gt;
		--return &amp;#039;&amp;#039; --&lt;br /&gt;
		if args.cost and args.cost ~= &amp;#039;&amp;#039; then&lt;br /&gt;
&lt;br /&gt;
			function _expensive()&lt;br /&gt;
				if args.expensive and args.expensive ~= &amp;#039;&amp;#039; then&lt;br /&gt;
					return &amp;#039;color: #FC5F5F; text-shadow: 0.125em 0.125em #3E1818, 0.125em 0 #3E1818, 0 0.125em #3E1818;&amp;#039;&lt;br /&gt;
				else&lt;br /&gt;
					return &amp;#039;color: #7EFC20; text-shadow: 0.125em 0.125em #203E08, 0.125em 0 #203E08, 0 0.125em #203E08;&amp;#039;&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			function _cost()&lt;br /&gt;
				if args.cost == &amp;#039;expensive&amp;#039; then&lt;br /&gt;
					return &amp;#039;Too Expensive!&amp;#039;&lt;br /&gt;
				else&lt;br /&gt;
					return &amp;#039;Enchantment Cost: &amp;#039; .. args.cost&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			return &amp;#039;&amp;lt;span style=&amp;quot;display: block; position: absolute; top: 126px; right: 8px; background: #898989; padding: 0 4px 0 4px; font-family: Minecraft; font-size: 16px;&amp;#039; ..&lt;br /&gt;
			_expensive() .. &amp;#039;overflow: hidden; text-overflow: ellipsis; max-width: 308px;&amp;quot;&amp;gt;&amp;#039; .. _cost() .. &amp;#039;&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		return &amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return &amp;#039;&amp;lt;div&amp;gt;&amp;lt;span class=&amp;quot;mcui mcui-Inventory-border pixel-image&amp;quot; style=&amp;quot;box-sizing: content-box; border-width: 8px; border-style: solid; border-radius: 0; background-clip: padding-box; width: 324px; height:&amp;#039; .. tableHeight .. &amp;#039;&amp;quot;&amp;gt;&amp;#039; ..&lt;br /&gt;
	&amp;#039;&amp;lt;span style=&amp;quot;display: block; color: #3F3F3F; font-family: Minecraft; font-size: 16px; text-align:left; margin-left: 106px; margin-top: -6px; overflow: hidden; text-overflow: ellipsis;&amp;quot;&amp;gt;&amp;#039; .. (args.title or &amp;#039;Repair &amp;amp; Name&amp;#039;) .. &amp;#039;&amp;lt;/span&amp;gt;&amp;#039; ..&lt;br /&gt;
	_title() ..&lt;br /&gt;
	&amp;#039;&amp;lt;span style=&amp;quot;display: block; position: absolute; top: 84px; left: 44px;&amp;quot;&amp;gt;&amp;#039; ..&lt;br /&gt;
	slot.slot{args.Input1} ..&lt;br /&gt;
	slot.slot{args.Input2, style=&amp;#039;margin-left: 62px&amp;#039;} ..&lt;br /&gt;
	slot.slot{args.Output, style=&amp;#039;margin-left: 80px&amp;#039;} .. &amp;#039;&amp;lt;/span&amp;gt;&amp;#039; ..&lt;br /&gt;
	&amp;#039;&amp;lt;span class=&amp;quot;mcui-Inventory-Anvil-hammer&amp;quot; style=&amp;quot;position: absolute; top: 6px; left: 26px; background-size: cover; width: 60px; height: 60px;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&amp;#039; ..&lt;br /&gt;
	&amp;#039;&amp;lt;span class=&amp;quot;mcui-Inventory-Anvil-plus&amp;quot; style=&amp;quot;position: absolute; top: 90px; left: 98px; background-size: cover; width: 26px; height: 26px;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&amp;#039; ..&lt;br /&gt;
	&amp;#039;&amp;lt;span class=&amp;quot;mcui-Inventory-Anvil-arrow&amp;#039;.. crossed ..&amp;#039;&amp;quot; style=&amp;quot;display: block; position: absolute; top: 88px; left: 196px; width: 44px; height: 30px;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&amp;#039; ..&lt;br /&gt;
	_cost()  ..&lt;br /&gt;
	inv .. &amp;#039;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
&lt;br /&gt;
{{#invoke: Inventory|legacy_smithing}}&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function p.legacy_smithing (f)&lt;br /&gt;
	local args = f&lt;br /&gt;
	if f == mw.getCurrentFrame() then &lt;br /&gt;
		args = require( &amp;#039;Module:ProcessArgs&amp;#039; ).merge( true )&lt;br /&gt;
	else&lt;br /&gt;
		f = mw.getCurrentFrame()&lt;br /&gt;
	end&lt;br /&gt;
	local slot = require( &amp;#039;Module:Inventory slot&amp;#039; )	&lt;br /&gt;
	&lt;br /&gt;
	local inv = &amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
	if args.noinv ~= nil or args.noinv ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		inv = addInventory(args)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local crossed = &amp;#039;&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	if args.crossed then&lt;br /&gt;
		crossed = &amp;#039;-inactive&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local tableHeight = &amp;#039;&amp;#039; &lt;br /&gt;
	&lt;br /&gt;
	if args.noinv then tableHeight = &amp;#039;124px&amp;#039; else tableHeight = &amp;#039;304px&amp;#039; end&lt;br /&gt;
		&lt;br /&gt;
	return &amp;#039;&amp;lt;div&amp;gt;&amp;lt;span class=&amp;quot;mcui mcui-Inventory-border pixel-image&amp;quot; style=&amp;quot;box-sizing: content-box; border-width: 8px; border-style: solid; border-radius: 0; background-clip: padding-box; width: 324px; height:&amp;#039; .. tableHeight .. &amp;#039;&amp;quot;&amp;gt;&amp;#039; ..&lt;br /&gt;
	&amp;#039;&amp;lt;span style=&amp;quot;display: block; color: #3F3F3F; font-family: Minecraft; font-size: 16px; text-align:left; margin-left: 106px; margin-top: 18px; overflow: hidden; text-overflow: ellipsis;&amp;quot;&amp;gt;&amp;#039; .. (args.title or &amp;#039;Upgrade Gear&amp;#039;) .. &amp;#039;&amp;lt;/span&amp;gt;&amp;#039; ..&lt;br /&gt;
	&amp;#039;&amp;lt;span style=&amp;quot;display: block; position: absolute; top: 84px; left: 44px;&amp;quot;&amp;gt;&amp;#039; ..&lt;br /&gt;
	slot.slot{args.Input1} ..&lt;br /&gt;
	slot.slot{args.Input2, default = &amp;#039;Smithing&amp;#039;, style=&amp;#039;margin-left: 62px&amp;#039;} ..&lt;br /&gt;
	slot.slot{args.Output, style=&amp;#039;margin-left: 80px&amp;#039;} .. &amp;#039;&amp;lt;/span&amp;gt;&amp;#039; ..&lt;br /&gt;
	&amp;#039;&amp;lt;span class=&amp;quot;mcui-Inventory-Smithing_Table-hammer&amp;quot; style=&amp;quot;position: absolute; top: 6px; left: 26px; background-size: cover; width: 60px; height: 60px;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&amp;#039; ..&lt;br /&gt;
	&amp;#039;&amp;lt;span class=&amp;quot;mcui-Inventory-Anvil-plus&amp;quot; style=&amp;quot;position: absolute; top: 90px; left: 98px; background-size: cover; width: 26px; height: 26px;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&amp;#039; ..&lt;br /&gt;
	&amp;#039;&amp;lt;span class=&amp;quot;mcui-Inventory-Anvil-arrow&amp;#039;.. crossed ..&amp;#039;&amp;quot; style=&amp;quot;display: block; position: absolute; top: 88px; left: 196px; width: 44px; height: 30px;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&amp;#039; ..&lt;br /&gt;
	inv .. &amp;#039;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
&lt;br /&gt;
{{#invoke: Inventory|smithing}}&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function p.smithing (f)&lt;br /&gt;
	local args = f&lt;br /&gt;
	if f == mw.getCurrentFrame() then &lt;br /&gt;
		args = require( &amp;#039;Module:ProcessArgs&amp;#039; ).merge( true )&lt;br /&gt;
	else&lt;br /&gt;
		f = mw.getCurrentFrame()&lt;br /&gt;
	end&lt;br /&gt;
	local slot = require( &amp;#039;Module:Inventory slot&amp;#039; )&lt;br /&gt;
	&lt;br /&gt;
	local inv = &amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
	if args.noinv ~= nil or args.noinv ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		inv = addInventory(args)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return &amp;#039;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
&lt;br /&gt;
{{#invoke: Inventory|survival}}&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function p.survival (f)&lt;br /&gt;
	local args = f&lt;br /&gt;
	if f == mw.getCurrentFrame() then &lt;br /&gt;
		args = require( &amp;#039;Module:ProcessArgs&amp;#039; ).merge( true )&lt;br /&gt;
	else&lt;br /&gt;
		f = mw.getCurrentFrame()&lt;br /&gt;
	end&lt;br /&gt;
	local slot = require( &amp;#039;Module:Inventory slot&amp;#039; )&lt;br /&gt;
	&lt;br /&gt;
	noInvText = 1&lt;br /&gt;
	local inv = addInventory(args)&lt;br /&gt;
	&lt;br /&gt;
	function _armor()&lt;br /&gt;
		return &amp;#039;&amp;lt;span style=&amp;quot;display: block; position: absolute; top: 6px; left: 6px;&amp;quot;&amp;gt;&amp;#039; ..&lt;br /&gt;
		slot.slot{args[103], default = (args[103] or &amp;#039;Head&amp;#039;), style = &amp;#039;display: block;&amp;#039;} ..&lt;br /&gt;
		slot.slot{args[102], default = (args[102] or &amp;#039;Chest&amp;#039;), style = &amp;#039;display: block;&amp;#039;} ..&lt;br /&gt;
		slot.slot{args[101], default = (args[101] or &amp;#039;Legs&amp;#039;), style = &amp;#039;display: block;&amp;#039;} ..&lt;br /&gt;
		slot.slot{args[100], default = (args[100] or &amp;#039;Feet&amp;#039;), style = &amp;#039;display: block;&amp;#039;} ..&lt;br /&gt;
		&amp;#039;&amp;lt;/span&amp;gt;&amp;#039; .. &lt;br /&gt;
		&amp;#039;&amp;lt;span class=&amp;quot;invslot&amp;quot; style=&amp;quot;display: block; position: absolute; top: 6px; left: 42px; width: 98px; height: 140px; background:&amp;#039; .. (args.background or &amp;#039;black&amp;#039;) .. &amp;#039;;&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;mcui-Inventory-Player-Steve&amp;quot; style=&amp;quot;display: block; position: absolute; width: 98px; height: 140px;&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&amp;#039; ..&lt;br /&gt;
		slot.slot{args.offhand, default = (args.offhand or &amp;#039;Offhand&amp;#039;), style = &amp;#039;position: absolute; top: 114px; left: 144px;&amp;#039;} ..&lt;br /&gt;
		&amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return &amp;#039;&amp;lt;div&amp;gt;&amp;lt;span class=&amp;quot;mcui mcui-Inventory-border pixel-image&amp;quot; style=&amp;quot;box-sizing: content-box; border-width: 8px; border-style: solid; border-radius: 0; background-clip: padding-box; width: 324px; height: 304px&amp;quot;&amp;gt;&amp;#039; ..&lt;br /&gt;
	_armor() ..&lt;br /&gt;
	&amp;#039;&amp;lt;span style=&amp;quot;position: absolute; top: 26px; left: 186px;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;position: absolute; top: -26px; color: #3F3F3F; font-family: Minecraft; font-size: 16px;&amp;quot;&amp;gt;Crafting&amp;lt;/span&amp;gt;&amp;#039; ..&lt;br /&gt;
	&amp;#039;&amp;lt;span style=&amp;quot;display:inline-block;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;display:block;&amp;quot;&amp;gt;&amp;#039; .. slot.slot{(args.A1 or &amp;#039;&amp;#039;)} .. slot.slot{(args.B1 or &amp;#039;&amp;#039;)} .. &amp;#039;&amp;lt;/span&amp;gt;&amp;#039; ..&lt;br /&gt;
	&amp;#039;&amp;lt;span style=&amp;quot;display:block;&amp;quot;&amp;gt;&amp;#039; .. slot.slot{(args.A2 or &amp;#039;&amp;#039;)} .. slot.slot{(args.B2 or &amp;#039;&amp;#039;)} .. &amp;#039;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;#039; ..&lt;br /&gt;
	&amp;#039;&amp;lt;span class=&amp;quot;mcui-Inventory-Table-arrow&amp;quot; style=&amp;quot;display: inline-block; width: 32px; height: 26px; vertical-align: top; margin-left: 4px; margin-top: 24px;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&amp;#039;..&lt;br /&gt;
	&amp;#039;&amp;lt;span style=&amp;quot;display: inline-block; vertical-align: top; margin-left: 4px; margin-top: 20px;&amp;quot;&amp;gt;&amp;#039; .. slot.slot{(args.Output or &amp;#039;&amp;#039;)} ..&amp;#039;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;#039; ..&lt;br /&gt;
	recipeBook(&amp;#039;s&amp;#039;) .. inv .. &amp;#039;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>minecraft&gt;TreeIsLife</name></author>
	</entry>
</feed>