모듈:마인크래프트 조합: 두 판 사이의 차이

편집 요약 없음
편집 요약 없음
1번째 줄: 1번째 줄:
local itemlist = mw.loadData("모듈:마인크래프트/data").itemlist
local p = {}
local p = {}


local item_link_set = {
cobblestone = "마인크래프트/건축 블록#조약돌",
furnace = "마인크래프트/화로", blast_furnace = furnace
}
p.main = function(frame)
p.main = function(frame)
local html = [[
<div class="mc-ui" style="width: 219px; height:124px; padding: 6px; border: 2px solid; border-color: #DBDBDB #5B5B5B #5B5B5B #DBDBDB; background-color: #C6C6C6; ">
<div class="mc-crafting-table" style="display: inline-flex; flex-wrap: wrap; width: 107.5px; height: 107.5px; vertical-align: top; ">%s</div>
<div style="display: inline-flex; height: 100%%; align-items: center; margin: 0px 2px; vertical-align: top;">%s</div>
<div style=" display: inline-flex; height: 100%%; align-items: center; ">
<div class="mc-itemslot" style="width: 52px; height: 52px; padding: 8px; border: 2px solid; border-color: #373737 #FFF #FFF #373737; background: #8B8B8B;">%s</div>
</div>
</div>]]


local filelinks = {}
    local ui = mw.html.create("div")
local filebox = '<div style="width: 33.3%%; height: 33.3%%; border: 2px solid; border-color: #373737 #FFF #FFF #373737; background: #8B8B8B;">%s</div>'
        :addClass("mc-ui")
local filelink = "[[파일:Minecraft %s.%s|32px|link=%s]]"
        :cssText("width: 219px; height:124px; display: flex; justify-content: space-evenly; align-items: center; padding: 6px; border: 2px solid; border-color: #DBDBDB #5B5B5B #5B5B5B #DBDBDB; background-color: #C6C6C6;")
for i= 1, 9 do
 
local item_name = mw.text.trim(frame.args[i])
    local craftingTable = mw.html.create("div")
local item_link = ''
        :addClass("mc-crafting-table")
if item_link_set[item_name] then
        :cssText("display: inline-flex; flex-wrap: wrap; width: 107.5px; height: 107.5px; vertical-align: top;")
item_link = item_link_set[item_name]
 
end
    ui:node(craftingTable)
 
if item_name ~= '' then
    local arrow = mw.html.create("div")
table.insert(filelinks, filebox:format(filelink:format(item_name, 'webp', item_link)))
        :addClass()
else
        :cssText("display: inline-flex; height: 100%; align-items: center; margin: 0px 2px; vertical-align: top;")
table.insert(filelinks, filebox:format(''))
        :wikitext("[[파일:Minecraft Crafting Recipe arrow.webp]]")
end
 
end
    ui:node(arrow)
 
local item_name = frame.args[10]
    local result = mw.html.create("div")
local item_link = ''
        :addClass("mc-result")
if item_link_set[item_name] then
        :cssText("display: inline-flex; height: 100%; align-items: center;")
item_link = item_link_set[item_name]
        :node(
end
            mw.html.create( "div" ):addClass("mc-itemslot"):cssText("width: 52px; height: 52px; box-sizing: border-box; padding: 8px; border: 2px solid; border-color: #373737 #FFF #FFF #373737; background: #8B8B8B; image-rendering: pixelated;")
html = html:format(table.concat(filelinks), "[[파일:Minecraft Crafting Recipe arrow.webp]]", '[[파일:Minecraft ' .. item_name .. '.webp|32px|링크='.. item_link ..']]')
            :wikitext(itemlist[frame.args[10]]))
 
     return html
    ui:node(result)
 
    for i = 1, 9 do
        local itemslot = mw.html.create("div"):addClass("mc-itemslot"):cssText("width: 33.3%; height: 33.3%; box-sizing: border-box; border: 2px solid; border-color: #373737 #FFF #FFF #373737; background: #8B8B8B; image-rendering: pixelated;")
            :wikitext(itemlist[frame.args[i]])
        craftingTable:node(itemslot)
    end
 
     return ui:done()
end
end


return p
return p

2024년 5월 20일 (월) 02:12 판

이 모듈에 대한 설명문서는 모듈:마인크래프트 조합/설명문서에서 만들 수 있습니다

local itemlist = mw.loadData("모듈:마인크래프트/data").itemlist

local p = {}

p.main = function(frame)

    local ui = mw.html.create("div")
        :addClass("mc-ui")
        :cssText("width: 219px; height:124px; display: flex; justify-content: space-evenly; align-items: center; padding: 6px; border: 2px solid; border-color: #DBDBDB #5B5B5B #5B5B5B #DBDBDB; background-color: #C6C6C6;")

    local craftingTable = mw.html.create("div")
        :addClass("mc-crafting-table")
        :cssText("display: inline-flex; flex-wrap: wrap; width: 107.5px; height: 107.5px; vertical-align: top;")

    ui:node(craftingTable)

    local arrow = mw.html.create("div")
        :addClass()
        :cssText("display: inline-flex; height: 100%; align-items: center; margin: 0px 2px; vertical-align: top;")
        :wikitext("[[파일:Minecraft Crafting Recipe arrow.webp]]")

    ui:node(arrow)

    local result = mw.html.create("div")
        :addClass("mc-result")
        :cssText("display: inline-flex; height: 100%; align-items: center;")
        :node(
            mw.html.create( "div" ):addClass("mc-itemslot"):cssText("width: 52px; height: 52px; box-sizing: border-box; padding: 8px; border: 2px solid; border-color: #373737 #FFF #FFF #373737; background: #8B8B8B; image-rendering: pixelated;")
            :wikitext(itemlist[frame.args[10]]))

    ui:node(result)

    for i = 1, 9 do
        local itemslot = mw.html.create("div"):addClass("mc-itemslot"):cssText("width: 33.3%; height: 33.3%; box-sizing: border-box; border: 2px solid; border-color: #373737 #FFF #FFF #373737; background: #8B8B8B; image-rendering: pixelated;")
            :wikitext(itemlist[frame.args[i]])
        craftingTable:node(itemslot)
    end

    return ui:done()
end

return p