Editing Module:Infobox Item
From Eco - English Wiki
Your changes will be displayed to readers once an authorized user accepts them. (help)
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 3: | Line 3: | ||
local p = {} | local p = {} | ||
local Utils = require('Module:Utils') | local Utils = require('Module:Utils') | ||
-- Build an Item Infobox | -- Build an Item Infobox | ||
function itemBox(args, itemData) | function itemBox( args, itemData ) | ||
-- check that all necessary arguments are passed correctly | -- check that all necessary arguments are passed correctly | ||
if args.name == nil or args.name == '' then | if args.name == nil or args.name == '' then | ||
return '\'name\' must be specified.' | return '\'name\' must be specified.' | ||
end | end | ||
local item = args.name | |||
local itemTable = itemData.items[item] | |||
if itemTable == nil then | |||
return item .. ' could not be found in Module:ItemData.' | |||
end | |||
local itemType = itemTable.type | local itemType = itemTable.type | ||
local itemEN = string.sub (itemType, 1, -5) | |||
local itemimagename = string.gsub(itemEN, ' ', '') | |||
-- string used to build the infobox | -- string used to build the infobox | ||
local infobox = '{| class=\"infobox\"\n' | local infobox = '{| class=\"infobox\"\n' | ||
-- 'Name and Image' section | |||
-- name of the item | |||
infobox = infobox .. '|- style=\"color: white; background-color: #1165AF; text-align: center;\"\n| colspan=\"2\" | \'\'\'<big>' .. item .. '</big>\'\'\'\n' | |||
-- the item's type (ItemData - group) | |||
infobox = infobox .. '|- style=\"text-align: center; color: white; background-color: ' | |||
if itemTable.group == 'Food' then | |||
infobox = infobox .. '#85D66B;\"\n| colspan=\"2\" | \'\'\'Food\'\'\'\n' | |||
-- Items:Food Icon Image | |||
local image = 'NoImage.png|link=https://wiki.play.eco/index.php?title=Special:Upload&wpDestFile=' .. itemimagename .. '_Icon.png|[[Category:Pages_with_missing_icon]]' | |||
if mw.title.makeTitle('File', itemimagename .. '_Icon.png').file.exists then | |||
image = itemimagename .. '_Icon.png' | |||
elseif mw.title.makeTitle('File', itemimagename .. '_Icon.jpg').file.exists then | |||
image = itemimagename .. '_Icon.jpg' | |||
end | |||
infobox = infobox .. '|-\n| colspan=\"2\" style=\"padding: 10px;\" | <div class="iconContainer"><div class="iconStack">[[File:' .. image .. '|frameless|class=iconGreen]]</div><div class=iconBorder style=\"position:absolute;\"></div></div> \n' | |||
elseif itemTable.group == 'Skill Books' then | |||
infobox = infobox .. '#FFCF4D;\"\n| colspan=\"2\" | \'\'\'' .. itemTable.group .. '\'\'\'\n' | |||
-- Items:Skill Book Icon Image | |||
infobox = infobox .. '|-\n| colspan=\"2\" style=\"padding: 10px;\" | <div class="iconContainer"><div class="iconStack">[[File:SkillBook.png|link=https://wiki.play.eco/File:SkillBook.png|frameless|class=iconGold]]</div><div class=iconBorder style=\"position:absolute;\"></div></div> \n' | |||
elseif itemTable.group == 'Skill Scrolls' then | |||
infobox = infobox .. '#FFCF4D;\"\n| colspan=\"2\" | \'\'\'' .. itemTable.group .. '\'\'\'\n' | |||
-- Items:Skill Scrolls Icon Image | |||
infobox = infobox .. '|-\n| colspan=\"2\" style=\"padding: 10px;\" | <div class="iconContainer"><div class="iconStack">[[File:SkillScroll.png|link=https://wiki.play.eco/File:SkillScroll.png|frameless|class=iconGold]]</div><div class=iconBorder style=\"position:absolute;\"></div></div> \n' | |||
else | |||
infobox = infobox .. '#78B1FF;\"\n| colspan=\"2\" | \'\'\'' .. itemTable.group .. '\'\'\'\n' | |||
-- Items: Other Icon Image | |||
local image = 'NoImage.png|link=https://wiki.play.eco/index.php?title=Special:Upload&wpDestFile=' .. itemimagename .. '_Icon.png|[[Category:Pages_with_missing_icon]]' | |||
if mw.title.makeTitle('File', itemimagename .. '_Icon.png').file.exists then | |||
image = itemimagename .. '_Icon.png' | |||
elseif mw.title.makeTitle('File', itemimagename .. '_Icon.jpg').file.exists then | |||
image = itemimagename .. '_Icon.jpg' | |||
end | |||
infobox = infobox .. '|-\n| colspan=\"2\" style=\"padding: 10px;\" | <div class="iconContainer"><div class="iconStack">[[File:' .. image .. '|frameless|class=iconBlue]]</div><div class=iconBorder style=\"position:absolute;\"></div></div> \n' | |||
end | |||
-- 'Description' section header | |||
infobox = infobox .. '|- style=\"background-color: #4688C0; text-align: center;\"\n| colspan=\"2\" | \'\'\'Description\'\'\'\n' | |||
if itemTable.description == nil then | |||
infobox = infobox .. '|- style=\"text-align: center;\"\n| colspan=\"2\" | \'\'\'None\'\'\'\n' | |||
elseif itemTable.description == '' then | |||
infobox = infobox .. '|- style=\"text-align: center;\"\n| colspan=\"2\" | \'\'\'None\'\'\'\n' | |||
else | |||
infobox = infobox .. '|- style=\"text-align: center;\"\n| colspan=\"2\" | ' .. itemTable.description .. '\n' | |||
end | |||
-- 'General' section header | -- 'General' section header | ||
infobox = infobox .. '|- style=\"background-color: #4688C0; text-align: center;\"\n| colspan=\"2\" | \'\'\'General\'\'\'\n' | |||
--Crafting | |||
local craftingRecipes = require( "Module:CraftingRecipes" ) | |||
local recipes = craftingRecipes.recipes | |||
local function addToSet(set, key) | |||
set[key] = true | |||
end | |||
local function setNotContains(set, key) | |||
return set[key] == nil | |||
end | |||
-- Is a product at these tables | |||
if craftingRecipes.products[item] ~= nil and #craftingRecipes.products[item] >= 1 then | |||
local count = 0 | |||
local stations = {} | |||
local sortStations = {} | |||
local stationString = '' | |||
local found = false | |||
for k, v in ipairs( craftingRecipes.products[item] ) do | |||
if recipes[v] ~= nil then | |||
for num = 1, #recipes[v].numberOfVariants do | |||
if (recipes[v].variants[v] ~= nil and recipes[v].numberOfVariants <= tostring(1)) then | |||
if setNotContains(stations, recipes[v].craftStn[1][1]) then | |||
addToSet(stations, recipes[v].craftStn[1][1]) | |||
count = count + 1 | |||
end | |||
if found == false then | |||
found = true | |||
infobox = infobox .. '|-\n| Created At:\n| style=\"text-align: right; padding: 3px;\" |' | |||
-- weight | end | ||
end | |||
end | |||
end | |||
end | |||
local track = 0 | |||
if found == true then | |||
for a, b in pairs(stations) do | |||
table.insert(sortStations, a) | |||
end | |||
table.sort(sortStations) | |||
for i, n in ipairs(sortStations) do | |||
stationString = stationString .. ' [[' .. n .. ']]' | |||
track = track + 1 | |||
if track ~= count then -- Changed these line to produce comma if not last table. | |||
stationString = stationString .. ',' | |||
end | |||
end | |||
infobox = infobox .. stationString .. '\n' | |||
else | |||
infobox = infobox .. '|-\n| Created at:\n| style=\"text-align: right; padding: 3px;\" | N/A\n' | |||
end | |||
end | |||
-- Is an ingredient at these tables | |||
if craftingRecipes.ingredients[item] ~= nil and #craftingRecipes.ingredients[item] >= 1 then | |||
local count = 0 | |||
end | local stations = {} | ||
local sortStations = {} | |||
local stationString = '' | |||
local found = false | |||
for k, v in ipairs( craftingRecipes.ingredients[item] ) do | |||
if recipes[v] ~= nil then | |||
for num = 1, #recipes[v].numberOfVariants do | |||
if (recipes[v].variants[v] ~= nil and recipes[v].numberOfVariants <= tostring(1)) then | |||
if setNotContains(stations, recipes[v].craftStn[1][1]) then | |||
addToSet(stations, recipes[v].craftStn[1][1]) | |||
count = count + 1 | |||
end | |||
if found == false then | |||
found = true | |||
infobox = infobox .. '|-\n| Used At:\n| style=\"text-align: right; padding: 3px;\" |' | |||
end | |||
end | |||
end | |||
end | |||
end | |||
local track = 0 | |||
if found == true then | |||
for a, b in pairs(stations) do | |||
table.insert(sortStations, a) | |||
end | |||
table.sort(sortStations) | |||
for i, n in ipairs(sortStations) do | |||
stationString = stationString .. ' [[' .. n .. ']]' | |||
track = track + 1 | |||
if track ~= count then -- Changed these line to produce comma if not last table. | |||
stationString = stationString .. ',' | |||
end | |||
end | |||
infobox = infobox .. stationString .. '\n' | |||
else | |||
infobox = infobox .. '|-\n| Used at:\n| style=\"text-align: right; padding: 3px;\" | N/A\n' | |||
end | |||
end | |||
-- calories and nutrients (if itemTable.group == 'Food') | |||
if itemTable.group == 'Food' then | |||
infobox = infobox .. '|-\n| Calories:\n| style=\"text-align: right; padding: 3px;\" | ' .. itemTable.calories .. '\n|- valign=\"center\"\n| rowspan=\"4\" | Nutrients:\n' | |||
infobox = infobox .. '| style=\"color: red; text-align: right; padding: 3px;\" | Carbs: ' .. itemTable.carbs .. '\n' | |||
infobox = infobox .. '|- valign=\"center\"\n| style=\"color: orange; text-align: right; padding: 3px;\" | Protein: ' .. itemTable.protein .. '\n' | |||
infobox = infobox .. '|- valign=\"center\"\n| style=\"color: yellow; text-align: right; padding: 3px;\" | Fat: ' .. itemTable.fat .. '\n' | |||
infobox = infobox .. '|- valign=\"center\"\n| style=\"color: limegreen; text-align: right; padding: 3px;\" | Vitamins: ' .. itemTable.vitamins .. '\n' | |||
infobox = infobox .. '|-\n| Nutrition Density:\n| style=\"text-align: right; padding: 3px;\" | ' .. itemTable.density .. ' per 100 cals\n' | |||
end | |||
-- carried | |||
if args.carried ~= nil and args.carried ~= '' then | |||
infobox = infobox .. '|-\n| Carried in:\n| style=\"text-align: right; padding: 3px;\" | ' .. args.carried .. '\n' | |||
else | |||
infobox = infobox .. '|-\n| Carried in:\n| style=\"text-align: right; padding: 3px;\" | ' .. itemTable.carried .. '\n' | |||
end | |||
-- weight | |||
if itemTable.weight ~= nil then | |||
infobox = infobox .. '|-\n| Weight:\n| style="text-align: right; padding: 3px;" | ' .. itemTable.weight .. ' kg\n' | |||
else | |||
infobox = infobox .. '|-\n| Weight:\n| style="text-align: right; padding: 3px;" | 0.00kg\n' | |||
end | |||
-- stack limit | |||
if itemTable.maxStack ~= nil then | |||
infobox = infobox .. '|-\n| Stack limit:\n| style=\"text-align: right; padding: 3px;\" | ' .. itemTable.maxStack .. '\n' | |||
end | |||
-- yield | |||
if itemTable.yield ~= nil then | |||
infobox = infobox .. '|-\n| Improve Gathering: \n| style=\"text-align: right; padding: 3px;\" | ' .. itemTable.yield .. '\n' | |||
end | |||
-- fuel | |||
if itemTable.fuel ~= nil then | |||
infobox = infobox .. '|-\n| Fuel energy:\n| style=\"text-align: right; padding: 3px;\" | ' .. itemTable.fuel .. ' J\n' | |||
end | |||
-- currency | |||
if itemTable.currency ~= nil then | |||
infobox = infobox .. '|-\n| Used as Currency:\n| style=\"text-align: right; padding: 3px;\" | ' .. itemTable.currency .. '\n' | |||
end | |||
-- 'IDs' section header | -- 'IDs' section header | ||
infobox = infobox .. '|- style=\"background-color: #4688C0; text-align: center;\"\n| colspan=\"2\" | \'\'\'IDs\'\'\'\n' | |||
-- item id (type) | |||
infobox = infobox .. '|- valign=\"center\"\n| Item ID:\n| style=\"text-align: right; padding: 3px;\" | ' .. itemTable.type .. '\n' | |||
-- id number (type id) | |||
infobox = infobox .. '|- valign=\"center\"\n| ID Number:\n| style=\"text-align: right; padding: 3px;\" | ' .. itemTable.typeID .. '\n' | |||
-- Tags Header | |||
if itemTable.tagGroups ~= nil and itemTable.tagGroups ~= {} then | |||
-- Tags Header | |||
infobox = infobox .. '|- style=\"background-color: #4688C0; text-align: center;\"\n| colspan=\"2\" | \'\'\'Tags\'\'\'\n' | |||
local tags = itemTable.tagGroups | |||
local list = '' | |||
-- for each item in the list (a is position, b is value) | |||
for a,b in ipairs(tags) do | |||
--if not these tags listed here | |||
if (b ~='Object' or b ~= 'World Object' or b ~= 'Housing Object') then | |||
-- add the tag to the list | |||
-- HACK: Some tag localisations have spaces in the tag name, but not in the tag data | |||
local tagLink | |||
-- Some tags have multiple spaces? Possible data quality issue | |||
bClean = b:gsub("%s+", " ") | |||
if itemData.tags[bClean] ~= nil then | |||
tagLink = bClean .. 'Tag' | |||
else | |||
tagLink = bClean:gsub(' ', '') .. 'Tag' | |||
end | |||
list = list .. '[[' .. tagLink ..'|' .. bClean ..']][[Category:' .. bClean .. ']]' | |||
end | |||
-- if not the last item in the list | |||
if (b ~= tags[#tags]) then | |||
-- add a comma | |||
list = list .. ', ' | |||
end | |||
end | end | ||
-- Now the list is made add it to the infobox | |||
infobox = infobox .. '|- style=\"text-align: center;\"\n| colspan=\"2\" | ' .. list .. '\n' | |||
end | end | ||
-- 'Item' World Object header (if itemTable.group = Placeable or Blocks) | |||
if itemTable.group == 'Block Items' or itemTable.group == 'World Object Items' then | |||
infobox = infobox .. '|- style=\"text-align: center; background-color: #517ab2;\"\n| colspan=\"2\" | \'\'\'World Object\'\'\'\n' | |||
-- Object Placed Image | |||
local image = 'NoImage.png|link=https://wiki.play.eco/index.php?title=Special:Upload&wpDestFile=' .. itemimagename .. '_Placed.png|[[Category:Pages_with_missing_placed]]' | |||
if mw.title.makeTitle('File', itemimagename .. '_Placed.png').file.exists then | |||
image = itemimagename .. '_Placed.png' | |||
elseif mw.title.makeTitle('File', itemimagename .. '_Placed.jpg').file.exists then | |||
image = itemimagename .. '_Placed.jpg' | |||
end | |||
infobox = infobox .. '|-\n| colspan=\"2\" style=\"padding: 10px;\" | [[File:' .. image .. '|center|border|240px]]\n' | |||
-- 'Placement' section | |||
--Placement Header | |||
infobox = infobox .. '|- style=\"background-color: #4688C0; text-align: center;\"\n| colspan=\"2\" | \'\'\'Placement\'\'\'\n' | |||
--Vechile | |||
if itemTable.mobile ~= nil then | |||
infobox = infobox .. '|-\n| Vehicle/Mobile Object:\n| style=\"text-align: right; padding: 3px;\" | ' .. itemTable.mobile .. '\n' | |||
end | |||
--Dimensions | |||
if itemTable.footprint ~= nil then | |||
infobox = infobox .. '|-\n| Dimensions (X,Y,Z):\n| style=\"text-align: right; padding: 3px;\" | ' .. itemTable.footprint .. '\n' | |||
end | |||
--Material Tier | |||
if itemTable.materialTier ~= nil or itemTable.materialTier == 0 then | |||
infobox = infobox .. '|-\n| Room Material:\n| style=\"text-align: right; padding: 3px;\" | Tier ' .. itemTable.materialTier .. '[[Category:Tier '.. itemTable.materialTier ..']]\n' | |||
end | |||
--Room Req. | |||
if itemTable.roomContainReq ~= nil then | |||
infobox = infobox .. '|-\n| Room Required:\n| style=\"text-align: right; padding: 3px;\" | ' .. itemTable.roomContainReq .. '\n' | |||
end | |||
--Room Size. Req. | |||
if itemTable.roomSizeReq ~= nil then | |||
infobox = infobox .. '|-\n| Room Size:\n| style=\"text-align: right; padding: 3px;\" | ' .. itemTable.roomSizeReq .. ' m³\n' | |||
end | |||
--Room Mat. Req. | |||
if itemTable.roomMatReq ~= nil then | |||
infobox = infobox .. '|-\n| Room Materials:\n| style=\"text-align: right; padding: 3px;\" | ' .. itemTable.roomMatReq .. '\n' | |||
end | |||
-- Object Form Image | |||
if itemTable.group == 'Block Items' then | |||
local image = 'NoImage.png|link=https://wiki.play.eco/index.php?title=Special:Upload&wpDestFile=' .. itemimagename .. '_Form.png|[[Category:Pages_with_missing_form]]' | |||
if mw.title.makeTitle('File', itemimagename .. '_Form.png').file.exists then | |||
image = itemimagename .. '_Form.png' | |||
elseif mw.title.makeTitle('File', itemimagename .. '_Form.jpg').file.exists then | |||
image = itemimagename .. '_Form.jpg' | |||
end | |||
infobox = infobox .. '|-\n| colspan=\"2\" style=\"padding: 10px;\" | [[File:' .. image .. '|center|border|240px]]\n' | |||
end | |||
-- 'Housing' section (if there is a Room Category) | |||
if itemTable.roomCategory ~= nil then | |||
-- Housing Header | |||
infobox = infobox .. '|- style=\"background-color: #4688C0; text-align: center;\"\n| colspan=\"2\" | \'\'\'Housing\'\'\'\n' | |||
--roomCategory | |||
infobox = infobox .. '|-\n| Room Category:\n| style=\"text-align: right; padding: 3px;\" | ' .. itemTable.roomCategory .. '[[Category:' .. itemTable.roomCategory .. ']]\n' | |||
if itemTable.roomCategory ~= 'Industrial' then | |||
if itemTable.furnitureType ~= nil then | |||
--furnitureType | |||
infobox = infobox .. '|-\n| Furniture Type:\n| style=\"text-align: right; padding: 3px;\" | ' .. itemTable.furnitureType .. '[[Category:' .. itemTable.furnitureType .. ']]\n' | |||
--Value of the object | |||
infobox = infobox .. '|-\n| Value:\n| style=\"text-align: right; padding: 3px;\" | ' .. itemTable.skillValue .. '\n' | |||
--Dim. Return % of Object | |||
infobox = infobox .. '|-\n| Dim. Return %:\n| style=\"text-align: right; padding: 3px;\" | ' .. itemTable.repeatsDepreciation .. '\n' | |||
end | |||
end | |||
if itemTable.roomCategory == 'Industrial' then | |||
infobox = infobox .. '|- style=\"background-color: red; text-align: center;\"\n| colspan=\"2\" | \'\'\'ALL ROOM VALUE LOST\'\'\'\n' | |||
end | |||
end | |||
-- 'Storage' Section (if inventorySlots is not nil) | |||
if itemTable.inventorySlots ~= nil then | |||
-- Storage Header | |||
infobox = infobox .. '|- style=\"background-color: #4688C0; text-align: center;\"\n| colspan=\"2\" | \'\'\'Storage\'\'\'\n' | |||
--Inventory Slots | |||
infobox = infobox .. '|-\n| Inventory Slots:\n| style=\"text-align: right; padding: 3px;\" | ' .. itemTable.inventorySlots .. '\n' | |||
--inventoryMaxWeight | |||
if itemTable.inventoryMaxWeight ~= nil then | |||
maxWeightKg = itemTable.inventoryMaxWeight/1000 | |||
infobox = infobox .. '|-\n| Inventory Max Weight:\n| style=\"text-align: right; padding: 3px;\" | ' .. maxWeightKg .. ' Kg\n' | |||
else | |||
infobox = infobox .. '|-\n| Inventory Max Weight:\n| style=\"text-align: right; padding: 3px;\" | Unlimited \n' | |||
end | |||
end | |||
-- 'Power' section (if EngeryType is ``not nil) | |||
if itemTable.energyType ~= nil then | |||
-- Power Header | |||
infobox = infobox .. '|- style=\"background-color: #4688C0; text-align: center;\"\n| colspan=\"2\" | \'\'\'Power\'\'\'\n' | |||
--EngergyType | |||
infobox = infobox .. '|-\n| Energy Type:\n| style=\"text-align: right; padding: 3px;\" | ' .. itemTable.energyType .. '[[Category:' .. itemTable.energyType .. ']]\n' | |||
end | |||
--Grid Radius | |||
infobox = infobox .. '|-\n| Grid Radius:\n| style=\"text-align: right; padding: 3px;\" | ' .. itemTable.gridRadius .. ' m\n' | |||
--Energy Produced | |||
infobox = infobox .. '|-\n| Energy Produced:\n| style=\"text-align: right; padding: 3px;\" | ' .. itemTable.energyProduced .. ' J\n' | |||
--Energy Used | |||
infobox = infobox .. '|-\n| Energy Used:\n| style=\"text-align: right; padding: 3px;\" | ' .. itemTable.energyUsed .. ' J\n' | |||
end | |||
-- 'Fuel' Section (if fuelsUsed by Object) | |||
if itemTable.fuelsUsed ~= nil then | |||
-- Fuel Header | |||
infobox = infobox .. '|- style=\"background-color: #4688C0; text-align: center;\"\n| colspan=\"2\" | \'\'\'Fuel\'\'\'\n' | |||
--Fuels Used by Object | |||
infobox = infobox .. '|-\n| Fuels Used:\n| style=\"text-align: right; padding: 3px;\" | ' .. itemTable.fuelsUsed .. '\n' | |||
end | |||
-- 'Fluid' section (if fludisUsed is not nil) | |||
if itemTable.fluidsUsed ~= nil or itemTable.fluidsProduced ~= nil then | |||
-- Liquid/Gas Header | |||
infobox = infobox .. '|- style=\"background-color: #4688C0; text-align: center;\"\n| colspan=\"2\" | \'\'\'Liquid/Gas\'\'\'\n' | |||
--Input (fludisUsed) | |||
infobox = infobox .. '|-\n| Input: \n| style=\"text-align: right; padding: 3px;\" | ' | |||
if itemTable.fluidsUsed ~= nil then | |||
for a,b in ipairs(itemTable.fluidsUsed) do | |||
local acceptedType = b[1] | |||
local cRateString = string.gsub(b[2], "%s+", "") | |||
local consumingRate = tonumber(cRateString) | |||
infobox = infobox .. acceptedType .. ' at ' .. consumingRate .. ' L' | |||
if (a ~= #itemTable.fluidsUsed) then | |||
infobox = infobox .. ', ' | |||
end | |||
end | |||
end | |||
infobox = infobox .. '\n' | |||
--Output (liquidProduced) | |||
infobox = infobox .. '|-\n| Output: \n| style=\"text-align: right; padding: 3px;\" | ' | |||
if itemTable.fluidsProduced ~= nil then | |||
for a,b in ipairs(itemTable.fluidsProduced) do | |||
local producedType = b[1] | |||
local pRateString = string.gsub(b[2], "%s+", "") | |||
local producingRate = tonumber(pRateString) | |||
if (producingRate == 0) then | |||
producingRate = 'Rate of Input' | |||
end | |||
infobox = infobox .. producedType .. ' at ' .. producingRate .. ' L' | |||
if (a ~= #itemTable.fluidsProduced) then | |||
infobox = infobox .. ', ' | |||
end | |||
end | |||
end | |||
infobox = infobox .. '\n' | |||
end | |||
end | |||
-- Road Object header (if group == Road Items) | |||
if itemTable.group == 'Road Items' then | |||
infobox = infobox .. '|- style=\"text-align: center; background-color: #517ab2;\"\n| colspan=\"2\" | \'\'\'Road Object\'\'\'\n' | |||
-- Object Placed Image | |||
local image = 'NoImage.png|link=https://wiki.play.eco/index.php?title=Special:Upload&wpDestFile=' .. itemimagename .. '_Placed.png|[[Category:Pages_with_missing_placed]]' | |||
if mw.title.makeTitle('File', itemimagename .. '_Placed.png').file.exists then | |||
image = itemimagename .. '_Placed.png' | |||
elseif mw.title.makeTitle('File', itemimagename .. '_Placed.jpg').file.exists then | |||
image = itemimagename .. '_Placed.jpg' | |||
end | |||
infobox = infobox .. '|-\n| colspan=\"2\" style=\"padding: 10px;\" | [[File:' .. image .. '|center|border|240px]]\n' | |||
end | |||
infobox = infobox .. '|}' | |||
return infobox | |||
end | |||
end | |||
end | |||
-- Main entry point for the Module | -- Main entry point for the Module | ||
Line 466: | Line 456: | ||
-- get args from the Template | -- get args from the Template | ||
local args = Utils.normaliseArgs(frame) | local args = Utils.normaliseArgs(frame) | ||
-- get item data | -- get item data | ||
local itemData = | local itemData = require( "Module:ItemData" ) | ||
return itemBox(args, itemData) | return itemBox( args, itemData ) | ||
end | end | ||
return p | return p |