Anonymous
×
Create a new article
Write your page title here:
We currently have 496 articles on WIKI - Idle Pixel. Type your article name above or click on one of the titles below and start writing!



WIKI - Idle Pixel
Revision as of 09:46, 4 November 2024 by Dounford (talk | contribs)

This module uses the data from Module:Crafting_DB to create a exhibition of all the craftable items of the game

{{#invoke:Lua|crafting}}

{{tabs

|name1=Furnace |tab1=2|name2=Oven |tab2=2|name3=Statue |tab3=2|name4=Oil Well |tab4=2|name5=Community Center |tab5=2|name6=Oil Silo |tab6=2|name7=Arrow |tab7=2|name8=Mining Machinery |tab8=2|name9=Boat |tab9=2|name10=Fight Points Medallion |tab10=2|name11=Weapon |tab11=2|name12=Tool |tab12=2 }}


u = require("Module:Util")
db = require("Module:Crafting_DB")
inspect = require("Module:InspectLua")

local p = {}

local groups = {'Furnace','Oven','Statue','Oil Well','Community Center','Oil Silo','Arrow','Mining Machinery','Boat','Fight Points Medallion','Weapon','Tool'}

function p.craftingTable()
	local tableText = [[{{tabs

]]
	for groupIndex, group in ipairs(groups) do
		local recipes = {}
		local itemIndex = 0
		for _, e in ipairs(db) do
			if e[6] == groupIndex then
				itemIndex = itemIndex + 1
				if not recipes[itemIndex] then
					recipes[itemIndex] = {
						item = e[1],
						itemImage = e[2],
						level = e[3],
						description = e[7],
						xp = e[4],
						materials = {}
					}
				end
				for _, f in ipairs(e[5]) do
					table.insert(recipes[itemIndex].materials, f)
				end
			end
		end
		tableText = tableText .. [[{{!}}name]] .. groupIndex .. [[=]] .. groups[groupIndex]
		tableText = tableText .. [[

{{!}}tab]] .. groupIndex .. [[=]] .. 2
	end
	tableText = tableText .. [[

	}}]]
	return tableText
end

function p.table(recipes)
    result = [[

{| class="wikitable sortable"

! colspan="2" style="width: 30%" |Item

! Level Needed

! style="width: 20%" |Materials

! style="width: 25%" |Description

!XP
]]
    for _, e in pairs(recipes) do
		local materialStr = ''
		for i, m in ipairs(e.materials) do
			materialStr = materialStr .. u.c(m[2]) .. " " .. '[[' .. m[1] .. ']]'
			materialStr = materialStr .. "<br>"
		end

        result = result .. [[

|-
|]] .. '[[File: ' .. e.itemImage .. '.png|35px|link=' .. e.item .. ']]' .. [[

|]] .. '[[' .. e.item .. ']]' .. [[

|]] .. e.level .. '[[File:CraftingSigil.png|20px|link=]]' .. [[
 
|]] .. materialStr .. [[

|]] .. e.description .. [[

|]] .. u.c(e.xp) .. 'xp' .. [[
 
]]
    end
    return result .. [[
|}
]]
end
return p