Module:Breaking row
This module implements {{breaking row}}
Dependencies
local p = {}
function p.row(f)
local args = f:getParent().args -- Directly get arguments
local sprite = require("Module:SpriteFile") -- Include SpriteFile for icons
local rows = {}
local blocks = mw.text.split(args[1] or '', ';')
local tools = mw.text.split(args[2] or '', ';')
-- Mapping correct sprite names for tools with hyphens
local spriteMap = {
Wooden = "wooden-pickaxe",
Stone = "stone-pickaxe",
Iron = "iron-pickaxe",
Diamond = "diamond-pickaxe",
Netherite = "netherite-pickaxe",
Golden = "golden-pickaxe",
Pickaxe = "iron-pickaxe" -- Default for generic 'Pickaxe'
}
-- Start the table
table.insert(rows, '{| class="wikitable" style="text-align:center"')
table.insert(rows, '|-')
table.insert(rows, '! Block !! Tool !! Breaking Time !! Icon')
-- Insert rows for each block-tool pair
for i, block in ipairs(blocks) do
local tool = mw.text.trim(tools[i] or tools[1] or 'Any')
local breakingTime = "1.25" -- Placeholder breaking time
-- Correct sprite selection using the mapping with hyphens
local spriteName = spriteMap[tool] or (tool:lower() .. "-pickaxe")
-- Add sprite for the tool with proper display text
local toolSprite, spriteCat = sprite.sprite{
name = "ItemSprite",
spriteName,
text = tool .. " Pickaxe" -- Corrected text
}
table.insert(rows, '|-')
table.insert(rows, '| ' .. mw.text.trim(block) .. ' || ' .. tool .. ' || ' .. breakingTime .. ' sec || ' .. toolSprite)
end
-- Close the table
table.insert(rows, '|}')
return table.concat(rows, '\n')
end
return p