<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.boxofrocks.net/index.php?action=history&amp;feed=atom&amp;title=Module%3ASound_table</id>
	<title>Module:Sound table - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.boxofrocks.net/index.php?action=history&amp;feed=atom&amp;title=Module%3ASound_table"/>
	<link rel="alternate" type="text/html" href="https://wiki.boxofrocks.net/index.php?title=Module:Sound_table&amp;action=history"/>
	<updated>2026-05-10T16:29:12Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>https://wiki.boxofrocks.net/index.php?title=Module:Sound_table&amp;diff=473&amp;oldid=prev</id>
		<title>BoxWiki: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://wiki.boxofrocks.net/index.php?title=Module:Sound_table&amp;diff=473&amp;oldid=prev"/>
		<updated>2021-05-13T17:23:46Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 17:23, 13 May 2021&lt;/td&gt;
				&lt;/tr&gt;
&lt;!-- diff cache key wikidb:diff::1.12:old-472:rev-473 --&gt;
&lt;/table&gt;</summary>
		<author><name>BoxWiki</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.boxofrocks.net/index.php?title=Module:Sound_table&amp;diff=472&amp;oldid=prev</id>
		<title>Crafting&gt;Unavailablehoax at 12:11, 19 April 2021</title>
		<link rel="alternate" type="text/html" href="https://wiki.boxofrocks.net/index.php?title=Module:Sound_table&amp;diff=472&amp;oldid=prev"/>
		<updated>2021-04-19T12:11:53Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
local emptyevent = [=[''None''&amp;lt;ref group=&amp;quot;sound&amp;quot; name=&amp;quot;emptyevent&amp;quot;&amp;gt;Empty events do not have this parameter set.&amp;lt;/ref&amp;gt;]=]&lt;br /&gt;
local nosubtitle = [=[''None''&amp;lt;ref group=&amp;quot;sound&amp;quot; name=&amp;quot;nosubtitle&amp;quot;&amp;gt;[https://bugs.mojang.com/issues/?jql=project%20%3D%20MC%20AND%20resolution%20%3D%20Unresolved%20AND%20text%20~%20%22sound%20missing%22 Reports on Mojira].&amp;lt;/ref&amp;gt;]=]&lt;br /&gt;
&lt;br /&gt;
local function vardefine( f, name, value )&lt;br /&gt;
	f:callParserFunction( '#vardefine', name, value )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function var( f, name, defaultvalue )&lt;br /&gt;
	local result = f:callParserFunction( '#var', name, defaultvalue )&lt;br /&gt;
	if result == '' then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function addCategory( nocat, value, categoryName )&lt;br /&gt;
	if not nocat then&lt;br /&gt;
		local category = [=[[[Category:Pages missing ]=] .. categoryName .. [=[]]]=]&lt;br /&gt;
		&lt;br /&gt;
		value = value .. category&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return value&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.table( f )&lt;br /&gt;
	local args = f&lt;br /&gt;
	if f == mw.getCurrentFrame() then&lt;br /&gt;
		args = require( 'Module:ProcessArgs' ).norm()&lt;br /&gt;
	else&lt;br /&gt;
		f = mw.getCurrentFrame()&lt;br /&gt;
	end&lt;br /&gt;
	local parent = f:getParent() or f&lt;br /&gt;
	local result = ''&lt;br /&gt;
	&lt;br /&gt;
	if not var( parent, 'soundstable' ) then&lt;br /&gt;
		vardefine( parent, 'soundstable', 1 )&lt;br /&gt;
		if args.nocat then&lt;br /&gt;
			vardefine( parent, 'nocat', 1 )&lt;br /&gt;
		end&lt;br /&gt;
		local bedrockordungeons = false&lt;br /&gt;
		local bedrock = false&lt;br /&gt;
		local dungeons = false&lt;br /&gt;
		if args.bedrock or args.type=='bedrock' then&lt;br /&gt;
			vardefine( parent, 'bedrock', 1 )&lt;br /&gt;
			bedrockordungeons = true&lt;br /&gt;
			bedrock = true&lt;br /&gt;
			vardefine( parent, 'bedrockordungeons', 1 )&lt;br /&gt;
		end&lt;br /&gt;
		if args.dungeons or args.type=='dungeons' then&lt;br /&gt;
			vardefine( parent, 'dungeons', 1 )&lt;br /&gt;
			bedrockordungeons = true&lt;br /&gt;
			dungeons = true&lt;br /&gt;
			vardefine( parent, 'bedrockordungeons', 1 )&lt;br /&gt;
		end&lt;br /&gt;
		result = result .. [=[&amp;lt;table class=&amp;quot;wikitable&amp;quot;&amp;gt;]=]&lt;br /&gt;
		local headerrow = mw.html.create( 'tr' )&lt;br /&gt;
		local headings = { 'Sound' }&lt;br /&gt;
		&lt;br /&gt;
		if not bedrockordungeons then&lt;br /&gt;
			table.insert( headings, '[[Subtitle]]' )&lt;br /&gt;
		end&lt;br /&gt;
		if not dungeons then&lt;br /&gt;
			local sourceheading = parent:expandTemplate{ title = 'abbr', args = { 'Source', 'The category this sound falls into; what volume slider controls this sound in the Music and Sounds menu.' } }&lt;br /&gt;
			table.insert( headings, sourceheading )&lt;br /&gt;
		end&lt;br /&gt;
		local descriptionheading = parent:expandTemplate{ title = 'abbr', args = { 'Description', 'When the game calls this sound event.' } }&lt;br /&gt;
		table.insert( headings, descriptionheading )&lt;br /&gt;
		if not dungeons then&lt;br /&gt;
            table.insert( headings, '[[Namespaced ID]]')&lt;br /&gt;
        end&lt;br /&gt;
		if not bedrockordungeons then&lt;br /&gt;
			table.insert( headings, 'Translation key' )&lt;br /&gt;
		end&lt;br /&gt;
		if not dungeons then&lt;br /&gt;
			table.insert( headings, 'Volume' )&lt;br /&gt;
			table.insert( headings, 'Pitch' )&lt;br /&gt;
		end&lt;br /&gt;
		if not bedrockordungeons then&lt;br /&gt;
			table.insert( headings, 'Attenuation&amp;lt;br&amp;gt;distance' )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		for i, header in ipairs( headings ) do&lt;br /&gt;
			headerrow&lt;br /&gt;
				:tag( 'th' )&lt;br /&gt;
				:wikitext( header ) &lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		result = result .. tostring( headerrow )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Header variables&lt;br /&gt;
	local nocat = var( parent, 'nocat' )&lt;br /&gt;
	local bedrockordungeons = var( parent, 'bedrockordungeons' )&lt;br /&gt;
	local bedrock = var( parent, 'bedrock' )&lt;br /&gt;
	local dungeons = var( parent, 'dungeons' )&lt;br /&gt;
	&lt;br /&gt;
	local cells = {}&lt;br /&gt;
	&lt;br /&gt;
	local sound = ''&lt;br /&gt;
	if args.sound == '-' then&lt;br /&gt;
		sound = [=[''None'']=]&lt;br /&gt;
	elseif args.sound == nil then&lt;br /&gt;
		sound = addCategory( nocat, '?', 'sounds' )&lt;br /&gt;
	else&lt;br /&gt;
		-- First parameter is empty because we don't want a sound name&lt;br /&gt;
		local sounds = { '', args.sound }&lt;br /&gt;
		for count = 2, 20 do&lt;br /&gt;
			local index = 'sound' .. count&lt;br /&gt;
			if args[index] then&lt;br /&gt;
				table.insert( sounds, args[index] )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		sound = parent:expandTemplate{ title = 'Sound', args = sounds }&lt;br /&gt;
	end&lt;br /&gt;
	table.insert( cells, sound )&lt;br /&gt;
	&lt;br /&gt;
	if not bedrockordungeons then&lt;br /&gt;
		local subtitle = args.subtitle&lt;br /&gt;
		if args.subtitle == '-' then&lt;br /&gt;
			subtitle = parent:preprocess( nosubtitle )&lt;br /&gt;
		elseif args.sound == '-' then&lt;br /&gt;
			subtitle = parent:preprocess( emptyevent )&lt;br /&gt;
		elseif args.translationkey == '-' then&lt;br /&gt;
			local content = parent:expandTemplate{ title = 'bug', args = { args.subtitle } }&lt;br /&gt;
			subtitle = [=[''None'']=] .. parent:extensionTag( 'ref', content, { group = 'sound', name = 'bug' .. args.subtitle } )&lt;br /&gt;
		elseif args.subtitle ~= nil then&lt;br /&gt;
			subtitle = args.subtitle&lt;br /&gt;
		else&lt;br /&gt;
			subtitle = addCategory( nocat, '?', 'subtitles' )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( cells, subtitle )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if not dungeons then&lt;br /&gt;
		local source = addCategory( nocat, '?', 'sound source' )&lt;br /&gt;
		if args.source == 'Master Volume' or args.source == 'master' then&lt;br /&gt;
			source = 'Master Volume'&lt;br /&gt;
		elseif args.source == 'Music' or args.source == 'music' then&lt;br /&gt;
			source = 'Music'&lt;br /&gt;
		elseif args.source == 'Jukebox/Note Blocks' or args.source == 'record' then&lt;br /&gt;
			source = 'Jukebox/Note Blocks'&lt;br /&gt;
		elseif args.source == 'Weather' or args.source == 'weather' then&lt;br /&gt;
			source = 'Weather'&lt;br /&gt;
		elseif args.source == 'Hostile Creatures' or args.source == 'hostile' then&lt;br /&gt;
			source = 'Hostile Creatures'&lt;br /&gt;
		elseif args.source == 'Friendly Creatures' or args.source == 'neutral' then&lt;br /&gt;
			source = 'Friendly Creatures'&lt;br /&gt;
		elseif args.source == 'Players' or args.source == 'player' then&lt;br /&gt;
			source = 'Players'&lt;br /&gt;
		elseif args.source == 'Blocks' or args.source == 'block' then&lt;br /&gt;
			source = 'Blocks'&lt;br /&gt;
		elseif args.source == 'Ambient/Environment' or args.source == 'ambient' then&lt;br /&gt;
			source = 'Ambient/Environment'&lt;br /&gt;
		elseif args.source == 'Voice/Speech' or args.source == 'voice' then&lt;br /&gt;
			source = 'Voice/Speech'&lt;br /&gt;
		elseif args.source == 'Sound' or args.source == 'sound' then&lt;br /&gt;
			source = 'Sound'&lt;br /&gt;
		end&lt;br /&gt;
        table.insert( cells, source )&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local desc = args.description or addCategory( nocat, '?', 'sound description' )&lt;br /&gt;
	table.insert( cells, desc )&lt;br /&gt;
	&lt;br /&gt;
    if not dungeons then&lt;br /&gt;
	    local id&lt;br /&gt;
	    if args.id then&lt;br /&gt;
	    	id = [=[&amp;lt;code style=&amp;quot;white-space: nowrap&amp;quot;&amp;gt;]=] .. args.id .. [=[&amp;lt;/code&amp;gt;]=]&lt;br /&gt;
	    else&lt;br /&gt;
	    	id = addCategory( nocat, '?', 'sound ID' )&lt;br /&gt;
	    end&lt;br /&gt;
	    table.insert( cells, id )&lt;br /&gt;
    end&lt;br /&gt;
	&lt;br /&gt;
	if not bedrockordungeons then&lt;br /&gt;
		local translationkey&lt;br /&gt;
		if args.sound == '-' then&lt;br /&gt;
			translationkey = parent:preprocess( emptyevent )&lt;br /&gt;
		elseif args.subtitle == '-' then&lt;br /&gt;
			translationkey = parent:preprocess( nosubtitle )&lt;br /&gt;
		elseif args.translationkey == '-' then&lt;br /&gt;
			local content = parent:expandTemplate{ title = 'bug', args = { args.subtitle } }&lt;br /&gt;
			translationkey = [=[''None'']=] .. parent:extensionTag( 'ref', content, { group = 'sound', name = 'bug' .. args.subtitle } )&lt;br /&gt;
		elseif args.translationkey ~= nil then&lt;br /&gt;
			translationkey = [=[&amp;lt;code style=&amp;quot;white-space: nowrap&amp;quot;&amp;gt;]=] .. args.translationkey .. [=[&amp;lt;/code&amp;gt;]=]&lt;br /&gt;
		else&lt;br /&gt;
			translationkey = addCategory( nocat, '?', 'subtitle key' )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( cells, translationkey )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if not dungeons then&lt;br /&gt;
		table.insert( cells, args.volume or addCategory( nocat, '?', 'sound volume' ) )&lt;br /&gt;
		table.insert( cells, args.pitch or addCategory( nocat, '?', 'sound pitch' ) )&lt;br /&gt;
	end&lt;br /&gt;
	if not bedrockordungeons then&lt;br /&gt;
		table.insert( cells, args.distance or addCategory( nocat, '?', 'sound attenuation distance' ) )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local row = mw.html.create( 'tr' )&lt;br /&gt;
	for i, cell in ipairs( cells ) do&lt;br /&gt;
		row&lt;br /&gt;
			:tag( 'td' )&lt;br /&gt;
			:wikitext( cell ) &lt;br /&gt;
	end&lt;br /&gt;
	result = result .. tostring( row )&lt;br /&gt;
	&lt;br /&gt;
	if args.foot then&lt;br /&gt;
		-- Reset the variables we used&lt;br /&gt;
		vardefine(parent, 'soundstable', '')&lt;br /&gt;
		vardefine(parent, 'nocat', '')&lt;br /&gt;
		vardefine(parent, 'bedrock', '')&lt;br /&gt;
		vardefine(parent, 'dungeons', '')&lt;br /&gt;
		vardefine(parent, 'bedrockordungeons', '')&lt;br /&gt;
		&lt;br /&gt;
		-- Add table ending&lt;br /&gt;
		result = result .. [=[&amp;lt;/table&amp;gt;]=] .. parent:expandTemplate{ title = 'notelist', args = { 'sound' } }&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return tostring( result )&lt;br /&gt;
end&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Crafting&gt;Unavailablehoax</name></author>
		
	</entry>
</feed>