Module:Item: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
mNo edit summary |
||
Line 17: | Line 17: | ||
end | end | ||
function formatItemName(itemName) | local function formatItemName(itemNames) | ||
local formattedNames = {} | |||
for itemName in string.gmatch(itemNames, "[^%s&]+") do | |||
local _, _, mod, name = string.find(itemName, "([^:]+):([^:]+)") | |||
if not mod then | |||
name = itemName | |||
else | |||
name = string.gsub(name, "_", " ") | |||
name = name:gsub("^%l", string.upper) | |||
end | |||
table.insert(formattedNames, name) | |||
end | end | ||
return | return table.concat(formattedNames, " & ") | ||
end | end | ||
Revision as of 13:32, 22 October 2023
Documentation for this module may be created at Module:Item/doc
local p = {}
local fileModule = require("Module:FileExists")
local function capitalizeFirstLetter(input)
local firstLetter = input:sub(1, 1)
local restOfString = input:sub(2)
return firstLetter:upper() .. restOfString:lower()
end
local function removeMinecraftPrefix(text)
if text:sub(1, 10) == "minecraft:" then
return text:sub(11)
else
return text
end
end
local function formatItemName(itemNames)
local formattedNames = {}
for itemName in string.gmatch(itemNames, "[^%s&]+") do
local _, _, mod, name = string.find(itemName, "([^:]+):([^:]+)")
if not mod then
name = itemName
else
name = string.gsub(name, "_", " ")
name = name:gsub("^%l", string.upper)
end
table.insert(formattedNames, name)
end
return table.concat(formattedNames, " & ")
end
function p.getItemNameAndIMG( frame )
local arg = frame.args[1]
local text = formatItemName(string.lower(arg))
local fileExists = fileModule.fileExists("File:"..string.lower(text)..".png")
if fileExists then
return "[[File:"..string.lower(text)..".png|20px]] "..capitalizeFirstLetter(text)
end
return text
end
return p