VOOZH about

URL: https://minecraft.wiki/w/Module:Music_table

⇱ Module:Music table – Minecraft Wiki


Module:Music table

From Minecraft Wiki
Jump to navigation Jump to search
Documentation[view] [edit] [history] [purge]Jump to code ↴

Called by:

[view] [edit] [history] [purge]The above documentation is transcluded from Module:Music table/doc.
require('strict')
localp={}
localfunctionformatNumber(n)
ifnotnorn==0then
return'—'
end
returntostring(n)
end
localfunctionformatPercent(ratio)
ifnotratioorratio==0then
return'—'
end
localval=ratio*100
val=math.floor(val*100+0.5)/100
ifval%1==0then
returntostring(math.floor(val))..'%'
end
returnstring.format('%.2f%%',val)
end
localfunctionstripAccents(s)
s=mw.ustring.toNFD(s)
s=string.gsub(s,"\204[\128-\191]","")
returns
end
localfunctionformatFileName(title)
locallower=mw.ustring.lower(title)
returnmw.language.getContentLanguage():ucfirst(stripAccents(lower))
end
localfunctiongetDisplayTitle(title)
returnmw.text.trim(
mw.ustring.gsub(title,'%s*%b()','')
)
end
functionp.row(frame)
localargs=frame:getParent().args
localdata={
title=args[1],
java=tonumber(args[2])or0,
bedrock=tonumber(args[3])or0,
file=args.file
}
returnmw.text.jsonEncode(data)
end
localfunctionparseTracks(input)
localrows={}
localjavaTotal=0
localbedrockTotal=0
forlineinmw.text.gsplit(inputor'','\n')do
line=mw.text.trim(line)
ifline~=''then
localok,parsed=pcall(mw.text.jsonDecode,line)
ifokandparsedthen
table.insert(rows,parsed)
javaTotal=javaTotal+(parsed.javaor0)
bedrockTotal=bedrockTotal+(parsed.bedrockor0)
end
end
end
returnrows,javaTotal,bedrockTotal
end
functionp.table(frame)
localargs=frame:getParent().args
locallocation=args.locationor'unknown'
localcreative=tonumber(args.creative)or0
localcollapsed=tonumber(args.collapsed)or0
localignoreusage=tonumber(args.ignoreusage)or0
localrows,javaTotal,bedrockTotal=
parseTracks(args.tracks)
localroot=mw.html.create('table')
:addClass(
'wikitable collapsible sortable col-3-center col-4-center col-5-center col-6-center'..
(collapsed==1and' collapsed'or'')
)
:css('width','50%')
localtr1=root:tag('tr')
tr1:tag('th'):attr('rowspan',2):wikitext('Title')
tr1:tag('th'):attr('rowspan',2):addClass('unsortable'):wikitext('Preview')
tr1:tag('th'):attr('colspan',2):wikitext(frame:expandTemplate{title='JE',args={nl=1}})
tr1:tag('th'):attr('colspan',2):wikitext(frame:expandTemplate{title='BE',args={nl=1}})
localtr2=root:tag('tr')
tr2:tag('th'):wikitext('Weight')
tr2:tag('th'):wikitext('Probability')
tr2:tag('th'):wikitext('Weight')
tr2:tag('th'):wikitext('Probability')
for_,rowinipairs(rows)do
localjavaRatio=(javaTotal>0)and(row.java/javaTotal)or0
localbedrockRatio=(bedrockTotal>0)and(row.bedrock/bedrockTotal)or0
ifignoreusage~=1then
bucket('music_table').put({
music=row.title,
location=location,
java_prob=javaRatio,
bedrock_prob=bedrockRatio,
creative=creative
})
end
localtr=root:tag('tr')
localdisplayTitle=getDisplayTitle(row.title)
localfileName=row.fileorformatFileName(displayTitle)
tr:tag('td')
:wikitext(string.format('[[%s|%s]]',row.title,displayTitle))
tr:tag('td')
:wikitext(string.format(
'[[File:%s.ogg]]',
fileName
))
tr:tag('td')
:wikitext(formatNumber(row.java))
tr:tag('td')
:wikitext(formatPercent(javaRatio))
tr:tag('td')
:wikitext(formatNumber(row.bedrock))
tr:tag('td')
:wikitext(formatPercent(bedrockRatio))
end
returntostring(root)
end
returnp
Retrieved from "https://minecraft.wiki/w/Module:Music_table?oldid=3639610"

Navigation menu