モジュール:Infobox/InvItem
< モジュール:Infobox
ナビゲーションに移動
検索に移動
2022年8月21日 (日) 15:50時点におけるPerfectBoat (トーク | 投稿記録)による版
このモジュールについての説明文ページを モジュール:Infobox/InvItem/doc に作成できます
local p = {}
local g = require("Module:FTBCommon")
local box = require("Module:Infobox")
-- returns MW code for a block/item infobox
function p.main(frame)
local frame, args = g.getFrameAndArgs(frame)
local usesdeprecated = false
-- Arguments for parent infobox --
if g.isGiven(args.name) then
--
elseif g.isGiven(args.Rname) then
args.name = args.Rname
args.Rname = nil
usesdeprecated = true
else
args.name = nil -- let Module:Infobox get the name
end
if g.isGiven(args.image) then
args.fullimage = args.image
args.image = nil
usesdeprecated = true
end
if not g.isGiven(args.img) and not g.isGiven(args.image) then
args.img = frame:expandTemplate{title="itemimage"}
end
if g.isGiven(args.imgwidth) then
--
elseif g.isGiven(args.imagesize) then
args.imgwidth = args.imagesize
args.imagesize = nil
usesdeprecated = true
elseif mw.title.new("File:Block " .. tostring(mw.title.getCurrentTitle()) .. ".png").exists then
args.imgwidth = "128px"
else
args.imgwidth = "64px"
end
args.imgwidth = g.px(args.imgwidth)
local gridimg
local gridprop = ""
if args.gridimg == "nil" then
gridimg = nil
else
if g.isGiven(args.gridimg) then
gridimg = args.gridimg
elseif g.isGiven(args.gridimage) then
gridimg = args.gridimage
usesdeprecated = true
else
gridimg = "Grid " .. tostring(mw.title.getCurrentTitle()) .. ".png"
end
if g.isGiven(gridimg) then
gridprop = g.smwProp("Has grid image", gridimg, " ")
end
gridimg = gridprop .. frame:expandTemplate{title="GridBox", args={image=gridimg, alt=args.name}}
end
if g.isGiven(gridimg) then
if g.isGiven(args.caption) then
args.caption = gridimg .. "<br/>" .. args.caption
else
args.caption = gridimg
end
end
args.gridimg = "nil"
-- New row construction --
local l = ""
l = l .. box.condRow("Tooltip", args.tooltip)
if g.isGiven(args.idname) then
local idnames = {}
for match in args.idname:gmatch("[^;]+") do
table.insert(idnames, "<div style=\"word-break: break-all;\">" .. match .. "</div>")
end
l = l .. box.row("ID" .. (#idnames > 1 and "s" or ""), table.concat(idnames, ""))
else
l = l .. box.row("ID", "不明")
end
--if g.isGiven(args.oredict) then
-- local odnames = {}
-- for match in args.oredict:gmatch("[^;]+") do
-- table.insert(odnames, "<div style=\"word-break: break-all;\">[[Ore Dictionary name::" .. match .. "]]</div>")
-- end
-- l = l .. box.row("[[OreDict]] Name" .. (#odnames > 1 and "s" or ""), table.concat(odnames, ""))
--end
--l = l .. box.condRow("First Appearance", args.first)
l = l .. box.condRow("種類", args.type)
if g.isGiven(args.stack) then
if tonumber(args.stack) then
if tonumber(args.stack) > 1 then
l = l .. box.row("スタック", "可能 (" .. args.stack .. ")")
else
l = l .. box.row("スタック", "不可")
end
else
l = l .. box.row("スタック", args.stack)
end
else
l = l .. box.row("スタック", "不明")
end
if not g.isGiven(args.gravity) then
args.gravity = args.physics
usesdeprecated = usesdeprecated or g.isGiven(args.physics)
end
l = l .. box.condRow("重力の影響を受ける", args.gravity)
if not g.isGiven(args.trans) then
args.trans = args.transparency
usesdeprecated = usesdeprecated or g.isGiven(args.transparency)
end
l = l .. box.condRow("透過", args.trans)
if not g.isGiven(args.light) then
args.light = args.luminance
usesdeprecated = usesdeprecated or g.isGiven(args.luminance)
end
l = l .. box.condRow("明るさ", args.light)
l = l .. box.condRow("爆発耐性", args.blast)
l = l .. box.condRow("硬度", args.hardness)
if g.isGiven(args.fuel) then
if g.isGiven(args.fuel2) then
l = l .. box.row("燃焼時間", args.fuel .. " ticks" .. args.fuel2)
else
l = l .. box.row("燃焼時間", args.fuel .. " ticks (アイテム" .. (args.fuel / 200) .. "個)")
end
end
if g.isGiven(args.tool) then
args.tool = frame:expandTemplate{title="ToolImage", args={args.tool}}
if g.isGiven(args.tool2) then
args.tool2 = frame:expandTemplate{title="ToolImage", args={args.tool2}}
l = l .. box.row("ツール", args.tool .. " " .. args.tool2)
else
l = l .. box.row("ツール", args.tool)
end
end
l = l .. box.condRow("耐火", args.fireresistant)
l = l .. box.condRow("Storage", args.storage)
l = l .. box.condRow("Formula", args.formula)
l = l .. box.condRow("価値(Life)", args.valuelife)
l = l .. box.condRow("価値(LGW)", args.valuelgw)
if g.isGiven(args.lore) then
l = l .. box.row("Lore", "<div style=\"text-align: left;\">" .. args.lore .. "</div>")
end
if g.isGiven(args.rows) then
l = l .. args.rows
end
for i = 1, 3 do
if g.isGiven(args["extra" .. i]) or g.isGiven(args["extrainfo" .. i]) then
l = l .. box.row(args["extra" .. i], args["extrainfo" .. i])
usesdeprecated = true
end
end
if usesdeprecated then
l = l .. "[[Category:Infoboxes with deprecated params]]"
end
if g.isGiven(args.fuel) then
l = l .. "[[Category:燃料]]"
end
args.rows = l
frame.args = args
return box.main(frame)
end
return p