Moduł:Dźwięki: Różnice pomiędzy wersjami
Przejdź do nawigacji
Przejdź do wyszukiwania
| [wersja przejrzana] | [wersja przejrzana] |
Utworzono nową stronę "local p = {} local data = mw.loadData('Module:Dźwięki/Dane') local function renderTable(editionName, editionData, displayTitle, icon) if not editionData or #editionData == 0 then return "" end local root = mw.html.create('table') :addClass('wikitable sound-table mw-collapsible mw-collapsed') :css('width', '100%') :css('font-size', '0.9em') -- Nagłówek z ikoną i nazwą local iconWiki = icon and ('[[File:' .. icon .. '|…" |
Nie podano opisu zmian |
||
| Linia 1: | Linia 1: | ||
local p = {} | local p = {} | ||
local data = mw.loadData('Module:Dźwięki/Dane') | local data = mw.loadData('Module:SandBox/Igorczewski6524/Dźwięki/Dane') | ||
local function renderTable(editionName, editionData, displayTitle, icon) | local function renderTable(editionName, editionData, displayTitle, icon) | ||
Wersja z 20:51, 3 sty 2026
W tym module nie ma dokumentacji. Jeśli wiesz jak używać tego modułu, proszę, podaj odpowiednie informacje.
local p = {}
local data = mw.loadData('Module:SandBox/Igorczewski6524/Dźwięki/Dane')
local function renderTable(editionName, editionData, displayTitle, icon)
if not editionData or #editionData == 0 then return "" end
local root = mw.html.create('table')
:addClass('wikitable sound-table mw-collapsible mw-collapsed')
:css('width', '100%')
:css('font-size', '0.9em')
-- Nagłówek z ikoną i nazwą
local iconWiki = icon and ('[[File:' .. icon .. '|20px|link=]] ') or ""
root:tag('tr')
:tag('th')
:attr('colspan', editionName == 'Java Edition' and '9' or '8')
:wikitext(iconWiki .. displayTitle .. ' sound type')
-- Nagłówki kolumn
local subHeader = root:tag('tr')
subHeader:tag('th'):wikitext('Sound'):done()
subHeader:tag('th'):wikitext('Closed captions'):done()
subHeader:tag('th'):wikitext('Source'):done()
subHeader:tag('th'):wikitext('Description'):done()
subHeader:tag('th'):wikitext('Identifier'):done()
subHeader:tag('th'):wikitext('Translation key'):done()
subHeader:tag('th'):wikitext('Volume'):done()
subHeader:tag('th'):wikitext('Pitch'):done()
if editionName == 'Java Edition' then
subHeader:tag('th'):wikitext('Distance'):done()
end
-- Wiersze danych
for _, group in ipairs(editionData) do
local rowCount = #group.zdarzenia
for i, row in ipairs(group.zdarzenia) do
local tr = root:tag('tr')
if i == 1 then
local soundCell = tr:tag('td'):attr('rowspan', rowCount):css('text-align', 'center'):css('vertical-align', 'middle')
for _, file in ipairs(group.pliki) do
soundCell:wikitext('[[File:Sound-icon.png|16px|link=File:' .. file .. ']] ')
end
end
tr:tag('td'):wikitext(row.captions):done()
tr:tag('td'):wikitext(row.source):done()
tr:tag('td'):wikitext(row.desc):done()
tr:tag('td'):tag('code'):wikitext(row.id):done():done()
tr:tag('td'):tag('code'):wikitext(row.key):done():done()
tr:tag('td'):wikitext(row.vol):done()
tr:tag('td'):wikitext(row.pitch):done()
if editionName == 'Java Edition' then
tr:tag('td'):wikitext(row.dist):done()
end
end
end
local link = '[[' .. editionName .. '|' .. editionName .. ']]:'
return '<p>\'\'\'' .. link .. '\'\'\'</p>' .. tostring(root)
end
function p.main(frame)
local args = frame:getParent().args
local id = args[1]
local nazwa = args[2] or id
local wersja = string.lower(args[3] or "") -- java, bedrock lub puste
local blockData = data[id]
if not blockData then return '<span class="error">Brak danych dla ID: ' .. id .. '</span>' end
local output = ""
-- Logika wyboru wersji
if wersja == "java" then
output = renderTable('Java Edition', blockData.java, nazwa, blockData.ikona)
elseif wersja == "bedrock" then
output = renderTable('Bedrock Edition', blockData.bedrock, nazwa, blockData.ikona)
else
-- Jeśli parametr pusty, pokaż obie
output = renderTable('Java Edition', blockData.java, nazwa, blockData.ikona)
output = output .. renderTable('Bedrock Edition', blockData.bedrock, nazwa, blockData.ikona)
end
return output
end
return p