Module:Crafting: Difference between revisions

From Official Gamemode 4 Wiki
Jump to navigation Jump to search
m (ugh)
(Add the ability to get an inlineable item with count)
Line 43: Line 43:
:GenerateHTML()
:GenerateHTML()
:addClass( "catalyst" )
:addClass( "catalyst" )
end
function p.Item( f )
local args = f.args
if #args == 0 then
args = f:getParent().args or {""}
end
local spriteDiv = require([[Module:Sprite]])
:new("inventory")
:setItem(mw.text.trim(args[1]))
:GenerateHTML()
local count = tonumber(args['count']) or tonumber(args['Count']) or 1
if count ~= 1 then
local countSpan = spriteDiv:tag("span"):wikitext(count)
countSpan:addClass("invslot-stacksize")
end
return spriteDiv
end
end


return p
return p

Revision as of 18:24, 4 April 2019

p = {}

function Grid(args, w, h, large)
	return require([[Module:InventorySlot]]).Call(args,w,h,large)
end

function p.Grid( f )
	local args = f.args
	if #args == 0 then
		args = f:getParent().args
	end

	return Grid(args, 3, 3)
end

function p.Cell( f )
	local args = f.args
	if #args == 0 then
		args = f:getParent().args
	end

	return Grid(args, 1, 1, args.Large)
end

function p.Hopper( f )
	local args = f.args
	if #args == 0 then
		args = f:getParent().args
	end

	return Grid(args, 5, 1)
end

function p.Catalyst( f )
	local args = f.args
	if #args == 0 then
		args = f:getParent().args or {""}
	end
	return require([[Module:Sprite]])
		:new("inventory")
		:setItem(mw.text.trim(args[1]))
		:SetSize(16)
		:GenerateHTML()
		:addClass( "catalyst" )
end

function p.Item( f )
	local args = f.args
	if #args == 0 then
		args = f:getParent().args or {""}
	end
	local spriteDiv = require([[Module:Sprite]])
		:new("inventory")
		:setItem(mw.text.trim(args[1]))
		:GenerateHTML()


	local count = tonumber(args['count']) or tonumber(args['Count']) or 1
	if count ~= 1 then
		local countSpan = spriteDiv:tag("span"):wikitext(count)
		countSpan:addClass("invslot-stacksize")
	end

	return spriteDiv
end

return p