<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>https://minewiki.pl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MetroKopUA</id>
	<title>Minecraft Wiki Polska - Wkład użytkownika [pl]</title>
	<link rel="self" type="application/atom+xml" href="https://minewiki.pl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MetroKopUA"/>
	<link rel="alternate" type="text/html" href="https://minewiki.pl/Specjalna:Wk%C5%82ad/MetroKopUA"/>
	<updated>2026-05-03T13:23:20Z</updated>
	<subtitle>Wkład użytkownika</subtitle>
	<generator>MediaWiki 1.42.7</generator>
	<entry>
		<id>https://minewiki.pl/index.php?title=U%C5%BCytkownik:MetroKopUA&amp;diff=130526</id>
		<title>Użytkownik:MetroKopUA</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=U%C5%BCytkownik:MetroKopUA&amp;diff=130526"/>
		<updated>2026-02-01T18:52:40Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Jestem biurokratą ukraińskiej minecraft wiki і redaktorem polskiej wiki. Można mnie znaleźć tutaj: [https://uk.minecraft.wiki/w/Користувач:MetroKopUA MetroKopUA].&lt;br /&gt;
{{User ukrainiec}}&lt;br /&gt;
&lt;br /&gt;
{{Administracja}}&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Modu%C5%82:Breaking_row&amp;diff=130336</id>
		<title>Moduł:Breaking row</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Modu%C5%82:Breaking_row&amp;diff=130336"/>
		<updated>2026-01-23T23:09:54Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {}&lt;br /&gt;
local polish = mw.language.new(&#039;pl&#039;)&lt;br /&gt;
&lt;br /&gt;
local breakingTimeHeader;&lt;br /&gt;
local function getBreakingTimeHeader( f )&lt;br /&gt;
	if breakingTimeHeader == nil then&lt;br /&gt;
		breakingTimeHeader = &#039;Czas wydobycia (sekundy)&#039; .. f:preprocess( &#039;&amp;lt;ref group=&amp;quot;FN&amp;quot; name=&amp;quot;breakingtimenote&amp;quot;&amp;gt;Czasy nie biorą pod uwagę [[Zaklinanie|zaklęć]], [[efekt]]ów i innych czynników, jak np. zanurzenie w wodzie.&amp;lt;/ref&amp;gt;&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	return breakingTimeHeader&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function p.row( f )&lt;br /&gt;
	local args = require( [[Moduł:ProcessArgs]] ).norm()&lt;br /&gt;
	&lt;br /&gt;
	local function getDplVar( var )&lt;br /&gt;
		local val = f:callParserFunction( &#039;#dplvar&#039;, &#039;breaking &#039; .. var )&lt;br /&gt;
		if val == &#039;&#039; then&lt;br /&gt;
			val = false&lt;br /&gt;
		end&lt;br /&gt;
		return val&lt;br /&gt;
	end&lt;br /&gt;
	local dplVars = {}&lt;br /&gt;
	local function setDplVar( var, val )&lt;br /&gt;
		table.insert( dplVars, &#039;breaking &#039; .. var )&lt;br /&gt;
		table.insert( dplVars, val or &#039;1&#039; )&lt;br /&gt;
	end&lt;br /&gt;
		&lt;br /&gt;
	local rows = {}&lt;br /&gt;
	local tableParts = {}&lt;br /&gt;
	local categories = {}&lt;br /&gt;
	local showOptions = false&lt;br /&gt;
	&lt;br /&gt;
	local horizontal&lt;br /&gt;
	if args[&#039;horyzontalny&#039;] or args[1]:match( &#039;;&#039; ) then&lt;br /&gt;
		horizontal = true&lt;br /&gt;
	end&lt;br /&gt;
	local showTool = true&lt;br /&gt;
	local showShears = true&lt;br /&gt;
	local showSword = true&lt;br /&gt;
	local header, sortable, simple&lt;br /&gt;
	if horizontal or not getDplVar( &#039;header&#039; ) then&lt;br /&gt;
		if args.hidetool or horizontal and ( not args[2] or args[2]:lower() == &#039;dowolny&#039; or args[2]:lower() == &#039;brak&#039; ) then&lt;br /&gt;
			showTool = false&lt;br /&gt;
			setDplVar( &#039;hidetool&#039; )&lt;br /&gt;
    		breakingTimeHeader = &#039;Czas wydobycia (sekundy)&#039;&lt;br /&gt;
		end&lt;br /&gt;
		if args.hideshears or horizontal and not args[&#039;nożyce&#039;] then&lt;br /&gt;
			showShears = false&lt;br /&gt;
			setDplVar( &#039;hideshears&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		if args.hidesword or horizontal and not args[&#039;miecz&#039;] then&lt;br /&gt;
			showSword = false&lt;br /&gt;
			setDplVar( &#039;hidesword&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		sortable = not horizontal and args.sort&lt;br /&gt;
		if sortable then&lt;br /&gt;
			setDplVar( &#039;sortable&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		simple = args.simple&lt;br /&gt;
		if simple and not horizontal then&lt;br /&gt;
			setDplVar( &#039;simple&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local tableClasses = { &#039;wikitable&#039; }&lt;br /&gt;
		if sortable then&lt;br /&gt;
			table.insert( tableClasses, &#039;sortable&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039; {| class=&amp;quot;&#039; .. table.concat( tableClasses, &#039; &#039; ) .. &#039;&amp;quot; style=&amp;quot;text-align: center; margin: 0;&amp;quot;&#039; )&lt;br /&gt;
		&lt;br /&gt;
		local sortType = &#039;&#039;&lt;br /&gt;
		if sortable then&lt;br /&gt;
			sortType = &#039;data-sort-type=&amp;quot;number&amp;quot;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		local rowspan = &#039;&#039;&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			rowspan = &#039;rowspan=&amp;quot;2&amp;quot; &#039;&lt;br /&gt;
		end&lt;br /&gt;
		header = {&lt;br /&gt;
			&#039;! &#039; .. rowspan .. &#039; | Blok&#039;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		if not simple then&lt;br /&gt;
			table.insert( header, &#039;! &#039; .. rowspan .. sortType .. &#039; | Twardość&#039; )&lt;br /&gt;
			if showTool then&lt;br /&gt;
				table.insert( header, &#039;! &#039; .. rowspan .. &#039; | Narzędzie&#039; )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	&lt;br /&gt;
		local toolColumns = {}&lt;br /&gt;
		if showTool then&lt;br /&gt;
			local firsttool = mw.text.trim( simple and &#039;Narzędzie&#039; or args[2] or &#039;Any&#039; ):gsub( &#039;^%l&#039;, string.upper )&lt;br /&gt;
			firsttool = mw.text.split( firsttool, &#039;;&#039; )[1]&lt;br /&gt;
			if firsttool == &#039;Łopata&#039; or firsttool == &#039;łopata&#039; or firsttool == &#039;Siekiera&#039; or firsttool == &#039;siekiera&#039; or firsttool == &#039;Motyka&#039; or firsttool == &#039;motyka&#039; then&lt;br /&gt;
				toolColumns = { &amp;quot;Drewniana&amp;quot;, &amp;quot;Kamienna&amp;quot;, &amp;quot;Miedziana&amp;quot;, &amp;quot;Żelazna&amp;quot;, &amp;quot;Diamentowa&amp;quot;, &amp;quot;Netherytowa&amp;quot;, &amp;quot;Złota&amp;quot; }&lt;br /&gt;
			else&lt;br /&gt;
				toolColumns = { &amp;quot;Drewniany&amp;quot;, &amp;quot;Kamienny&amp;quot;, &amp;quot;Miedziany&amp;quot;, &amp;quot;Żelazny&amp;quot;, &amp;quot;Diamentowy&amp;quot;, &amp;quot;Netherytowy&amp;quot;, &amp;quot;Złoty&amp;quot; }	&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( toolColumns, 1, &#039;Domyślne&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if not simple then&lt;br /&gt;
			if showShears then&lt;br /&gt;
				table.insert( toolColumns, &#039;Nożyce&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if showSword then&lt;br /&gt;
				table.insert( toolColumns, &#039;Miecz&#039; )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			table.insert( header, &#039;! colspan=&amp;quot;&#039; .. #toolColumns .. &#039;&amp;quot; |&#039; .. getBreakingTimeHeader( f ) )&lt;br /&gt;
			table.insert( header, &#039;|-&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local toolType = polish:lc((args[2] or &#039;&#039;))&lt;br /&gt;
		local toolSprites = {&lt;br /&gt;
			[&#039;Drewniana&#039;] = {},&lt;br /&gt;
			[&#039;Drewniany&#039;] = {},&lt;br /&gt;
			[&#039;Kamienna&#039;] = {},&lt;br /&gt;
			[&#039;Kamienny&#039;] = {},&lt;br /&gt;
			[&#039;Miedziana&#039;] = {},&lt;br /&gt;
			[&#039;Miedziany&#039;] = {},&lt;br /&gt;
			[&#039;Żelazna&#039;] = {},&lt;br /&gt;
			[&#039;Żelazny&#039;] = {},&lt;br /&gt;
			[&#039;Diamentowa&#039;] = {},&lt;br /&gt;
			[&#039;Diamentowy&#039;] = {},&lt;br /&gt;
			[&#039;Netherytowy&#039;] = {},&lt;br /&gt;
			[&#039;Netherytowa&#039;] = {},&lt;br /&gt;
			[&#039;Złota&#039;] = {},&lt;br /&gt;
			[&#039;Złoty&#039;] = {},&lt;br /&gt;
			[&#039;Nożyce&#039;] = { &#039;nożyce&#039; },&lt;br /&gt;
			[&#039;Miecz&#039;] = { &#039;drewniany-miecz&#039; }&lt;br /&gt;
		}&lt;br /&gt;
		for _, tool in ipairs( toolColumns ) do&lt;br /&gt;
			if toolSprites[tool] then&lt;br /&gt;
				local itemName&lt;br /&gt;
				if #toolSprites[tool] == 0 then&lt;br /&gt;
					if toolType == &#039;siekiera&#039; or toolType == &#039;motyka&#039; or toolType == &#039;kilof&#039; or toolType == &#039;łopata&#039; or toolType == &#039;miecz&#039; then&lt;br /&gt;
						itemName = polish:lc(tool) .. &#039;-&#039; .. toolType&lt;br /&gt;
					end&lt;br /&gt;
				else&lt;br /&gt;
					itemName = toolSprites[tool][1]&lt;br /&gt;
				end&lt;br /&gt;
				local image = f:expandTemplate({title = &#039;ItemSprite&#039;, args = {[&#039;1&#039;]=itemName}}).. &#039; &#039; .. tool&lt;br /&gt;
				if itemName then&lt;br /&gt;
					table.insert( header, &#039;! style=&amp;quot;text-align:left&amp;quot; &#039; .. sortType .. &#039; | &#039; .. image )&lt;br /&gt;
				else&lt;br /&gt;
					table.insert( header, &#039;! &#039; .. sortType .. &#039; | &#039; .. tool )&lt;br /&gt;
				end&lt;br /&gt;
				table.insert( categories, spriteCat )&lt;br /&gt;
			else&lt;br /&gt;
				table.insert( header, &#039;! &#039; .. sortType .. &#039; | &#039; .. tool )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			header = table.concat( header, &#039;\n&#039; )&lt;br /&gt;
			setDplVar( &#039;header&#039;, header )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( tableParts, header )&lt;br /&gt;
	else&lt;br /&gt;
		showTool = not getDplVar( &#039;hidetool&#039; )&lt;br /&gt;
		showShears = not getDplVar( &#039;hideshears&#039; )&lt;br /&gt;
		showSword = not getDplVar( &#039;hidesword&#039; )&lt;br /&gt;
		sortable = getDplVar( &#039;sortable&#039; )&lt;br /&gt;
		simple = getDplVar( &#039;simple&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local hardness = require( [[Moduł:Block value]] ).value&lt;br /&gt;
	&lt;br /&gt;
	local function fillCells( cellsTable, text, num )&lt;br /&gt;
		for i = 1, num do&lt;br /&gt;
			table.insert( cellsTable, text )&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local materialGrade = {&lt;br /&gt;
		Any = 0,&lt;br /&gt;
		Wooden = 1, Wood = 1,&lt;br /&gt;
		Golden = 1,&lt;br /&gt;
		Stone = 2,&lt;br /&gt;
		Copper = 2,&lt;br /&gt;
		Iron = 3,&lt;br /&gt;
		Diamond = 4,&lt;br /&gt;
        Netherite = 5,&lt;br /&gt;
		None = 6,&lt;br /&gt;
		[&#039;Dowolny&#039;] = 0,&lt;br /&gt;
		[&#039;Drewniany&#039;] = 1, [&#039;Drewniana&#039;] = 1,&lt;br /&gt;
		[&#039;Złoty&#039;] = 1, [&#039;Złota&#039;] = 1,&lt;br /&gt;
		[&#039;Kamienny&#039;] = 2, [&#039;Kamienna&#039;] = 2,&lt;br /&gt;
		[&#039;Miedziany&#039;] = 2, [&#039;Miedziana&#039;] = 2,&lt;br /&gt;
		[&#039;Żelazny&#039;] = 3, [&#039;Żelazna&#039;] = 3,&lt;br /&gt;
		[&#039;Diamentowy&#039;] = 4, [&#039;Diamentowa&#039;] = 4,&lt;br /&gt;
        [&#039;Netherytowy&#039;] = 5, [&#039;Netherytowa&#039;] = 5,&lt;br /&gt;
		[&#039;Brak&#039;] = 6&lt;br /&gt;
	}&lt;br /&gt;
	local materialSpeed = {&lt;br /&gt;
		None = 1,&lt;br /&gt;
		Any = 1,&lt;br /&gt;
		Wooden = 2, Wood = 2,&lt;br /&gt;
		Stone = 4,&lt;br /&gt;
		Copper = 5,&lt;br /&gt;
		Iron = 6,&lt;br /&gt;
		Diamond = 8,&lt;br /&gt;
        Netherite = 9,&lt;br /&gt;
		Golden = 12,&lt;br /&gt;
		[&#039;Dowolny&#039;] = 1,&lt;br /&gt;
		[&#039;Drewniany&#039;] = 2, [&#039;Drewnianf&#039;] = 2,&lt;br /&gt;
		[&#039;Złoty&#039;] = 12, [&#039;Złota&#039;] = 12,&lt;br /&gt;
		[&#039;Kamienny&#039;] = 4, [&#039;Kamienna&#039;] = 4,&lt;br /&gt;
		[&#039;Miedziany&#039;] = 5, [&#039;Miedziana&#039;] = 5,&lt;br /&gt;
		[&#039;Żelazny&#039;] = 6, [&#039;Żelazna&#039;] = 6,&lt;br /&gt;
		[&#039;Diamentowy&#039;] = 8, [&#039;Diamentowa&#039;] = 8,&lt;br /&gt;
        [&#039;Netherytowy&#039;] = 9, [&#039;Netherytowa&#039;] = 9,&lt;br /&gt;
		[&#039;Brak&#039;] = 1&lt;br /&gt;
	}&lt;br /&gt;
	local numberMaterials = 6&lt;br /&gt;
	&lt;br /&gt;
	local function insertBlock( blockArgs, horizontal )&lt;br /&gt;
		local cells = {}&lt;br /&gt;
		local blocks = mw.text.split( blockArgs[1], &#039;%s*,%s*&#039; )&lt;br /&gt;
		local hardnessNum = hardness{ blocks[1], type = &#039;Twardość&#039; }:gsub(&#039;,&#039;, &#039;.&#039;)&lt;br /&gt;
		local hardnessVal = tonumber( hardnessNum )&lt;br /&gt;
		if not hardnessVal then&lt;br /&gt;
			hardnessVal = &#039;?&#039;&lt;br /&gt;
			local title = mw.title.getCurrentTitle()&lt;br /&gt;
			if title.namespace == 0 and not title.isSubpage then&lt;br /&gt;
				table.insert(categories, &#039;[[Kategoria:Brakująca twardość]]&#039;)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		local unbreakable&lt;br /&gt;
		if hardnessVal == -1 or blockArgs.liquid then&lt;br /&gt;
			unbreakable = true&lt;br /&gt;
		elseif hardnessVal ~= 0 then&lt;br /&gt;
			showOptions = true&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local blockSprites = {}&lt;br /&gt;
		local links = mw.text.split( blockArgs.link or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		local ids = mw.text.split( blockArgs.sprite or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		local items = mw.text.split( blockArgs.item or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		for i, block in ipairs( blocks ) do&lt;br /&gt;
			local link&lt;br /&gt;
			if not links[i] and links[1] ~= &#039;&#039; then&lt;br /&gt;
				link = links[1]&lt;br /&gt;
			elseif links[i] ~= &#039;&#039; then&lt;br /&gt;
				link = links[i]&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			local id&lt;br /&gt;
			if not ids[i] and ids[1] ~= &#039;&#039; then&lt;br /&gt;
				id = ids[1]&lt;br /&gt;
			elseif ids[i] ~= &#039;&#039; then&lt;br /&gt;
				id = ids[i]&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			local blockText&lt;br /&gt;
			if args.textTrim then&lt;br /&gt;
				blockText = block:gsub( args.textTrim .. &#039;$&#039;, &#039;&#039; )&lt;br /&gt;
			else&lt;br /&gt;
				blockText = block&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			if (link == nil or link == &#039;&#039;) and horizontal then&lt;br /&gt;
				link = &#039;brak&#039;&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			local image = f:expandTemplate({title=&#039;BlockLink&#039;, args = {[&#039;1&#039;]=block,text=blockText,[&#039;2&#039;]=link,id=id}})&lt;br /&gt;
			table.insert( blockSprites, image )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( cells,&lt;br /&gt;
			&#039;!&#039; .. (horizontal and &#039;&#039; or &#039; style=&amp;quot;text-align:left&amp;quot; | &#039;) .. table.concat( blockSprites, &#039;&amp;lt;br&amp;gt;&#039; ) .. ( blockArgs.note or &#039;&#039; )&lt;br /&gt;
		)&lt;br /&gt;
		&lt;br /&gt;
		local tool = mw.text.trim( simple and &#039;Narzędzie&#039; or blockArgs[2] or &#039;Dowolny&#039; ):gsub( &#039;^%l&#039;, string.upper )&lt;br /&gt;
		local material = mw.text.trim( simple and blockArgs[2] or blockArgs[3] or &#039;Dowolny&#039; ):gsub( &#039;^%l&#039;, string.upper )&lt;br /&gt;
		if tool == &#039;Brak&#039; then&lt;br /&gt;
			material = tool&lt;br /&gt;
		end&lt;br /&gt;
		if not simple then&lt;br /&gt;
			local hardnessText = polish:formatNum(hardnessVal)&lt;br /&gt;
			if hardnessVal == -1 then&lt;br /&gt;
				hardnessText = ( sortable and &#039;data-sort-value=&amp;quot;9999&amp;quot; | &#039; or &#039;&#039; ) .. &amp;quot;&amp;amp;#45;1 (infinite)&amp;quot;&lt;br /&gt;
			end&lt;br /&gt;
			table.insert( cells, &#039;|&#039; .. hardnessText )&lt;br /&gt;
			&lt;br /&gt;
			if showTool then&lt;br /&gt;
				local toolCell = &#039;—&#039;&lt;br /&gt;
				if tool ~= &#039;Dowolny&#039; and tool ~= &#039;Brak&#039; then&lt;br /&gt;
					if material == &#039;Wood&#039; then&lt;br /&gt;
						material = &#039;Wooden&#039;&lt;br /&gt;
					end&lt;br /&gt;
					local isMaterialSpecified = (material ~= &#039;Dowolny&#039;) and (material ~= &#039;Brak&#039;)&lt;br /&gt;
					local toolName = polish:lc(( isMaterialSpecified and material .. &#039;-&#039; or &#039;&#039; ) .. tool)&lt;br /&gt;
					local toolSpriteName = ( (isMaterialSpecified) and &#039;&#039; or &#039;&#039; ) .. toolName&lt;br /&gt;
					local image = f:expandTemplate({title=&#039;ItemSprite&#039;, args = {[&#039;1&#039;]=toolSpriteName,title=toolName,link=tool,keepcase = not isMaterialSpecified}})&lt;br /&gt;
					&lt;br /&gt;
					toolCell = ( sortable and &#039;data-sort-value=&amp;quot;&#039; .. toolName .. &#039;&amp;quot; |&#039; or &#039;&#039; ) .. image&lt;br /&gt;
					table.insert( categories, spriteCat )&lt;br /&gt;
				end&lt;br /&gt;
				table.insert( cells, &#039;|&#039; .. toolCell )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local choices = {}&lt;br /&gt;
		local function getChoice( choice, text )&lt;br /&gt;
			if not choices[choice] then&lt;br /&gt;
				choices[choice] = f:expandTemplate{ title = &#039;Tc&#039;, args = { choice, &#039;&#039; } }&lt;br /&gt;
			end&lt;br /&gt;
			return choices[choice] .. text&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local function processTime( actualHardness, baseSpeed, tool )&lt;br /&gt;
			-- the number passed in has been multiplied by 100&lt;br /&gt;
			local num = actualHardness / baseSpeed&lt;br /&gt;
			if num &amp;lt;= 5 then	   -- Blocks with a breaking time &amp;lt;= 1 game tick (0.05 seconds) are instant mined (no delay after each block broken)&lt;br /&gt;
				num = &amp;quot;&#039;&#039;0,05&#039;&#039;&amp;quot;    -- Blocks have a minimum breaking time of 1 game tick&lt;br /&gt;
			else					-- And they must be broken in multiples of 1 game tick&lt;br /&gt;
				num = polish:formatNum(math.ceil( num / 5 ) / 20)&lt;br /&gt;
			end&lt;br /&gt;
			return num&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if hardnessVal == &#039;?&#039; then&lt;br /&gt;
			fillCells( cells, &#039;|?&#039;, numberMaterials + 1 )&lt;br /&gt;
		else&lt;br /&gt;
			if unbreakable then&lt;br /&gt;
				table.insert( cells, &#039;| &#039; .. ( sortable and &#039;data-sort-value=&amp;quot;9999&amp;quot; &#039; or &#039;&#039; ) .. getChoice( &#039;nie&#039;, &#039;∞&#039; ) )&lt;br /&gt;
				if showTool then&lt;br /&gt;
					fillCells( cells, &#039;|—&#039;, numberMaterials )&lt;br /&gt;
				end&lt;br /&gt;
			else&lt;br /&gt;
				local drop = &#039;tak&#039;&lt;br /&gt;
				local forceDrop = false&lt;br /&gt;
				if blockArgs[&#039;łupy&#039;] == &#039;0&#039; then&lt;br /&gt;
					drop = &#039;częściowo&#039;&lt;br /&gt;
				elseif blockArgs[&#039;łupy&#039;] == &#039;1&#039; then&lt;br /&gt;
					forceDrop = &#039;tak&#039;&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				local requiredLevel = unbreakable and 999 or materialGrade[material]&lt;br /&gt;
				local function insertMaterialCell( material )&lt;br /&gt;
					local shouldDrop = drop&lt;br /&gt;
					if materialGrade[material] &amp;lt; requiredLevel then&lt;br /&gt;
						shouldDrop = &#039;nie&#039;&lt;br /&gt;
					end&lt;br /&gt;
					-- prevent float number precision loss, multiply by 100 and divide it in processTime function&lt;br /&gt;
					local breakTime = processTime( hardnessVal * (shouldDrop == &#039;nie&#039; and 500 or 150), materialSpeed[material], material )&lt;br /&gt;
					table.insert( cells, &#039;|&#039; .. getChoice( forceDrop or shouldDrop, breakTime ) )&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				if not showTool or tool == &#039;Any&#039; or tool == &#039;None&#039; then&lt;br /&gt;
					insertMaterialCell( &#039;Any&#039; )&lt;br /&gt;
					if showTool then&lt;br /&gt;
						fillCells( cells, &#039;|—&#039;, numberMaterials )&lt;br /&gt;
					end&lt;br /&gt;
				else&lt;br /&gt;
					for _, material in ipairs{ &#039;Any&#039;, &#039;Wooden&#039;, &#039;Stone&#039;, &#039;Copper&#039;, &#039;Iron&#039;, &#039;Diamond&#039;, &#039;Netherite&#039;, &#039;Golden&#039; } do&lt;br /&gt;
						insertMaterialCell( material )&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not simple and ( showShears or showSword ) then&lt;br /&gt;
			local tools = {}&lt;br /&gt;
			if showShears then&lt;br /&gt;
				table.insert( tools, &#039;Nożyce&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if showSword then&lt;br /&gt;
				table.insert( tools, &#039;Miecz&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if hardnessVal == &#039;?&#039; then&lt;br /&gt;
				fillCells( cells, &#039;|?&#039;, #tools )&lt;br /&gt;
			else&lt;br /&gt;
				local toolSpeed = {&lt;br /&gt;
					[&#039;Nożyce&#039;] = 1,&lt;br /&gt;
					[&#039;Miecz&#039;] = 1.5&lt;br /&gt;
				}&lt;br /&gt;
				if blocks[1] == &#039;Wełna&#039; then&lt;br /&gt;
					toolSpeed[&#039;Nożyce&#039;] = 5&lt;br /&gt;
				elseif blocks[1] == &#039;Liście&#039; then&lt;br /&gt;
					toolSpeed[&#039;Nożyce&#039;] = 15&lt;br /&gt;
				elseif blocks[1] == &#039;Pajęczyna&#039; then&lt;br /&gt;
					toolSpeed[&#039;Miecz&#039;] = 15&lt;br /&gt;
					toolSpeed[&#039;Nożyce&#039;] = 15&lt;br /&gt;
				elseif blocks[1] == &#039;Bambus&#039; or blocks[1] == &#039;Pęd bambusu&#039; then&lt;br /&gt;
					toolSpeed[&#039;Miecz&#039;] = 5000&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				for _, tool in ipairs( tools ) do&lt;br /&gt;
					local toolDrop = blockArgs[mw.ustring.lower( tool )]&lt;br /&gt;
					if not toolDrop then&lt;br /&gt;
						table.insert( cells, &#039;|—&#039; )&lt;br /&gt;
					else&lt;br /&gt;
						local willDrop = &#039;tak&#039;&lt;br /&gt;
						if toolDrop == &#039;0&#039; then&lt;br /&gt;
							willDrop = &#039;częściowo&#039;&lt;br /&gt;
						end&lt;br /&gt;
						-- prevent float number precision loss, multiply by 100 and divide it in processTime function&lt;br /&gt;
						local breakTime = processTime( hardnessVal * 150, toolSpeed[tool], tool )&lt;br /&gt;
						table.insert( cells, &#039;|&#039; .. getChoice( willDrop, breakTime ) )&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			cells = table.concat( cells, &#039;\n&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( tableParts, cells )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if horizontal then&lt;br /&gt;
		local blocksArgs = {}&lt;br /&gt;
		for _, arg in ipairs{ 1, &#039;note&#039;, &#039;sprite&#039;, &#039;link&#039;, &#039;item&#039;, &#039;łupy&#039;, 2, 3, &#039;nożyce&#039;, &#039;miecz&#039; } do&lt;br /&gt;
			if args[arg] then&lt;br /&gt;
				local col = 0&lt;br /&gt;
				for colVal in mw.text.gsplit( args[arg], &#039;%s*;%s*&#039; ) do&lt;br /&gt;
					col = col + 1&lt;br /&gt;
					if colVal ~= &#039;&#039; then&lt;br /&gt;
						if not blocksArgs[col] then&lt;br /&gt;
							blocksArgs[col] = {}&lt;br /&gt;
						end&lt;br /&gt;
						&lt;br /&gt;
						blocksArgs[col][arg] = colVal&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		for _, block in ipairs( blocksArgs ) do&lt;br /&gt;
			insertBlock( block, true )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local columns = #tableParts&lt;br /&gt;
		for row = 1, #tableParts[1] do&lt;br /&gt;
			local cells = {}&lt;br /&gt;
			for col = 1, columns do&lt;br /&gt;
				table.insert( cells, tableParts[col][row] )&lt;br /&gt;
			end&lt;br /&gt;
			table.insert( rows, table.concat( cells, &#039;\n&#039; ) )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- Insert breaking time header after block row when simple, or after tool or hardness row when not&lt;br /&gt;
		table.insert( rows, simple and 3 or showTool and 5 or 4, &#039;! colspan=&amp;quot;&#039; .. columns + 1 .. &#039;&amp;quot; |&#039; .. getBreakingTimeHeader( f ) )&lt;br /&gt;
	else&lt;br /&gt;
		insertBlock( args, false )&lt;br /&gt;
		for _, row in ipairs( tableParts ) do&lt;br /&gt;
			table.insert( rows, row )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039;&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local note = &#039;&#039;&lt;br /&gt;
	if args.foot or horizontal then&lt;br /&gt;
		note = f:preprocess( &#039;&amp;lt;references group=&amp;quot;FN&amp;quot;/&amp;gt;&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if args.foot == &#039;2&#039; then&lt;br /&gt;
			table.insert( rows, header or getDplVar( &#039;header&#039; ) )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039;|}&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			f:callParserFunction( &#039;#dplvar:set&#039;,&lt;br /&gt;
				&#039;breaking header&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hidetool&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hideshears&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hidesword&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking simple&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking sortable&#039;, &#039;&#039;&lt;br /&gt;
			)&lt;br /&gt;
		end&lt;br /&gt;
	elseif #dplVars &amp;gt; 0 then&lt;br /&gt;
		f:callParserFunction( &#039;#dplvar:set&#039;, dplVars )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local result = table.concat( rows, &#039;\n|-\n&#039; )&lt;br /&gt;
	return result .. note .. table.concat( categories )&lt;br /&gt;
end&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Modu%C5%82:Breaking_row&amp;diff=130335</id>
		<title>Moduł:Breaking row</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Modu%C5%82:Breaking_row&amp;diff=130335"/>
		<updated>2026-01-23T23:07:02Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {}&lt;br /&gt;
local polish = mw.language.new(&#039;pl&#039;)&lt;br /&gt;
&lt;br /&gt;
local breakingTimeHeader;&lt;br /&gt;
local function getBreakingTimeHeader( f )&lt;br /&gt;
	if breakingTimeHeader == nil then&lt;br /&gt;
		breakingTimeHeader = &#039;Czas wydobycia (sekundy)&#039; .. f:preprocess( &#039;&amp;lt;ref group=&amp;quot;FN&amp;quot; name=&amp;quot;breakingtimenote&amp;quot;&amp;gt;Czasy nie biorą pod uwagę [[Zaklinanie|zaklęć]], [[efekt]]ów i innych czynników, jak np. zanurzenie w wodzie.&amp;lt;/ref&amp;gt;&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	return breakingTimeHeader&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function p.row( f )&lt;br /&gt;
	local args = require( [[Moduł:ProcessArgs]] ).norm()&lt;br /&gt;
	&lt;br /&gt;
	local function getDplVar( var )&lt;br /&gt;
		local val = f:callParserFunction( &#039;#dplvar&#039;, &#039;breaking &#039; .. var )&lt;br /&gt;
		if val == &#039;&#039; then&lt;br /&gt;
			val = false&lt;br /&gt;
		end&lt;br /&gt;
		return val&lt;br /&gt;
	end&lt;br /&gt;
	local dplVars = {}&lt;br /&gt;
	local function setDplVar( var, val )&lt;br /&gt;
		table.insert( dplVars, &#039;breaking &#039; .. var )&lt;br /&gt;
		table.insert( dplVars, val or &#039;1&#039; )&lt;br /&gt;
	end&lt;br /&gt;
		&lt;br /&gt;
	local rows = {}&lt;br /&gt;
	local tableParts = {}&lt;br /&gt;
	local categories = {}&lt;br /&gt;
	local showOptions = false&lt;br /&gt;
	&lt;br /&gt;
	local horizontal&lt;br /&gt;
	if args[&#039;horyzontalny&#039;] or args[1]:match( &#039;;&#039; ) then&lt;br /&gt;
		horizontal = true&lt;br /&gt;
	end&lt;br /&gt;
	local showTool = true&lt;br /&gt;
	local showShears = true&lt;br /&gt;
	local showSword = true&lt;br /&gt;
	local header, sortable, simple&lt;br /&gt;
	if horizontal or not getDplVar( &#039;header&#039; ) then&lt;br /&gt;
		if args.hidetool or horizontal and ( not args[2] or args[2]:lower() == &#039;dowolny&#039; or args[2]:lower() == &#039;brak&#039; ) then&lt;br /&gt;
			showTool = false&lt;br /&gt;
			setDplVar( &#039;hidetool&#039; )&lt;br /&gt;
    		breakingTimeHeader = &#039;Czas wydobycia (sekundy)&#039;&lt;br /&gt;
		end&lt;br /&gt;
		if args.hideshears or horizontal and not args[&#039;nożyce&#039;] then&lt;br /&gt;
			showShears = false&lt;br /&gt;
			setDplVar( &#039;hideshears&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		if args.hidesword or horizontal and not args[&#039;miecz&#039;] then&lt;br /&gt;
			showSword = false&lt;br /&gt;
			setDplVar( &#039;hidesword&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		sortable = not horizontal and args.sort&lt;br /&gt;
		if sortable then&lt;br /&gt;
			setDplVar( &#039;sortable&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		simple = args.simple&lt;br /&gt;
		if simple and not horizontal then&lt;br /&gt;
			setDplVar( &#039;simple&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local tableClasses = { &#039;wikitable&#039; }&lt;br /&gt;
		if sortable then&lt;br /&gt;
			table.insert( tableClasses, &#039;sortable&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039; {| class=&amp;quot;&#039; .. table.concat( tableClasses, &#039; &#039; ) .. &#039;&amp;quot; style=&amp;quot;text-align: center; margin: 0;&amp;quot;&#039; )&lt;br /&gt;
		&lt;br /&gt;
		local sortType = &#039;&#039;&lt;br /&gt;
		if sortable then&lt;br /&gt;
			sortType = &#039;data-sort-type=&amp;quot;number&amp;quot;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		local rowspan = &#039;&#039;&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			rowspan = &#039;rowspan=&amp;quot;2&amp;quot; &#039;&lt;br /&gt;
		end&lt;br /&gt;
		header = {&lt;br /&gt;
			&#039;! &#039; .. rowspan .. &#039; | Blok&#039;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		if not simple then&lt;br /&gt;
			table.insert( header, &#039;! &#039; .. rowspan .. sortType .. &#039; | Twardość&#039; )&lt;br /&gt;
			if showTool then&lt;br /&gt;
				table.insert( header, &#039;! &#039; .. rowspan .. &#039; | Narzędzie&#039; )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	&lt;br /&gt;
		local toolColumns = {}&lt;br /&gt;
		if showTool then&lt;br /&gt;
			local firsttool = mw.text.trim( simple and &#039;Narzędzie&#039; or args[2] or &#039;Any&#039; ):gsub( &#039;^%l&#039;, string.upper )&lt;br /&gt;
			firsttool = mw.text.split( firsttool, &#039;;&#039; )[1]&lt;br /&gt;
			if firsttool == &#039;Łopata&#039; or firsttool == &#039;łopata&#039; or firsttool == &#039;Siekiera&#039; or firsttool == &#039;siekiera&#039; or firsttool == &#039;Motyka&#039; or firsttool == &#039;motyka&#039; then&lt;br /&gt;
				toolColumns = { &amp;quot;Drewniana&amp;quot;, &amp;quot;Kamienna&amp;quot;, &amp;quot;Miedziana&amp;quot;, &amp;quot;Żelazna&amp;quot;, &amp;quot;Diamentowa&amp;quot;, &amp;quot;Netherytowa&amp;quot;, &amp;quot;Złota&amp;quot; }&lt;br /&gt;
			else&lt;br /&gt;
				toolColumns = { &amp;quot;Drewniany&amp;quot;, &amp;quot;Kamienny&amp;quot;, &amp;quot;Miedziany&amp;quot;, &amp;quot;Żelazny&amp;quot;, &amp;quot;Diamentowy&amp;quot;, &amp;quot;Netherytowy&amp;quot;, &amp;quot;Złoty&amp;quot; }	&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( toolColumns, 1, &#039;Domyślne&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if not simple then&lt;br /&gt;
			if showShears then&lt;br /&gt;
				table.insert( toolColumns, &#039;Nożyce&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if showSword then&lt;br /&gt;
				table.insert( toolColumns, &#039;Miecz&#039; )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			table.insert( header, &#039;! colspan=&amp;quot;&#039; .. #toolColumns .. &#039;&amp;quot; |&#039; .. getBreakingTimeHeader( f ) )&lt;br /&gt;
			table.insert( header, &#039;|-&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local toolType = polish:lc((args[2] or &#039;&#039;))&lt;br /&gt;
		local toolSprites = {&lt;br /&gt;
			[&#039;Drewniana&#039;] = {},&lt;br /&gt;
			[&#039;Drewniany&#039;] = {},&lt;br /&gt;
			[&#039;Kamienna&#039;] = {},&lt;br /&gt;
			[&#039;Kamienny&#039;] = {},&lt;br /&gt;
			[&#039;Miedziana&#039;] = {},&lt;br /&gt;
			[&#039;Miedziany&#039;] = {},&lt;br /&gt;
			[&#039;Żelazna&#039;] = {},&lt;br /&gt;
			[&#039;Żelazny&#039;] = {},&lt;br /&gt;
			[&#039;Diamentowa&#039;] = {},&lt;br /&gt;
			[&#039;Diamentowy&#039;] = {},&lt;br /&gt;
			[&#039;Netherytowy&#039;] = {},&lt;br /&gt;
			[&#039;Netherytowa&#039;] = {},&lt;br /&gt;
			[&#039;Złota&#039;] = {},&lt;br /&gt;
			[&#039;Złoty&#039;] = {},&lt;br /&gt;
			[&#039;Nożyce&#039;] = {},&lt;br /&gt;
			[&#039;Miecz&#039;] = {}&lt;br /&gt;
		}&lt;br /&gt;
		for _, tool in ipairs( toolColumns ) do&lt;br /&gt;
			if toolSprites[tool] then&lt;br /&gt;
				local itemName&lt;br /&gt;
				if #toolSprites[tool] == 0 then&lt;br /&gt;
					if toolType == &#039;siekiera&#039; or toolType == &#039;motyka&#039; or toolType == &#039;kilof&#039; or toolType == &#039;łopata&#039; or toolType == &#039;miecz&#039; then&lt;br /&gt;
						itemName = polish:lc(tool) .. &#039;-&#039; .. toolType&lt;br /&gt;
					end&lt;br /&gt;
				else&lt;br /&gt;
					itemName = toolSprites[tool][1]&lt;br /&gt;
				end&lt;br /&gt;
				local image = f:expandTemplate({title = &#039;ItemSprite&#039;, args = {[&#039;1&#039;]=itemName}}).. &#039; &#039; .. tool&lt;br /&gt;
				if itemName then&lt;br /&gt;
					table.insert( header, &#039;! style=&amp;quot;text-align:left&amp;quot; &#039; .. sortType .. &#039; | &#039; .. image )&lt;br /&gt;
				else&lt;br /&gt;
					table.insert( header, &#039;! &#039; .. sortType .. &#039; | &#039; .. tool )&lt;br /&gt;
				end&lt;br /&gt;
				table.insert( categories, spriteCat )&lt;br /&gt;
			else&lt;br /&gt;
				table.insert( header, &#039;! &#039; .. sortType .. &#039; | &#039; .. tool )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			header = table.concat( header, &#039;\n&#039; )&lt;br /&gt;
			setDplVar( &#039;header&#039;, header )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( tableParts, header )&lt;br /&gt;
	else&lt;br /&gt;
		showTool = not getDplVar( &#039;hidetool&#039; )&lt;br /&gt;
		showShears = not getDplVar( &#039;hideshears&#039; )&lt;br /&gt;
		showSword = not getDplVar( &#039;hidesword&#039; )&lt;br /&gt;
		sortable = getDplVar( &#039;sortable&#039; )&lt;br /&gt;
		simple = getDplVar( &#039;simple&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local hardness = require( [[Moduł:Block value]] ).value&lt;br /&gt;
	&lt;br /&gt;
	local function fillCells( cellsTable, text, num )&lt;br /&gt;
		for i = 1, num do&lt;br /&gt;
			table.insert( cellsTable, text )&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local materialGrade = {&lt;br /&gt;
		Any = 0,&lt;br /&gt;
		Wooden = 1, Wood = 1,&lt;br /&gt;
		Golden = 1,&lt;br /&gt;
		Stone = 2,&lt;br /&gt;
		Copper = 2,&lt;br /&gt;
		Iron = 3,&lt;br /&gt;
		Diamond = 4,&lt;br /&gt;
        Netherite = 5,&lt;br /&gt;
		None = 6,&lt;br /&gt;
		[&#039;Dowolny&#039;] = 0,&lt;br /&gt;
		[&#039;Drewniany&#039;] = 1, [&#039;Drewniana&#039;] = 1,&lt;br /&gt;
		[&#039;Złoty&#039;] = 1, [&#039;Złota&#039;] = 1,&lt;br /&gt;
		[&#039;Kamienny&#039;] = 2, [&#039;Kamienna&#039;] = 2,&lt;br /&gt;
		[&#039;Miedziany&#039;] = 2, [&#039;Miedziana&#039;] = 2,&lt;br /&gt;
		[&#039;Żelazny&#039;] = 3, [&#039;Żelazna&#039;] = 3,&lt;br /&gt;
		[&#039;Diamentowy&#039;] = 4, [&#039;Diamentowa&#039;] = 4,&lt;br /&gt;
        [&#039;Netherytowy&#039;] = 5, [&#039;Netherytowa&#039;] = 5,&lt;br /&gt;
		[&#039;Brak&#039;] = 6&lt;br /&gt;
	}&lt;br /&gt;
	local materialSpeed = {&lt;br /&gt;
		None = 1,&lt;br /&gt;
		Any = 1,&lt;br /&gt;
		Wooden = 2, Wood = 2,&lt;br /&gt;
		Stone = 4,&lt;br /&gt;
		Copper = 5,&lt;br /&gt;
		Iron = 6,&lt;br /&gt;
		Diamond = 8,&lt;br /&gt;
        Netherite = 9,&lt;br /&gt;
		Golden = 12,&lt;br /&gt;
		[&#039;Dowolny&#039;] = 1,&lt;br /&gt;
		[&#039;Drewniany&#039;] = 2, [&#039;Drewnianf&#039;] = 2,&lt;br /&gt;
		[&#039;Złoty&#039;] = 12, [&#039;Złota&#039;] = 12,&lt;br /&gt;
		[&#039;Kamienny&#039;] = 4, [&#039;Kamienna&#039;] = 4,&lt;br /&gt;
		[&#039;Miedziany&#039;] = 5, [&#039;Miedziana&#039;] = 5,&lt;br /&gt;
		[&#039;Żelazny&#039;] = 6, [&#039;Żelazna&#039;] = 6,&lt;br /&gt;
		[&#039;Diamentowy&#039;] = 8, [&#039;Diamentowa&#039;] = 8,&lt;br /&gt;
        [&#039;Netherytowy&#039;] = 9, [&#039;Netherytowa&#039;] = 9,&lt;br /&gt;
		[&#039;Brak&#039;] = 1&lt;br /&gt;
	}&lt;br /&gt;
	local numberMaterials = 6&lt;br /&gt;
	&lt;br /&gt;
	local function insertBlock( blockArgs, horizontal )&lt;br /&gt;
		local cells = {}&lt;br /&gt;
		local blocks = mw.text.split( blockArgs[1], &#039;%s*,%s*&#039; )&lt;br /&gt;
		local hardnessNum = hardness{ blocks[1], type = &#039;Twardość&#039; }:gsub(&#039;,&#039;, &#039;.&#039;)&lt;br /&gt;
		local hardnessVal = tonumber( hardnessNum )&lt;br /&gt;
		if not hardnessVal then&lt;br /&gt;
			hardnessVal = &#039;?&#039;&lt;br /&gt;
			local title = mw.title.getCurrentTitle()&lt;br /&gt;
			if title.namespace == 0 and not title.isSubpage then&lt;br /&gt;
				table.insert(categories, &#039;[[Kategoria:Brakująca twardość]]&#039;)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		local unbreakable&lt;br /&gt;
		if hardnessVal == -1 or blockArgs.liquid then&lt;br /&gt;
			unbreakable = true&lt;br /&gt;
		elseif hardnessVal ~= 0 then&lt;br /&gt;
			showOptions = true&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local blockSprites = {}&lt;br /&gt;
		local links = mw.text.split( blockArgs.link or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		local ids = mw.text.split( blockArgs.sprite or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		local items = mw.text.split( blockArgs.item or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		for i, block in ipairs( blocks ) do&lt;br /&gt;
			local link&lt;br /&gt;
			if not links[i] and links[1] ~= &#039;&#039; then&lt;br /&gt;
				link = links[1]&lt;br /&gt;
			elseif links[i] ~= &#039;&#039; then&lt;br /&gt;
				link = links[i]&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			local id&lt;br /&gt;
			if not ids[i] and ids[1] ~= &#039;&#039; then&lt;br /&gt;
				id = ids[1]&lt;br /&gt;
			elseif ids[i] ~= &#039;&#039; then&lt;br /&gt;
				id = ids[i]&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			local blockText&lt;br /&gt;
			if args.textTrim then&lt;br /&gt;
				blockText = block:gsub( args.textTrim .. &#039;$&#039;, &#039;&#039; )&lt;br /&gt;
			else&lt;br /&gt;
				blockText = block&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			if (link == nil or link == &#039;&#039;) and horizontal then&lt;br /&gt;
				link = &#039;brak&#039;&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			local image = f:expandTemplate({title=&#039;BlockLink&#039;, args = {[&#039;1&#039;]=block,text=blockText,[&#039;2&#039;]=link,id=id}})&lt;br /&gt;
			table.insert( blockSprites, image )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( cells,&lt;br /&gt;
			&#039;!&#039; .. (horizontal and &#039;&#039; or &#039; style=&amp;quot;text-align:left&amp;quot; | &#039;) .. table.concat( blockSprites, &#039;&amp;lt;br&amp;gt;&#039; ) .. ( blockArgs.note or &#039;&#039; )&lt;br /&gt;
		)&lt;br /&gt;
		&lt;br /&gt;
		local tool = mw.text.trim( simple and &#039;Narzędzie&#039; or blockArgs[2] or &#039;Dowolny&#039; ):gsub( &#039;^%l&#039;, string.upper )&lt;br /&gt;
		local material = mw.text.trim( simple and blockArgs[2] or blockArgs[3] or &#039;Dowolny&#039; ):gsub( &#039;^%l&#039;, string.upper )&lt;br /&gt;
		if tool == &#039;Brak&#039; then&lt;br /&gt;
			material = tool&lt;br /&gt;
		end&lt;br /&gt;
		if not simple then&lt;br /&gt;
			local hardnessText = polish:formatNum(hardnessVal)&lt;br /&gt;
			if hardnessVal == -1 then&lt;br /&gt;
				hardnessText = ( sortable and &#039;data-sort-value=&amp;quot;9999&amp;quot; | &#039; or &#039;&#039; ) .. &amp;quot;&amp;amp;#45;1 (infinite)&amp;quot;&lt;br /&gt;
			end&lt;br /&gt;
			table.insert( cells, &#039;|&#039; .. hardnessText )&lt;br /&gt;
			&lt;br /&gt;
			if showTool then&lt;br /&gt;
				local toolCell = &#039;—&#039;&lt;br /&gt;
				if tool ~= &#039;Dowolny&#039; and tool ~= &#039;Brak&#039; then&lt;br /&gt;
					if material == &#039;Wood&#039; then&lt;br /&gt;
						material = &#039;Wooden&#039;&lt;br /&gt;
					end&lt;br /&gt;
					local isMaterialSpecified = (material ~= &#039;Dowolny&#039;) and (material ~= &#039;Brak&#039;)&lt;br /&gt;
					local toolName = polish:lc(( isMaterialSpecified and material .. &#039;-&#039; or &#039;&#039; ) .. tool)&lt;br /&gt;
					local toolSpriteName = ( (isMaterialSpecified) and &#039;&#039; or &#039;&#039; ) .. toolName&lt;br /&gt;
					local image = f:expandTemplate({title=&#039;ItemSprite&#039;, args = {[&#039;1&#039;]=toolSpriteName,title=toolName,link=tool,keepcase = not isMaterialSpecified}})&lt;br /&gt;
					&lt;br /&gt;
					toolCell = ( sortable and &#039;data-sort-value=&amp;quot;&#039; .. toolName .. &#039;&amp;quot; |&#039; or &#039;&#039; ) .. image&lt;br /&gt;
					table.insert( categories, spriteCat )&lt;br /&gt;
				end&lt;br /&gt;
				table.insert( cells, &#039;|&#039; .. toolCell )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local choices = {}&lt;br /&gt;
		local function getChoice( choice, text )&lt;br /&gt;
			if not choices[choice] then&lt;br /&gt;
				choices[choice] = f:expandTemplate{ title = &#039;Tc&#039;, args = { choice, &#039;&#039; } }&lt;br /&gt;
			end&lt;br /&gt;
			return choices[choice] .. text&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local function processTime( actualHardness, baseSpeed, tool )&lt;br /&gt;
			-- the number passed in has been multiplied by 100&lt;br /&gt;
			local num = actualHardness / baseSpeed&lt;br /&gt;
			if num &amp;lt;= 5 then	   -- Blocks with a breaking time &amp;lt;= 1 game tick (0.05 seconds) are instant mined (no delay after each block broken)&lt;br /&gt;
				num = &amp;quot;&#039;&#039;0,05&#039;&#039;&amp;quot;    -- Blocks have a minimum breaking time of 1 game tick&lt;br /&gt;
			else					-- And they must be broken in multiples of 1 game tick&lt;br /&gt;
				num = polish:formatNum(math.ceil( num / 5 ) / 20)&lt;br /&gt;
			end&lt;br /&gt;
			return num&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if hardnessVal == &#039;?&#039; then&lt;br /&gt;
			fillCells( cells, &#039;|?&#039;, numberMaterials + 1 )&lt;br /&gt;
		else&lt;br /&gt;
			if unbreakable then&lt;br /&gt;
				table.insert( cells, &#039;| &#039; .. ( sortable and &#039;data-sort-value=&amp;quot;9999&amp;quot; &#039; or &#039;&#039; ) .. getChoice( &#039;nie&#039;, &#039;∞&#039; ) )&lt;br /&gt;
				if showTool then&lt;br /&gt;
					fillCells( cells, &#039;|—&#039;, numberMaterials )&lt;br /&gt;
				end&lt;br /&gt;
			else&lt;br /&gt;
				local drop = &#039;tak&#039;&lt;br /&gt;
				local forceDrop = false&lt;br /&gt;
				if blockArgs[&#039;łupy&#039;] == &#039;0&#039; then&lt;br /&gt;
					drop = &#039;częściowo&#039;&lt;br /&gt;
				elseif blockArgs[&#039;łupy&#039;] == &#039;1&#039; then&lt;br /&gt;
					forceDrop = &#039;tak&#039;&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				local requiredLevel = unbreakable and 999 or materialGrade[material]&lt;br /&gt;
				local function insertMaterialCell( material )&lt;br /&gt;
					local shouldDrop = drop&lt;br /&gt;
					if materialGrade[material] &amp;lt; requiredLevel then&lt;br /&gt;
						shouldDrop = &#039;nie&#039;&lt;br /&gt;
					end&lt;br /&gt;
					-- prevent float number precision loss, multiply by 100 and divide it in processTime function&lt;br /&gt;
					local breakTime = processTime( hardnessVal * (shouldDrop == &#039;nie&#039; and 500 or 150), materialSpeed[material], material )&lt;br /&gt;
					table.insert( cells, &#039;|&#039; .. getChoice( forceDrop or shouldDrop, breakTime ) )&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				if not showTool or tool == &#039;Any&#039; or tool == &#039;None&#039; then&lt;br /&gt;
					insertMaterialCell( &#039;Any&#039; )&lt;br /&gt;
					if showTool then&lt;br /&gt;
						fillCells( cells, &#039;|—&#039;, numberMaterials )&lt;br /&gt;
					end&lt;br /&gt;
				else&lt;br /&gt;
					for _, material in ipairs{ &#039;Any&#039;, &#039;Wooden&#039;, &#039;Stone&#039;, &#039;Copper&#039;, &#039;Iron&#039;, &#039;Diamond&#039;, &#039;Netherite&#039;, &#039;Golden&#039; } do&lt;br /&gt;
						insertMaterialCell( material )&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not simple and ( showShears or showSword ) then&lt;br /&gt;
			local tools = {}&lt;br /&gt;
			if showShears then&lt;br /&gt;
				table.insert( tools, &#039;Nożyce&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if showSword then&lt;br /&gt;
				table.insert( tools, &#039;Miecz&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if hardnessVal == &#039;?&#039; then&lt;br /&gt;
				fillCells( cells, &#039;|?&#039;, #tools )&lt;br /&gt;
			else&lt;br /&gt;
				local toolSpeed = {&lt;br /&gt;
					[&#039;Nożyce&#039;] = 1,&lt;br /&gt;
					[&#039;Miecz&#039;] = 1.5&lt;br /&gt;
				}&lt;br /&gt;
				if blocks[1] == &#039;Wełna&#039; then&lt;br /&gt;
					toolSpeed[&#039;Nożyce&#039;] = 5&lt;br /&gt;
				elseif blocks[1] == &#039;Liście&#039; then&lt;br /&gt;
					toolSpeed[&#039;Nożyce&#039;] = 15&lt;br /&gt;
				elseif blocks[1] == &#039;Pajęczyna&#039; then&lt;br /&gt;
					toolSpeed[&#039;Miecz&#039;] = 15&lt;br /&gt;
					toolSpeed[&#039;Nożyce&#039;] = 15&lt;br /&gt;
				elseif blocks[1] == &#039;Bambus&#039; or blocks[1] == &#039;Pęd bambusu&#039; then&lt;br /&gt;
					toolSpeed[&#039;Miecz&#039;] = 5000&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				for _, tool in ipairs( tools ) do&lt;br /&gt;
					local toolDrop = blockArgs[mw.ustring.lower( tool )]&lt;br /&gt;
					if not toolDrop then&lt;br /&gt;
						table.insert( cells, &#039;|—&#039; )&lt;br /&gt;
					else&lt;br /&gt;
						local willDrop = &#039;tak&#039;&lt;br /&gt;
						if toolDrop == &#039;0&#039; then&lt;br /&gt;
							willDrop = &#039;częściowo&#039;&lt;br /&gt;
						end&lt;br /&gt;
						-- prevent float number precision loss, multiply by 100 and divide it in processTime function&lt;br /&gt;
						local breakTime = processTime( hardnessVal * 150, toolSpeed[tool], tool )&lt;br /&gt;
						table.insert( cells, &#039;|&#039; .. getChoice( willDrop, breakTime ) )&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			cells = table.concat( cells, &#039;\n&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( tableParts, cells )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if horizontal then&lt;br /&gt;
		local blocksArgs = {}&lt;br /&gt;
		for _, arg in ipairs{ 1, &#039;note&#039;, &#039;sprite&#039;, &#039;link&#039;, &#039;item&#039;, &#039;łupy&#039;, 2, 3, &#039;nożyce&#039;, &#039;miecz&#039; } do&lt;br /&gt;
			if args[arg] then&lt;br /&gt;
				local col = 0&lt;br /&gt;
				for colVal in mw.text.gsplit( args[arg], &#039;%s*;%s*&#039; ) do&lt;br /&gt;
					col = col + 1&lt;br /&gt;
					if colVal ~= &#039;&#039; then&lt;br /&gt;
						if not blocksArgs[col] then&lt;br /&gt;
							blocksArgs[col] = {}&lt;br /&gt;
						end&lt;br /&gt;
						&lt;br /&gt;
						blocksArgs[col][arg] = colVal&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		for _, block in ipairs( blocksArgs ) do&lt;br /&gt;
			insertBlock( block, true )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local columns = #tableParts&lt;br /&gt;
		for row = 1, #tableParts[1] do&lt;br /&gt;
			local cells = {}&lt;br /&gt;
			for col = 1, columns do&lt;br /&gt;
				table.insert( cells, tableParts[col][row] )&lt;br /&gt;
			end&lt;br /&gt;
			table.insert( rows, table.concat( cells, &#039;\n&#039; ) )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- Insert breaking time header after block row when simple, or after tool or hardness row when not&lt;br /&gt;
		table.insert( rows, simple and 3 or showTool and 5 or 4, &#039;! colspan=&amp;quot;&#039; .. columns + 1 .. &#039;&amp;quot; |&#039; .. getBreakingTimeHeader( f ) )&lt;br /&gt;
	else&lt;br /&gt;
		insertBlock( args, false )&lt;br /&gt;
		for _, row in ipairs( tableParts ) do&lt;br /&gt;
			table.insert( rows, row )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039;&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local note = &#039;&#039;&lt;br /&gt;
	if args.foot or horizontal then&lt;br /&gt;
		note = f:preprocess( &#039;&amp;lt;references group=&amp;quot;FN&amp;quot;/&amp;gt;&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if args.foot == &#039;2&#039; then&lt;br /&gt;
			table.insert( rows, header or getDplVar( &#039;header&#039; ) )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039;|}&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			f:callParserFunction( &#039;#dplvar:set&#039;,&lt;br /&gt;
				&#039;breaking header&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hidetool&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hideshears&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hidesword&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking simple&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking sortable&#039;, &#039;&#039;&lt;br /&gt;
			)&lt;br /&gt;
		end&lt;br /&gt;
	elseif #dplVars &amp;gt; 0 then&lt;br /&gt;
		f:callParserFunction( &#039;#dplvar:set&#039;, dplVars )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local result = table.concat( rows, &#039;\n|-\n&#039; )&lt;br /&gt;
	return result .. note .. table.concat( categories )&lt;br /&gt;
end&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Modu%C5%82:Breaking_row&amp;diff=130334</id>
		<title>Moduł:Breaking row</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Modu%C5%82:Breaking_row&amp;diff=130334"/>
		<updated>2026-01-23T23:01:31Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {}&lt;br /&gt;
local polish = mw.language.new(&#039;pl&#039;)&lt;br /&gt;
&lt;br /&gt;
local breakingTimeHeader;&lt;br /&gt;
local function getBreakingTimeHeader( f )&lt;br /&gt;
	if breakingTimeHeader == nil then&lt;br /&gt;
		breakingTimeHeader = &#039;Czas wydobycia (sekundy)&#039; .. f:preprocess( &#039;&amp;lt;ref group=&amp;quot;FN&amp;quot; name=&amp;quot;breakingtimenote&amp;quot;&amp;gt;Czasy nie biorą pod uwagę [[Zaklinanie|zaklęć]], [[efekt]]ów i innych czynników, jak np. zanurzenie w wodzie.&amp;lt;/ref&amp;gt;&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	return breakingTimeHeader&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function p.row( f )&lt;br /&gt;
	local args = require( [[Moduł:ProcessArgs]] ).norm()&lt;br /&gt;
	&lt;br /&gt;
	local function getDplVar( var )&lt;br /&gt;
		local val = f:callParserFunction( &#039;#dplvar&#039;, &#039;breaking &#039; .. var )&lt;br /&gt;
		if val == &#039;&#039; then&lt;br /&gt;
			val = false&lt;br /&gt;
		end&lt;br /&gt;
		return val&lt;br /&gt;
	end&lt;br /&gt;
	local dplVars = {}&lt;br /&gt;
	local function setDplVar( var, val )&lt;br /&gt;
		table.insert( dplVars, &#039;breaking &#039; .. var )&lt;br /&gt;
		table.insert( dplVars, val or &#039;1&#039; )&lt;br /&gt;
	end&lt;br /&gt;
		&lt;br /&gt;
	local rows = {}&lt;br /&gt;
	local tableParts = {}&lt;br /&gt;
	local categories = {}&lt;br /&gt;
	local showOptions = false&lt;br /&gt;
	&lt;br /&gt;
	local horizontal&lt;br /&gt;
	if args[&#039;horyzontalny&#039;] or args[1]:match( &#039;;&#039; ) then&lt;br /&gt;
		horizontal = true&lt;br /&gt;
	end&lt;br /&gt;
	local showTool = true&lt;br /&gt;
	local showShears = true&lt;br /&gt;
	local showSword = true&lt;br /&gt;
	local header, sortable, simple&lt;br /&gt;
	if horizontal or not getDplVar( &#039;header&#039; ) then&lt;br /&gt;
		if args.hidetool or horizontal and ( not args[2] or args[2]:lower() == &#039;dowolny&#039; or args[2]:lower() == &#039;brak&#039; ) then&lt;br /&gt;
			showTool = false&lt;br /&gt;
			setDplVar( &#039;hidetool&#039; )&lt;br /&gt;
    		breakingTimeHeader = &#039;Czas wydobycia (sekundy)&#039;&lt;br /&gt;
		end&lt;br /&gt;
		if args.hideshears or horizontal and not args[&#039;nożyce&#039;] then&lt;br /&gt;
			showShears = false&lt;br /&gt;
			setDplVar( &#039;hideshears&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		if args.hidesword or horizontal and not args[&#039;miecz&#039;] then&lt;br /&gt;
			showSword = false&lt;br /&gt;
			setDplVar( &#039;hidesword&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		sortable = not horizontal and args.sort&lt;br /&gt;
		if sortable then&lt;br /&gt;
			setDplVar( &#039;sortable&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		simple = args.simple&lt;br /&gt;
		if simple and not horizontal then&lt;br /&gt;
			setDplVar( &#039;simple&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local tableClasses = { &#039;wikitable&#039; }&lt;br /&gt;
		if sortable then&lt;br /&gt;
			table.insert( tableClasses, &#039;sortable&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039; {| class=&amp;quot;&#039; .. table.concat( tableClasses, &#039; &#039; ) .. &#039;&amp;quot; style=&amp;quot;text-align: center; margin: 0;&amp;quot;&#039; )&lt;br /&gt;
		&lt;br /&gt;
		local sortType = &#039;&#039;&lt;br /&gt;
		if sortable then&lt;br /&gt;
			sortType = &#039;data-sort-type=&amp;quot;number&amp;quot;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		local rowspan = &#039;&#039;&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			rowspan = &#039;rowspan=&amp;quot;2&amp;quot; &#039;&lt;br /&gt;
		end&lt;br /&gt;
		header = {&lt;br /&gt;
			&#039;! &#039; .. rowspan .. &#039; | Blok&#039;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		if not simple then&lt;br /&gt;
			table.insert( header, &#039;! &#039; .. rowspan .. sortType .. &#039; | Twardość&#039; )&lt;br /&gt;
			if showTool then&lt;br /&gt;
				table.insert( header, &#039;! &#039; .. rowspan .. &#039; | Narzędzie&#039; )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	&lt;br /&gt;
		local toolColumns = {}&lt;br /&gt;
		if showTool then&lt;br /&gt;
			local firsttool = mw.text.trim( simple and &#039;Narzędzie&#039; or args[2] or &#039;Any&#039; ):gsub( &#039;^%l&#039;, string.upper )&lt;br /&gt;
			firsttool = mw.text.split( firsttool, &#039;;&#039; )[1]&lt;br /&gt;
			if firsttool == &#039;Łopata&#039; or firsttool == &#039;łopata&#039; or firsttool == &#039;Siekiera&#039; or firsttool == &#039;siekiera&#039; or firsttool == &#039;Motyka&#039; or firsttool == &#039;motyka&#039; then&lt;br /&gt;
				toolColumns = { &amp;quot;Drewniana&amp;quot;, &amp;quot;Kamienna&amp;quot;, &amp;quot;Miedziana&amp;quot;, &amp;quot;Żelazna&amp;quot;, &amp;quot;Diamentowa&amp;quot;, &amp;quot;Netherytowa&amp;quot;, &amp;quot;Złota&amp;quot; }&lt;br /&gt;
			else&lt;br /&gt;
				toolColumns = { &amp;quot;Drewniany&amp;quot;, &amp;quot;Kamienny&amp;quot;, &amp;quot;Miedziany&amp;quot;, &amp;quot;Żelazny&amp;quot;, &amp;quot;Diamentowy&amp;quot;, &amp;quot;Netherytowy&amp;quot;, &amp;quot;Złoty&amp;quot; }	&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( toolColumns, 1, &#039;Domyślne&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if not simple then&lt;br /&gt;
			if showShears then&lt;br /&gt;
				table.insert( toolColumns, &#039;Nożyce&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if showSword then&lt;br /&gt;
				table.insert( toolColumns, &#039;Miecz&#039; )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			table.insert( header, &#039;! colspan=&amp;quot;&#039; .. #toolColumns .. &#039;&amp;quot; |&#039; .. getBreakingTimeHeader( f ) )&lt;br /&gt;
			table.insert( header, &#039;|-&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local toolType = polish:lc((args[2] or &#039;&#039;))&lt;br /&gt;
		local toolSprites = {&lt;br /&gt;
			[&#039;Drewniana&#039;] = {},&lt;br /&gt;
			[&#039;Drewniany&#039;] = {},&lt;br /&gt;
			[&#039;Kamienna&#039;] = {},&lt;br /&gt;
			[&#039;Kamienny&#039;] = {},&lt;br /&gt;
			[&#039;Miedziana&#039;] = {},&lt;br /&gt;
			[&#039;Miedziany&#039;] = {},&lt;br /&gt;
			[&#039;Żelazna&#039;] = {},&lt;br /&gt;
			[&#039;Żelazny&#039;] = {},&lt;br /&gt;
			[&#039;Diamentowa&#039;] = {},&lt;br /&gt;
			[&#039;Diamentowy&#039;] = {},&lt;br /&gt;
			[&#039;Netherytowy&#039;] = {},&lt;br /&gt;
			[&#039;Netherytowa&#039;] = {},&lt;br /&gt;
			[&#039;Złota&#039;] = {},&lt;br /&gt;
			[&#039;Złoty&#039;] = {},&lt;br /&gt;
			[&#039;Nożyce&#039;] = {},&lt;br /&gt;
			[&#039;Miecz&#039;] = {}&lt;br /&gt;
		}&lt;br /&gt;
		for _, tool in ipairs( toolColumns ) do&lt;br /&gt;
			if toolSprites[tool] then&lt;br /&gt;
				local itemName&lt;br /&gt;
				if #toolSprites[tool] == 0 then&lt;br /&gt;
					if toolType == &#039;siekiera&#039; or toolType == &#039;motyka&#039; or toolType == &#039;kilof&#039; or toolType == &#039;łopata&#039; or toolType == &#039;miecz&#039; then&lt;br /&gt;
						itemName = polish:lc(tool) .. &#039;-&#039; .. toolType&lt;br /&gt;
					end&lt;br /&gt;
				else&lt;br /&gt;
					itemName = toolSprites[tool][1]&lt;br /&gt;
				end&lt;br /&gt;
				local image = f:expandTemplate({title = &#039;ItemSprite&#039;, args = {[&#039;1&#039;]=itemName}}).. &#039; &#039; .. tool&lt;br /&gt;
				if itemName then&lt;br /&gt;
					table.insert( header, &#039;! style=&amp;quot;text-align:left&amp;quot; &#039; .. sortType .. &#039; | &#039; .. image )&lt;br /&gt;
				else&lt;br /&gt;
					table.insert( header, &#039;! &#039; .. sortType .. &#039; | &#039; .. tool )&lt;br /&gt;
				end&lt;br /&gt;
				table.insert( categories, spriteCat )&lt;br /&gt;
			else&lt;br /&gt;
				table.insert( header, &#039;! &#039; .. sortType .. &#039; | &#039; .. tool )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			header = table.concat( header, &#039;\n&#039; )&lt;br /&gt;
			setDplVar( &#039;header&#039;, header )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( tableParts, header )&lt;br /&gt;
	else&lt;br /&gt;
		showTool = not getDplVar( &#039;hidetool&#039; )&lt;br /&gt;
		showShears = not getDplVar( &#039;hideshears&#039; )&lt;br /&gt;
		showSword = not getDplVar( &#039;hidesword&#039; )&lt;br /&gt;
		sortable = getDplVar( &#039;sortable&#039; )&lt;br /&gt;
		simple = getDplVar( &#039;simple&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local hardness = require( [[Moduł:Block value]] ).value&lt;br /&gt;
	&lt;br /&gt;
	local function fillCells( cellsTable, text, num )&lt;br /&gt;
		for i = 1, num do&lt;br /&gt;
			table.insert( cellsTable, text )&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local materialGrade = {&lt;br /&gt;
		Any = 0,&lt;br /&gt;
		Wooden = 1, Wood = 1,&lt;br /&gt;
		Golden = 1,&lt;br /&gt;
		Stone = 2,&lt;br /&gt;
		Copper = 2,&lt;br /&gt;
		Iron = 3,&lt;br /&gt;
		Diamond = 4,&lt;br /&gt;
        Netherite = 5,&lt;br /&gt;
		None = 6,&lt;br /&gt;
		[&#039;Dowolny&#039;] = 0,&lt;br /&gt;
		[&#039;Drewniany&#039;] = 1, [&#039;Drewniana&#039;] = 1,&lt;br /&gt;
		[&#039;Złoty&#039;] = 1, [&#039;Złota&#039;] = 1,&lt;br /&gt;
		[&#039;Kamienny&#039;] = 2, [&#039;Kamienna&#039;] = 2,&lt;br /&gt;
		[&#039;Miedziany&#039;] = 2, [&#039;Miedziana&#039;] = 2,&lt;br /&gt;
		[&#039;Żelazny&#039;] = 3, [&#039;Żelazna&#039;] = 3,&lt;br /&gt;
		[&#039;Diamentowy&#039;] = 4, [&#039;Diamentowa&#039;] = 4,&lt;br /&gt;
        [&#039;Netherytowy&#039;] = 5, [&#039;Netherytowa&#039;] = 5,&lt;br /&gt;
		[&#039;Brak&#039;] = 6&lt;br /&gt;
	}&lt;br /&gt;
	local materialSpeed = {&lt;br /&gt;
		None = 1,&lt;br /&gt;
		Any = 1,&lt;br /&gt;
		Wooden = 2, Wood = 2,&lt;br /&gt;
		Stone = 4,&lt;br /&gt;
		Copper = 5,&lt;br /&gt;
		Iron = 6,&lt;br /&gt;
		Diamond = 8,&lt;br /&gt;
        Netherite = 9,&lt;br /&gt;
		Golden = 12,&lt;br /&gt;
		[&#039;Dowolny&#039;] = 1,&lt;br /&gt;
		[&#039;Drewniany&#039;] = 2, [&#039;Drewnianf&#039;] = 2,&lt;br /&gt;
		[&#039;Złoty&#039;] = 12, [&#039;Złota&#039;] = 12,&lt;br /&gt;
		[&#039;Kamienny&#039;] = 4, [&#039;Kamienna&#039;] = 4,&lt;br /&gt;
		[&#039;Miedziany&#039;] = 5, [&#039;Miedziana&#039;] = 5,&lt;br /&gt;
		[&#039;Żelazny&#039;] = 6, [&#039;Żelazna&#039;] = 6,&lt;br /&gt;
		[&#039;Diamentowy&#039;] = 8, [&#039;Diamentowa&#039;] = 8,&lt;br /&gt;
        [&#039;Netherytowy&#039;] = 9, [&#039;Netherytowa&#039;] = 9,&lt;br /&gt;
		[&#039;Brak&#039;] = 1&lt;br /&gt;
	}&lt;br /&gt;
	local numberMaterials = 6&lt;br /&gt;
	&lt;br /&gt;
	local function insertBlock( blockArgs, horizontal )&lt;br /&gt;
		local cells = {}&lt;br /&gt;
		local blocks = mw.text.split( blockArgs[1], &#039;%s*,%s*&#039; )&lt;br /&gt;
		local hardnessNum = hardness{ blocks[1], type = &#039;Twardość&#039; }:gsub(&#039;,&#039;, &#039;.&#039;)&lt;br /&gt;
		local hardnessVal = tonumber( hardnessNum )&lt;br /&gt;
		if not hardnessVal then&lt;br /&gt;
			hardnessVal = &#039;?&#039;&lt;br /&gt;
			local title = mw.title.getCurrentTitle()&lt;br /&gt;
			if title.namespace == 0 and not title.isSubpage then&lt;br /&gt;
				table.insert(categories, &#039;[[Kategoria:Brakująca twardość]]&#039;)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		local unbreakable&lt;br /&gt;
		if hardnessVal == -1 or blockArgs.liquid then&lt;br /&gt;
			unbreakable = true&lt;br /&gt;
		elseif hardnessVal ~= 0 then&lt;br /&gt;
			showOptions = true&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local blockSprites = {}&lt;br /&gt;
		local links = mw.text.split( blockArgs.link or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		local ids = mw.text.split( blockArgs.sprite or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		local items = mw.text.split( blockArgs.item or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		for i, block in ipairs( blocks ) do&lt;br /&gt;
			local link&lt;br /&gt;
			if not links[i] and links[1] ~= &#039;&#039; then&lt;br /&gt;
				link = links[1]&lt;br /&gt;
			elseif links[i] ~= &#039;&#039; then&lt;br /&gt;
				link = links[i]&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			local id&lt;br /&gt;
			if not ids[i] and ids[1] ~= &#039;&#039; then&lt;br /&gt;
				id = ids[1]&lt;br /&gt;
			elseif ids[i] ~= &#039;&#039; then&lt;br /&gt;
				id = ids[i]&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			local blockText&lt;br /&gt;
			if args.textTrim then&lt;br /&gt;
				blockText = block:gsub( args.textTrim .. &#039;$&#039;, &#039;&#039; )&lt;br /&gt;
			else&lt;br /&gt;
				blockText = block&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			if (link == nil or link == &#039;&#039;) and horizontal then&lt;br /&gt;
				link = &#039;brak&#039;&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			local image = f:expandTemplate({title=&#039;BlockLink&#039;, args = {[&#039;1&#039;]=block,text=blockText,[&#039;2&#039;]=link,id=id}})&lt;br /&gt;
			table.insert( blockSprites, image )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( cells,&lt;br /&gt;
			&#039;!&#039; .. (horizontal and &#039;&#039; or &#039; style=&amp;quot;text-align:left&amp;quot; | &#039;) .. table.concat( blockSprites, &#039;&amp;lt;br&amp;gt;&#039; ) .. ( blockArgs.note or &#039;&#039; )&lt;br /&gt;
		)&lt;br /&gt;
		&lt;br /&gt;
		local tool = mw.text.trim( simple and &#039;Narzędzie&#039; or blockArgs[2] or &#039;Dowolny&#039; ):gsub( &#039;^%l&#039;, string.upper )&lt;br /&gt;
		local material = mw.text.trim( simple and blockArgs[2] or blockArgs[3] or &#039;Dowolny&#039; ):gsub( &#039;^%l&#039;, string.upper )&lt;br /&gt;
		if tool == &#039;Brak&#039; then&lt;br /&gt;
			material = tool&lt;br /&gt;
		end&lt;br /&gt;
		if not simple then&lt;br /&gt;
			local hardnessText = polish:formatNum(hardnessVal)&lt;br /&gt;
			if hardnessVal == -1 then&lt;br /&gt;
				hardnessText = ( sortable and &#039;data-sort-value=&amp;quot;9999&amp;quot; | &#039; or &#039;&#039; ) .. &amp;quot;&amp;amp;#45;1 (infinite)&amp;quot;&lt;br /&gt;
			end&lt;br /&gt;
			table.insert( cells, &#039;|&#039; .. hardnessText )&lt;br /&gt;
			&lt;br /&gt;
			if showTool then&lt;br /&gt;
				local toolCell = &#039;—&#039;&lt;br /&gt;
				if tool ~= &#039;Dowolny&#039; and tool ~= &#039;Brak&#039; then&lt;br /&gt;
					if material == &#039;Wood&#039; then&lt;br /&gt;
						material = &#039;Wooden&#039;&lt;br /&gt;
					end&lt;br /&gt;
					local isMaterialSpecified = (material ~= &#039;Dowolny&#039;) and (material ~= &#039;Brak&#039;)&lt;br /&gt;
					local toolName = polish:lc(( isMaterialSpecified and material .. &#039;-&#039; or &#039;&#039; ) .. tool)&lt;br /&gt;
					local toolSpriteName = ( (isMaterialSpecified) and &#039;&#039; or &#039;&#039; ) .. toolName&lt;br /&gt;
					local image = f:expandTemplate({title=&#039;ItemSprite&#039;, args = {[&#039;1&#039;]=toolSpriteName,title=toolName,link=tool,keepcase = not isMaterialSpecified}})&lt;br /&gt;
					&lt;br /&gt;
					toolCell = ( sortable and &#039;data-sort-value=&amp;quot;&#039; .. toolName .. &#039;&amp;quot; |&#039; or &#039;&#039; ) .. image&lt;br /&gt;
					table.insert( categories, spriteCat )&lt;br /&gt;
				end&lt;br /&gt;
				table.insert( cells, &#039;|&#039; .. toolCell )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local choices = {}&lt;br /&gt;
		local function getChoice( choice, text )&lt;br /&gt;
			if not choices[choice] then&lt;br /&gt;
				choices[choice] = f:expandTemplate{ title = &#039;Tc&#039;, args = { choice, &#039;&#039; } }&lt;br /&gt;
			end&lt;br /&gt;
			return choices[choice] .. text&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local function processTime( actualHardness, baseSpeed, tool )&lt;br /&gt;
			-- the number passed in has been multiplied by 100&lt;br /&gt;
			local num = actualHardness / baseSpeed&lt;br /&gt;
			if num &amp;lt;= 5 then	   -- Blocks with a breaking time &amp;lt;= 1 game tick (0.05 seconds) are instant mined (no delay after each block broken)&lt;br /&gt;
				num = &amp;quot;&#039;&#039;0.05&#039;&#039;&amp;quot;    -- Blocks have a minimum breaking time of 1 game tick&lt;br /&gt;
			else					-- And they must be broken in multiples of 1 game tick&lt;br /&gt;
				num = math.ceil( num / 5 ) / 20&lt;br /&gt;
			end&lt;br /&gt;
			return num&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if hardnessVal == &#039;?&#039; then&lt;br /&gt;
			fillCells( cells, &#039;|?&#039;, numberMaterials + 1 )&lt;br /&gt;
		else&lt;br /&gt;
			if unbreakable then&lt;br /&gt;
				table.insert( cells, &#039;| &#039; .. ( sortable and &#039;data-sort-value=&amp;quot;9999&amp;quot; &#039; or &#039;&#039; ) .. getChoice( &#039;nie&#039;, &#039;∞&#039; ) )&lt;br /&gt;
				if showTool then&lt;br /&gt;
					fillCells( cells, &#039;|—&#039;, numberMaterials )&lt;br /&gt;
				end&lt;br /&gt;
			else&lt;br /&gt;
				local drop = &#039;tak&#039;&lt;br /&gt;
				local forceDrop = false&lt;br /&gt;
				if blockArgs[&#039;łupy&#039;] == &#039;0&#039; then&lt;br /&gt;
					drop = &#039;częściowo&#039;&lt;br /&gt;
				elseif blockArgs[&#039;łupy&#039;] == &#039;1&#039; then&lt;br /&gt;
					forceDrop = &#039;tak&#039;&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				local requiredLevel = unbreakable and 999 or materialGrade[material]&lt;br /&gt;
				local function insertMaterialCell( material )&lt;br /&gt;
					local shouldDrop = drop&lt;br /&gt;
					if materialGrade[material] &amp;lt; requiredLevel then&lt;br /&gt;
						shouldDrop = &#039;nie&#039;&lt;br /&gt;
					end&lt;br /&gt;
					-- prevent float number precision loss, multiply by 100 and divide it in processTime function&lt;br /&gt;
					local breakTime = processTime( hardnessVal * (shouldDrop == &#039;nie&#039; and 500 or 150), materialSpeed[material], material )&lt;br /&gt;
					breakTime = polish:formatNum(breakTime)&lt;br /&gt;
					table.insert( cells, &#039;|&#039; .. getChoice( forceDrop or shouldDrop, breakTime ) )&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				if not showTool or tool == &#039;Any&#039; or tool == &#039;None&#039; then&lt;br /&gt;
					insertMaterialCell( &#039;Any&#039; )&lt;br /&gt;
					if showTool then&lt;br /&gt;
						fillCells( cells, &#039;|—&#039;, numberMaterials )&lt;br /&gt;
					end&lt;br /&gt;
				else&lt;br /&gt;
					for _, material in ipairs{ &#039;Any&#039;, &#039;Wooden&#039;, &#039;Stone&#039;, &#039;Copper&#039;, &#039;Iron&#039;, &#039;Diamond&#039;, &#039;Netherite&#039;, &#039;Golden&#039; } do&lt;br /&gt;
						insertMaterialCell( material )&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not simple and ( showShears or showSword ) then&lt;br /&gt;
			local tools = {}&lt;br /&gt;
			if showShears then&lt;br /&gt;
				table.insert( tools, &#039;Nożyce&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if showSword then&lt;br /&gt;
				table.insert( tools, &#039;Miecz&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if hardnessVal == &#039;?&#039; then&lt;br /&gt;
				fillCells( cells, &#039;|?&#039;, #tools )&lt;br /&gt;
			else&lt;br /&gt;
				local toolSpeed = {&lt;br /&gt;
					[&#039;Nożyce&#039;] = 1,&lt;br /&gt;
					[&#039;Miecz&#039;] = 1.5&lt;br /&gt;
				}&lt;br /&gt;
				if blocks[1] == &#039;Wełna&#039; then&lt;br /&gt;
					toolSpeed[&#039;Nożyce&#039;] = 5&lt;br /&gt;
				elseif blocks[1] == &#039;Liście&#039; then&lt;br /&gt;
					toolSpeed[&#039;Nożyce&#039;] = 15&lt;br /&gt;
				elseif blocks[1] == &#039;Pajęczyna&#039; then&lt;br /&gt;
					toolSpeed[&#039;Miecz&#039;] = 15&lt;br /&gt;
					toolSpeed[&#039;Nożyce&#039;] = 15&lt;br /&gt;
				elseif blocks[1] == &#039;Bambus&#039; or blocks[1] == &#039;Pęd bambusu&#039; then&lt;br /&gt;
					toolSpeed[&#039;Miecz&#039;] = 5000&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				for _, tool in ipairs( tools ) do&lt;br /&gt;
					local toolDrop = blockArgs[mw.ustring.lower( tool )]&lt;br /&gt;
					if not toolDrop then&lt;br /&gt;
						table.insert( cells, &#039;|—&#039; )&lt;br /&gt;
					else&lt;br /&gt;
						local willDrop = &#039;tak&#039;&lt;br /&gt;
						if toolDrop == &#039;0&#039; then&lt;br /&gt;
							willDrop = &#039;częściowo&#039;&lt;br /&gt;
						end&lt;br /&gt;
						-- prevent float number precision loss, multiply by 100 and divide it in processTime function&lt;br /&gt;
						local breakTime = processTime( hardnessVal * 150, toolSpeed[tool], tool )&lt;br /&gt;
						table.insert( cells, &#039;|&#039; .. getChoice( willDrop, breakTime ) )&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			cells = table.concat( cells, &#039;\n&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( tableParts, cells )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if horizontal then&lt;br /&gt;
		local blocksArgs = {}&lt;br /&gt;
		for _, arg in ipairs{ 1, &#039;note&#039;, &#039;sprite&#039;, &#039;link&#039;, &#039;item&#039;, &#039;łupy&#039;, 2, 3, &#039;nożyce&#039;, &#039;miecz&#039; } do&lt;br /&gt;
			if args[arg] then&lt;br /&gt;
				local col = 0&lt;br /&gt;
				for colVal in mw.text.gsplit( args[arg], &#039;%s*;%s*&#039; ) do&lt;br /&gt;
					col = col + 1&lt;br /&gt;
					if colVal ~= &#039;&#039; then&lt;br /&gt;
						if not blocksArgs[col] then&lt;br /&gt;
							blocksArgs[col] = {}&lt;br /&gt;
						end&lt;br /&gt;
						&lt;br /&gt;
						blocksArgs[col][arg] = colVal&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		for _, block in ipairs( blocksArgs ) do&lt;br /&gt;
			insertBlock( block, true )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local columns = #tableParts&lt;br /&gt;
		for row = 1, #tableParts[1] do&lt;br /&gt;
			local cells = {}&lt;br /&gt;
			for col = 1, columns do&lt;br /&gt;
				table.insert( cells, tableParts[col][row] )&lt;br /&gt;
			end&lt;br /&gt;
			table.insert( rows, table.concat( cells, &#039;\n&#039; ) )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- Insert breaking time header after block row when simple, or after tool or hardness row when not&lt;br /&gt;
		table.insert( rows, simple and 3 or showTool and 5 or 4, &#039;! colspan=&amp;quot;&#039; .. columns + 1 .. &#039;&amp;quot; |&#039; .. getBreakingTimeHeader( f ) )&lt;br /&gt;
	else&lt;br /&gt;
		insertBlock( args, false )&lt;br /&gt;
		for _, row in ipairs( tableParts ) do&lt;br /&gt;
			table.insert( rows, row )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039;&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local note = &#039;&#039;&lt;br /&gt;
	if args.foot or horizontal then&lt;br /&gt;
		note = f:preprocess( &#039;&amp;lt;references group=&amp;quot;FN&amp;quot;/&amp;gt;&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if args.foot == &#039;2&#039; then&lt;br /&gt;
			table.insert( rows, header or getDplVar( &#039;header&#039; ) )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039;|}&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			f:callParserFunction( &#039;#dplvar:set&#039;,&lt;br /&gt;
				&#039;breaking header&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hidetool&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hideshears&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hidesword&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking simple&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking sortable&#039;, &#039;&#039;&lt;br /&gt;
			)&lt;br /&gt;
		end&lt;br /&gt;
	elseif #dplVars &amp;gt; 0 then&lt;br /&gt;
		f:callParserFunction( &#039;#dplvar:set&#039;, dplVars )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local result = table.concat( rows, &#039;\n|-\n&#039; )&lt;br /&gt;
	return result .. note .. table.concat( categories )&lt;br /&gt;
end&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Modu%C5%82:Breaking_row&amp;diff=130333</id>
		<title>Moduł:Breaking row</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Modu%C5%82:Breaking_row&amp;diff=130333"/>
		<updated>2026-01-23T22:47:54Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {}&lt;br /&gt;
local polish = mw.language.new(&#039;pl&#039;)&lt;br /&gt;
&lt;br /&gt;
local breakingTimeHeader;&lt;br /&gt;
local function getBreakingTimeHeader( f )&lt;br /&gt;
	if breakingTimeHeader == nil then&lt;br /&gt;
		breakingTimeHeader = &#039;Czas wydobycia (sekundy)&#039; .. f:preprocess( &#039;&amp;lt;ref group=&amp;quot;FN&amp;quot; name=&amp;quot;breakingtimenote&amp;quot;&amp;gt;Czasy nie biorą pod uwagę [[Zaklinanie|zaklęć]], [[efekt]]ów i innych czynników, jak np. zanurzenie w wodzie.&amp;lt;/ref&amp;gt;&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	return breakingTimeHeader&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function p.row( f )&lt;br /&gt;
	local args = require( [[Moduł:ProcessArgs]] ).norm()&lt;br /&gt;
	&lt;br /&gt;
	local function getDplVar( var )&lt;br /&gt;
		local val = f:callParserFunction( &#039;#dplvar&#039;, &#039;breaking &#039; .. var )&lt;br /&gt;
		if val == &#039;&#039; then&lt;br /&gt;
			val = false&lt;br /&gt;
		end&lt;br /&gt;
		return val&lt;br /&gt;
	end&lt;br /&gt;
	local dplVars = {}&lt;br /&gt;
	local function setDplVar( var, val )&lt;br /&gt;
		table.insert( dplVars, &#039;breaking &#039; .. var )&lt;br /&gt;
		table.insert( dplVars, val or &#039;1&#039; )&lt;br /&gt;
	end&lt;br /&gt;
		&lt;br /&gt;
	local rows = {}&lt;br /&gt;
	local tableParts = {}&lt;br /&gt;
	local categories = {}&lt;br /&gt;
	local showOptions = false&lt;br /&gt;
	&lt;br /&gt;
	local horizontal&lt;br /&gt;
	if args[&#039;horyzontalny&#039;] or args[1]:match( &#039;;&#039; ) then&lt;br /&gt;
		horizontal = true&lt;br /&gt;
	end&lt;br /&gt;
	local showTool = true&lt;br /&gt;
	local showShears = true&lt;br /&gt;
	local showSword = true&lt;br /&gt;
	local header, sortable, simple&lt;br /&gt;
	if horizontal or not getDplVar( &#039;header&#039; ) then&lt;br /&gt;
		if args.hidetool or horizontal and ( not args[2] or args[2]:lower() == &#039;dowolny&#039; or args[2]:lower() == &#039;brak&#039; ) then&lt;br /&gt;
			showTool = false&lt;br /&gt;
			setDplVar( &#039;hidetool&#039; )&lt;br /&gt;
    		breakingTimeHeader = &#039;Czas wydobycia (sekundy)&#039;&lt;br /&gt;
		end&lt;br /&gt;
		if args.hideshears or horizontal and not args[&#039;nożyce&#039;] then&lt;br /&gt;
			showShears = false&lt;br /&gt;
			setDplVar( &#039;hideshears&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		if args.hidesword or horizontal and not args[&#039;miecz&#039;] then&lt;br /&gt;
			showSword = false&lt;br /&gt;
			setDplVar( &#039;hidesword&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		sortable = not horizontal and args.sort&lt;br /&gt;
		if sortable then&lt;br /&gt;
			setDplVar( &#039;sortable&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		simple = args.simple&lt;br /&gt;
		if simple and not horizontal then&lt;br /&gt;
			setDplVar( &#039;simple&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local tableClasses = { &#039;wikitable&#039; }&lt;br /&gt;
		if sortable then&lt;br /&gt;
			table.insert( tableClasses, &#039;sortable&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039; {| class=&amp;quot;&#039; .. table.concat( tableClasses, &#039; &#039; ) .. &#039;&amp;quot; style=&amp;quot;text-align: center; margin: 0;&amp;quot;&#039; )&lt;br /&gt;
		&lt;br /&gt;
		local sortType = &#039;&#039;&lt;br /&gt;
		if sortable then&lt;br /&gt;
			sortType = &#039;data-sort-type=&amp;quot;number&amp;quot;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		local rowspan = &#039;&#039;&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			rowspan = &#039;rowspan=&amp;quot;2&amp;quot; &#039;&lt;br /&gt;
		end&lt;br /&gt;
		header = {&lt;br /&gt;
			&#039;! &#039; .. rowspan .. &#039; | Blok&#039;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		if not simple then&lt;br /&gt;
			table.insert( header, &#039;! &#039; .. rowspan .. sortType .. &#039; | Twardość&#039; )&lt;br /&gt;
			if showTool then&lt;br /&gt;
				table.insert( header, &#039;! &#039; .. rowspan .. &#039; | Narzędzie&#039; )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local toolColumns = {}&lt;br /&gt;
		if showTool then&lt;br /&gt;
			toolColumns = { &#039;Drewniany&#039;, &#039;Kamienny&#039;, &#039;Miedziany&#039;, &#039;Żelazny&#039;, &#039;Diamentowy&#039;, &#039;Netherytowy&#039;, &#039;Złoty&#039;}&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( toolColumns, 1, &#039;Domyślne&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if not simple then&lt;br /&gt;
			if showShears then&lt;br /&gt;
				table.insert( toolColumns, &#039;Nożyce&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if showSword then&lt;br /&gt;
				table.insert( toolColumns, &#039;Miecz&#039; )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			table.insert( header, &#039;! colspan=&amp;quot;&#039; .. #toolColumns .. &#039;&amp;quot; |&#039; .. getBreakingTimeHeader( f ) )&lt;br /&gt;
			table.insert( header, &#039;|-&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local toolSprites = {&lt;br /&gt;
			[&#039;Drewniany&#039;] = { &#039;Block&#039;, &#039;dębowe-deski&#039; },&lt;br /&gt;
			[&#039;Kamienny&#039;] = { &#039;Block&#039;, &#039;bruk&#039; },&lt;br /&gt;
			[&#039;Miedziany&#039;] = { &#039;Item&#039;, &#039;sztabka-miedzi&#039; },&lt;br /&gt;
			[&#039;Żelazny&#039;] = { &#039;Item&#039;, &#039;sztabka-żelaza&#039; },&lt;br /&gt;
			[&#039;Diamentowy&#039;] = { &#039;Item&#039;, &#039;diament&#039; },&lt;br /&gt;
			[&#039;Netherytowy&#039;] = { &#039;Item&#039;, &#039;sztabka-netherytu&#039; },&lt;br /&gt;
			[&#039;Złoty&#039;] = { &#039;Item&#039;, &#039;sztabka-złota&#039; },&lt;br /&gt;
			[&#039;Nożyce&#039;] = { &#039;Item&#039;, &#039;nożyce&#039; },&lt;br /&gt;
			[&#039;Miecz&#039;] = { &#039;Item&#039;, &#039;drewniany-miecz&#039; }&lt;br /&gt;
		}&lt;br /&gt;
		for _, tool in ipairs( toolColumns ) do&lt;br /&gt;
			if toolSprites[tool] then&lt;br /&gt;
				local image = f:expandTemplate({title = toolSprites[tool][1]..&#039;Sprite&#039;, args = {[&#039;1&#039;]=toolSprites[tool][2]}}).. &#039; &#039; .. tool&lt;br /&gt;
				table.insert( header, &#039;! style=&amp;quot;text-align:left&amp;quot; &#039; .. sortType .. &#039; | &#039; .. image )&lt;br /&gt;
				table.insert( categories, spriteCat )&lt;br /&gt;
			else&lt;br /&gt;
				table.insert( header, &#039;! &#039; .. sortType .. &#039; | &#039; .. tool )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			header = table.concat( header, &#039;\n&#039; )&lt;br /&gt;
			setDplVar( &#039;header&#039;, header )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( tableParts, header )&lt;br /&gt;
	else&lt;br /&gt;
		showTool = not getDplVar( &#039;hidetool&#039; )&lt;br /&gt;
		showShears = not getDplVar( &#039;hideshears&#039; )&lt;br /&gt;
		showSword = not getDplVar( &#039;hidesword&#039; )&lt;br /&gt;
		sortable = getDplVar( &#039;sortable&#039; )&lt;br /&gt;
		simple = getDplVar( &#039;simple&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local hardness = require( [[Moduł:Block value]] ).value&lt;br /&gt;
	&lt;br /&gt;
	local function fillCells( cellsTable, text, num )&lt;br /&gt;
		for i = 1, num do&lt;br /&gt;
			table.insert( cellsTable, text )&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local materialGrade = {&lt;br /&gt;
		Any = 0,&lt;br /&gt;
		Wooden = 1, Wood = 1,&lt;br /&gt;
		Golden = 1,&lt;br /&gt;
		Stone = 2,&lt;br /&gt;
		Copper = 2,&lt;br /&gt;
		Iron = 3,&lt;br /&gt;
		Diamond = 4,&lt;br /&gt;
        Netherite = 5,&lt;br /&gt;
		None = 6,&lt;br /&gt;
		[&#039;Dowolny&#039;] = 0,&lt;br /&gt;
		[&#039;Drewniany&#039;] = 1, [&#039;Drewniana&#039;] = 1,&lt;br /&gt;
		[&#039;Złoty&#039;] = 1, [&#039;Złota&#039;] = 1,&lt;br /&gt;
		[&#039;Kamienny&#039;] = 2, [&#039;Kamienna&#039;] = 2,&lt;br /&gt;
		[&#039;Miedziany&#039;] = 2, [&#039;Miedziana&#039;] = 2,&lt;br /&gt;
		[&#039;Żelazny&#039;] = 3, [&#039;Żelazna&#039;] = 3,&lt;br /&gt;
		[&#039;Diamentowy&#039;] = 4, [&#039;Diamentowa&#039;] = 4,&lt;br /&gt;
        [&#039;Netherytowy&#039;] = 5, [&#039;Netherytowa&#039;] = 5,&lt;br /&gt;
		[&#039;Brak&#039;] = 6&lt;br /&gt;
	}&lt;br /&gt;
	local materialSpeed = {&lt;br /&gt;
		None = 1,&lt;br /&gt;
		Any = 1,&lt;br /&gt;
		Wooden = 2, Wood = 2,&lt;br /&gt;
		Stone = 4,&lt;br /&gt;
		Copper = 5,&lt;br /&gt;
		Iron = 6,&lt;br /&gt;
		Diamond = 8,&lt;br /&gt;
        Netherite = 9,&lt;br /&gt;
		Golden = 12,&lt;br /&gt;
		[&#039;Dowolny&#039;] = 1,&lt;br /&gt;
		[&#039;Drewniany&#039;] = 2, [&#039;Drewnianf&#039;] = 2,&lt;br /&gt;
		[&#039;Złoty&#039;] = 12, [&#039;Złota&#039;] = 12,&lt;br /&gt;
		[&#039;Kamienny&#039;] = 4, [&#039;Kamienna&#039;] = 4,&lt;br /&gt;
		[&#039;Miedziany&#039;] = 5, [&#039;Miedziana&#039;] = 5,&lt;br /&gt;
		[&#039;Żelazny&#039;] = 6, [&#039;Żelazna&#039;] = 6,&lt;br /&gt;
		[&#039;Diamentowy&#039;] = 8, [&#039;Diamentowa&#039;] = 8,&lt;br /&gt;
        [&#039;Netherytowy&#039;] = 9, [&#039;Netherytowa&#039;] = 9,&lt;br /&gt;
		[&#039;Brak&#039;] = 1&lt;br /&gt;
	}&lt;br /&gt;
	local numberMaterials = 6&lt;br /&gt;
	&lt;br /&gt;
	local function insertBlock( blockArgs, horizontal )&lt;br /&gt;
		local cells = {}&lt;br /&gt;
		local blocks = mw.text.split( blockArgs[1], &#039;%s*,%s*&#039; )&lt;br /&gt;
		local hardnessNum = hardness{ blocks[1], type = &#039;Twardość&#039; }:gsub(&#039;,&#039;, &#039;.&#039;)&lt;br /&gt;
		local hardnessVal = tonumber( hardnessNum )&lt;br /&gt;
		if not hardnessVal then&lt;br /&gt;
			hardnessVal = &#039;?&#039;&lt;br /&gt;
			local title = mw.title.getCurrentTitle()&lt;br /&gt;
			if title.namespace == 0 and not title.isSubpage then&lt;br /&gt;
				table.insert(categories, &#039;[[Kategoria:Brakująca twardość]]&#039;)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		local unbreakable&lt;br /&gt;
		if hardnessVal == -1 or blockArgs.liquid then&lt;br /&gt;
			unbreakable = true&lt;br /&gt;
		elseif hardnessVal ~= 0 then&lt;br /&gt;
			showOptions = true&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local blockSprites = {}&lt;br /&gt;
		local links = mw.text.split( blockArgs.link or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		local ids = mw.text.split( blockArgs.sprite or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		local items = mw.text.split( blockArgs.item or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		for i, block in ipairs( blocks ) do&lt;br /&gt;
			local link&lt;br /&gt;
			if not links[i] and links[1] ~= &#039;&#039; then&lt;br /&gt;
				link = links[1]&lt;br /&gt;
			elseif links[i] ~= &#039;&#039; then&lt;br /&gt;
				link = links[i]&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			local id&lt;br /&gt;
			if not ids[i] and ids[1] ~= &#039;&#039; then&lt;br /&gt;
				id = ids[1]&lt;br /&gt;
			elseif ids[i] ~= &#039;&#039; then&lt;br /&gt;
				id = ids[i]&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			local blockText&lt;br /&gt;
			if args.textTrim then&lt;br /&gt;
				blockText = block:gsub( args.textTrim .. &#039;$&#039;, &#039;&#039; )&lt;br /&gt;
			else&lt;br /&gt;
				blockText = block&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			if (link == nil or link == &#039;&#039;) and horizontal then&lt;br /&gt;
				link = &#039;brak&#039;&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			local image = f:expandTemplate({title=&#039;BlockLink&#039;, args = {[&#039;1&#039;]=block,text=blockText,[&#039;2&#039;]=link,id=id}})&lt;br /&gt;
			table.insert( blockSprites, image )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( cells,&lt;br /&gt;
			&#039;!&#039; .. (horizontal and &#039;&#039; or &#039; style=&amp;quot;text-align:left&amp;quot; | &#039;) .. table.concat( blockSprites, &#039;&amp;lt;br&amp;gt;&#039; ) .. ( blockArgs.note or &#039;&#039; )&lt;br /&gt;
		)&lt;br /&gt;
		&lt;br /&gt;
		local tool = mw.text.trim( simple and &#039;Narzędzie&#039; or blockArgs[2] or &#039;Dowolny&#039; ):gsub( &#039;^%l&#039;, string.upper )&lt;br /&gt;
		local material = mw.text.trim( simple and blockArgs[2] or blockArgs[3] or &#039;Dowolny&#039; ):gsub( &#039;^%l&#039;, string.upper )&lt;br /&gt;
		if tool == &#039;Brak&#039; then&lt;br /&gt;
			material = tool&lt;br /&gt;
		end&lt;br /&gt;
		if not simple then&lt;br /&gt;
			local hardnessText = polish:formatNum(hardnessVal)&lt;br /&gt;
			if hardnessVal == -1 then&lt;br /&gt;
				hardnessText = ( sortable and &#039;data-sort-value=&amp;quot;9999&amp;quot; | &#039; or &#039;&#039; ) .. &amp;quot;&amp;amp;#45;1 (infinite)&amp;quot;&lt;br /&gt;
			end&lt;br /&gt;
			table.insert( cells, &#039;|&#039; .. hardnessText )&lt;br /&gt;
			&lt;br /&gt;
			if showTool then&lt;br /&gt;
				local toolCell = &#039;—&#039;&lt;br /&gt;
				if tool ~= &#039;Dowolny&#039; and tool ~= &#039;Brak&#039; then&lt;br /&gt;
					if material == &#039;Wood&#039; then&lt;br /&gt;
						material = &#039;Wooden&#039;&lt;br /&gt;
					end&lt;br /&gt;
					local isMaterialSpecified = (material ~= &#039;Dowolny&#039;) and (material ~= &#039;Brak&#039;)&lt;br /&gt;
					local toolName = polish:lc(( isMaterialSpecified and material .. &#039;-&#039; or &#039;&#039; ) .. tool)&lt;br /&gt;
					local toolSpriteName = ( (isMaterialSpecified) and &#039;&#039; or &#039;&#039; ) .. toolName&lt;br /&gt;
					local image = f:expandTemplate({title=&#039;ItemSprite&#039;, args = {[&#039;1&#039;]=toolSpriteName,title=toolName,link=tool,keepcase = not isMaterialSpecified}})&lt;br /&gt;
					&lt;br /&gt;
					toolCell = ( sortable and &#039;data-sort-value=&amp;quot;&#039; .. toolName .. &#039;&amp;quot; |&#039; or &#039;&#039; ) .. image&lt;br /&gt;
					table.insert( categories, spriteCat )&lt;br /&gt;
				end&lt;br /&gt;
				table.insert( cells, &#039;|&#039; .. toolCell )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local choices = {}&lt;br /&gt;
		local function getChoice( choice, text )&lt;br /&gt;
			if not choices[choice] then&lt;br /&gt;
				choices[choice] = f:expandTemplate{ title = &#039;Tc&#039;, args = { choice, &#039;&#039; } }&lt;br /&gt;
			end&lt;br /&gt;
			return choices[choice] .. text&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local function processTime( actualHardness, baseSpeed, tool )&lt;br /&gt;
			-- the number passed in has been multiplied by 100&lt;br /&gt;
			local num = actualHardness / baseSpeed&lt;br /&gt;
			if num &amp;lt;= 5 then	   -- Blocks with a breaking time &amp;lt;= 1 game tick (0.05 seconds) are instant mined (no delay after each block broken)&lt;br /&gt;
				num = &amp;quot;&#039;&#039;0.05&#039;&#039;&amp;quot;    -- Blocks have a minimum breaking time of 1 game tick&lt;br /&gt;
			else					-- And they must be broken in multiples of 1 game tick&lt;br /&gt;
				num = math.ceil( num / 5 ) / 20&lt;br /&gt;
			end&lt;br /&gt;
			return num&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if hardnessVal == &#039;?&#039; then&lt;br /&gt;
			fillCells( cells, &#039;|?&#039;, numberMaterials + 1 )&lt;br /&gt;
		else&lt;br /&gt;
			if unbreakable then&lt;br /&gt;
				table.insert( cells, &#039;| &#039; .. ( sortable and &#039;data-sort-value=&amp;quot;9999&amp;quot; &#039; or &#039;&#039; ) .. getChoice( &#039;nie&#039;, &#039;∞&#039; ) )&lt;br /&gt;
				if showTool then&lt;br /&gt;
					fillCells( cells, &#039;|—&#039;, numberMaterials )&lt;br /&gt;
				end&lt;br /&gt;
			else&lt;br /&gt;
				local drop = &#039;tak&#039;&lt;br /&gt;
				local forceDrop = false&lt;br /&gt;
				if blockArgs[&#039;łupy&#039;] == &#039;0&#039; then&lt;br /&gt;
					drop = &#039;częściowo&#039;&lt;br /&gt;
				elseif blockArgs[&#039;łupy&#039;] == &#039;1&#039; then&lt;br /&gt;
					forceDrop = &#039;tak&#039;&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				local requiredLevel = unbreakable and 999 or materialGrade[material]&lt;br /&gt;
				local function insertMaterialCell( material )&lt;br /&gt;
					local shouldDrop = drop&lt;br /&gt;
					if materialGrade[material] &amp;lt; requiredLevel then&lt;br /&gt;
						shouldDrop = &#039;nie&#039;&lt;br /&gt;
					end&lt;br /&gt;
					-- prevent float number precision loss, multiply by 100 and divide it in processTime function&lt;br /&gt;
					local breakTime = processTime( hardnessVal * (shouldDrop == &#039;nie&#039; and 500 or 150), materialSpeed[material], material )&lt;br /&gt;
					breakTime = polish:formatNum(breakTime)&lt;br /&gt;
					table.insert( cells, &#039;|&#039; .. getChoice( forceDrop or shouldDrop, breakTime ) )&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				if not showTool or tool == &#039;Any&#039; or tool == &#039;None&#039; then&lt;br /&gt;
					insertMaterialCell( &#039;Any&#039; )&lt;br /&gt;
					if showTool then&lt;br /&gt;
						fillCells( cells, &#039;|—&#039;, numberMaterials )&lt;br /&gt;
					end&lt;br /&gt;
				else&lt;br /&gt;
					for _, material in ipairs{ &#039;Any&#039;, &#039;Wooden&#039;, &#039;Stone&#039;, &#039;Copper&#039;, &#039;Iron&#039;, &#039;Diamond&#039;, &#039;Netherite&#039;, &#039;Golden&#039; } do&lt;br /&gt;
						insertMaterialCell( material )&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not simple and ( showShears or showSword ) then&lt;br /&gt;
			local tools = {}&lt;br /&gt;
			if showShears then&lt;br /&gt;
				table.insert( tools, &#039;Nożyce&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if showSword then&lt;br /&gt;
				table.insert( tools, &#039;Miecz&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if hardnessVal == &#039;?&#039; then&lt;br /&gt;
				fillCells( cells, &#039;|?&#039;, #tools )&lt;br /&gt;
			else&lt;br /&gt;
				local toolSpeed = {&lt;br /&gt;
					[&#039;Nożyce&#039;] = 1,&lt;br /&gt;
					[&#039;Miecz&#039;] = 1.5&lt;br /&gt;
				}&lt;br /&gt;
				if blocks[1] == &#039;Wełna&#039; then&lt;br /&gt;
					toolSpeed[&#039;Nożyce&#039;] = 5&lt;br /&gt;
				elseif blocks[1] == &#039;Liście&#039; then&lt;br /&gt;
					toolSpeed[&#039;Nożyce&#039;] = 15&lt;br /&gt;
				elseif blocks[1] == &#039;Pajęczyna&#039; then&lt;br /&gt;
					toolSpeed[&#039;Miecz&#039;] = 15&lt;br /&gt;
					toolSpeed[&#039;Nożyce&#039;] = 15&lt;br /&gt;
				elseif blocks[1] == &#039;Bambus&#039; or blocks[1] == &#039;Pęd bambusu&#039; then&lt;br /&gt;
					toolSpeed[&#039;Miecz&#039;] = 5000&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				for _, tool in ipairs( tools ) do&lt;br /&gt;
					local toolDrop = blockArgs[mw.ustring.lower( tool )]&lt;br /&gt;
					if not toolDrop then&lt;br /&gt;
						table.insert( cells, &#039;|—&#039; )&lt;br /&gt;
					else&lt;br /&gt;
						local willDrop = &#039;tak&#039;&lt;br /&gt;
						if toolDrop == &#039;0&#039; then&lt;br /&gt;
							willDrop = &#039;częściowo&#039;&lt;br /&gt;
						end&lt;br /&gt;
						-- prevent float number precision loss, multiply by 100 and divide it in processTime function&lt;br /&gt;
						local breakTime = processTime( hardnessVal * 150, toolSpeed[tool], tool )&lt;br /&gt;
						table.insert( cells, &#039;|&#039; .. getChoice( willDrop, breakTime ) )&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			cells = table.concat( cells, &#039;\n&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( tableParts, cells )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if horizontal then&lt;br /&gt;
		local blocksArgs = {}&lt;br /&gt;
		for _, arg in ipairs{ 1, &#039;note&#039;, &#039;sprite&#039;, &#039;link&#039;, &#039;item&#039;, &#039;łupy&#039;, 2, 3, &#039;nożyce&#039;, &#039;miecz&#039; } do&lt;br /&gt;
			if args[arg] then&lt;br /&gt;
				local col = 0&lt;br /&gt;
				for colVal in mw.text.gsplit( args[arg], &#039;%s*;%s*&#039; ) do&lt;br /&gt;
					col = col + 1&lt;br /&gt;
					if colVal ~= &#039;&#039; then&lt;br /&gt;
						if not blocksArgs[col] then&lt;br /&gt;
							blocksArgs[col] = {}&lt;br /&gt;
						end&lt;br /&gt;
						&lt;br /&gt;
						blocksArgs[col][arg] = colVal&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		for _, block in ipairs( blocksArgs ) do&lt;br /&gt;
			insertBlock( block, true )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local columns = #tableParts&lt;br /&gt;
		for row = 1, #tableParts[1] do&lt;br /&gt;
			local cells = {}&lt;br /&gt;
			for col = 1, columns do&lt;br /&gt;
				table.insert( cells, tableParts[col][row] )&lt;br /&gt;
			end&lt;br /&gt;
			table.insert( rows, table.concat( cells, &#039;\n&#039; ) )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- Insert breaking time header after block row when simple, or after tool or hardness row when not&lt;br /&gt;
		table.insert( rows, simple and 3 or showTool and 5 or 4, &#039;! colspan=&amp;quot;&#039; .. columns + 1 .. &#039;&amp;quot; |&#039; .. getBreakingTimeHeader( f ) )&lt;br /&gt;
	else&lt;br /&gt;
		insertBlock( args, false )&lt;br /&gt;
		for _, row in ipairs( tableParts ) do&lt;br /&gt;
			table.insert( rows, row )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039;&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local note = &#039;&#039;&lt;br /&gt;
	if args.foot or horizontal then&lt;br /&gt;
		note = f:preprocess( &#039;&amp;lt;references group=&amp;quot;FN&amp;quot;/&amp;gt;&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if args.foot == &#039;2&#039; then&lt;br /&gt;
			table.insert( rows, header or getDplVar( &#039;header&#039; ) )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039;|}&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			f:callParserFunction( &#039;#dplvar:set&#039;,&lt;br /&gt;
				&#039;breaking header&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hidetool&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hideshears&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hidesword&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking simple&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking sortable&#039;, &#039;&#039;&lt;br /&gt;
			)&lt;br /&gt;
		end&lt;br /&gt;
	elseif #dplVars &amp;gt; 0 then&lt;br /&gt;
		f:callParserFunction( &#039;#dplvar:set&#039;, dplVars )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local result = table.concat( rows, &#039;\n|-\n&#039; )&lt;br /&gt;
	return result .. note .. table.concat( categories )&lt;br /&gt;
end&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Modu%C5%82:Breaking_row&amp;diff=130332</id>
		<title>Moduł:Breaking row</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Modu%C5%82:Breaking_row&amp;diff=130332"/>
		<updated>2026-01-23T22:39:45Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {}&lt;br /&gt;
local polish = mw.language.new(&#039;pl&#039;)&lt;br /&gt;
&lt;br /&gt;
local breakingTimeHeader;&lt;br /&gt;
local function getBreakingTimeHeader( f )&lt;br /&gt;
	if breakingTimeHeader == nil then&lt;br /&gt;
		breakingTimeHeader = &#039;Czas wydobycia (sekundy)&#039; .. f:preprocess( &#039;&amp;lt;ref group=&amp;quot;FN&amp;quot; name=&amp;quot;breakingtimenote&amp;quot;&amp;gt;Czasy nie biorą pod uwagę [[Zaklinanie|zaklęć]], [[efekt]]ów i innych czynników, jak np. zanurzenie w wodzie.&amp;lt;/ref&amp;gt;&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	return breakingTimeHeader&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function p.row( f )&lt;br /&gt;
	local args = require( [[Moduł:ProcessArgs]] ).norm()&lt;br /&gt;
	&lt;br /&gt;
	local function getDplVar( var )&lt;br /&gt;
		local val = f:callParserFunction( &#039;#dplvar&#039;, &#039;breaking &#039; .. var )&lt;br /&gt;
		if val == &#039;&#039; then&lt;br /&gt;
			val = false&lt;br /&gt;
		end&lt;br /&gt;
		return val&lt;br /&gt;
	end&lt;br /&gt;
	local dplVars = {}&lt;br /&gt;
	local function setDplVar( var, val )&lt;br /&gt;
		table.insert( dplVars, &#039;breaking &#039; .. var )&lt;br /&gt;
		table.insert( dplVars, val or &#039;1&#039; )&lt;br /&gt;
	end&lt;br /&gt;
		&lt;br /&gt;
	local rows = {}&lt;br /&gt;
	local tableParts = {}&lt;br /&gt;
	local categories = {}&lt;br /&gt;
	local showOptions = false&lt;br /&gt;
	&lt;br /&gt;
	local horizontal&lt;br /&gt;
	if args[&#039;horyzontalny&#039;] or args[1]:match( &#039;;&#039; ) then&lt;br /&gt;
		horizontal = true&lt;br /&gt;
	end&lt;br /&gt;
	local showTool = true&lt;br /&gt;
	local showShears = true&lt;br /&gt;
	local showSword = true&lt;br /&gt;
	local header, sortable, simple&lt;br /&gt;
	if horizontal or not getDplVar( &#039;header&#039; ) then&lt;br /&gt;
		if args.hidetool or horizontal and ( not args[2] or args[2]:lower() == &#039;dowolny&#039; or args[2]:lower() == &#039;brak&#039; ) then&lt;br /&gt;
			showTool = false&lt;br /&gt;
			setDplVar( &#039;hidetool&#039; )&lt;br /&gt;
    		breakingTimeHeader = &#039;Czas wydobycia (sekundy)&#039;&lt;br /&gt;
		end&lt;br /&gt;
		if args.hideshears or horizontal and not args[&#039;nożyce&#039;] then&lt;br /&gt;
			showShears = false&lt;br /&gt;
			setDplVar( &#039;hideshears&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		if args.hidesword or horizontal and not args[&#039;miecz&#039;] then&lt;br /&gt;
			showSword = false&lt;br /&gt;
			setDplVar( &#039;hidesword&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		sortable = not horizontal and args.sort&lt;br /&gt;
		if sortable then&lt;br /&gt;
			setDplVar( &#039;sortable&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		simple = args.simple&lt;br /&gt;
		if simple and not horizontal then&lt;br /&gt;
			setDplVar( &#039;simple&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local tableClasses = { &#039;wikitable&#039; }&lt;br /&gt;
		if sortable then&lt;br /&gt;
			table.insert( tableClasses, &#039;sortable&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039; {| class=&amp;quot;&#039; .. table.concat( tableClasses, &#039; &#039; ) .. &#039;&amp;quot; style=&amp;quot;text-align: center; margin: 0;&amp;quot;&#039; )&lt;br /&gt;
		&lt;br /&gt;
		local sortType = &#039;&#039;&lt;br /&gt;
		if sortable then&lt;br /&gt;
			sortType = &#039;data-sort-type=&amp;quot;number&amp;quot;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		local rowspan = &#039;&#039;&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			rowspan = &#039;rowspan=&amp;quot;2&amp;quot; &#039;&lt;br /&gt;
		end&lt;br /&gt;
		header = {&lt;br /&gt;
			&#039;! &#039; .. rowspan .. &#039; | Blok&#039;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		if not simple then&lt;br /&gt;
			table.insert( header, &#039;! &#039; .. rowspan .. sortType .. &#039; | Twardość&#039; )&lt;br /&gt;
			if showTool then&lt;br /&gt;
				table.insert( header, &#039;! &#039; .. rowspan .. &#039; | Narzędzie&#039; )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local toolColumns = {}&lt;br /&gt;
		if showTool then&lt;br /&gt;
			toolColumns = { &#039;Drewniany&#039;, &#039;Kamienny&#039;, &#039;Miedziany&#039;, &#039;Żelazny&#039;, &#039;Diamentowy&#039;, &#039;Netherytowy&#039;, &#039;Złoty&#039;}&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( toolColumns, 1, &#039;Domyślne&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if not simple then&lt;br /&gt;
			if showShears then&lt;br /&gt;
				table.insert( toolColumns, &#039;Nożyce&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if showSword then&lt;br /&gt;
				table.insert( toolColumns, &#039;Miecz&#039; )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			table.insert( header, &#039;! colspan=&amp;quot;&#039; .. #toolColumns .. &#039;&amp;quot; |&#039; .. getBreakingTimeHeader( f ) )&lt;br /&gt;
			table.insert( header, &#039;|-&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local toolSprites = {&lt;br /&gt;
			[&#039;Drewniany&#039;] = { &#039;Block&#039;, &#039;dębowe-deski&#039; },&lt;br /&gt;
			[&#039;Kamienny&#039;] = { &#039;Block&#039;, &#039;bruk&#039; },&lt;br /&gt;
			[&#039;Miedziany&#039;] = { &#039;Item&#039;, &#039;sztabka-miedzi&#039; },&lt;br /&gt;
			[&#039;Żelazny&#039;] = { &#039;Item&#039;, &#039;sztabka-żelaza&#039; },&lt;br /&gt;
			[&#039;Diamentowy&#039;] = { &#039;Item&#039;, &#039;diament&#039; },&lt;br /&gt;
			[&#039;Netherytowy&#039;] = { &#039;Item&#039;, &#039;sztabka-netherytu&#039; },&lt;br /&gt;
			[&#039;Złoty&#039;] = { &#039;Item&#039;, &#039;sztabka-złota&#039; },&lt;br /&gt;
			[&#039;Nożyce&#039;] = { &#039;Item&#039;, &#039;nożyce&#039; },&lt;br /&gt;
			[&#039;Miecz&#039;] = { &#039;Item&#039;, &#039;drewniany-miecz&#039; }&lt;br /&gt;
		}&lt;br /&gt;
		for _, tool in ipairs( toolColumns ) do&lt;br /&gt;
			if toolSprites[tool] then&lt;br /&gt;
				local image = f:expandTemplate({title = toolSprites[tool][1]..&#039;Sprite&#039;, args = {[&#039;1&#039;]=toolSprites[tool][2]}}).. &#039; &#039; .. tool&lt;br /&gt;
				table.insert( header, &#039;! style=&amp;quot;text-align:left&amp;quot; &#039; .. sortType .. &#039; | &#039; .. image )&lt;br /&gt;
				table.insert( categories, spriteCat )&lt;br /&gt;
			else&lt;br /&gt;
				table.insert( header, &#039;! &#039; .. sortType .. &#039; | &#039; .. tool )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			header = table.concat( header, &#039;\n&#039; )&lt;br /&gt;
			setDplVar( &#039;header&#039;, header )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( tableParts, header )&lt;br /&gt;
	else&lt;br /&gt;
		showTool = not getDplVar( &#039;hidetool&#039; )&lt;br /&gt;
		showShears = not getDplVar( &#039;hideshears&#039; )&lt;br /&gt;
		showSword = not getDplVar( &#039;hidesword&#039; )&lt;br /&gt;
		sortable = getDplVar( &#039;sortable&#039; )&lt;br /&gt;
		simple = getDplVar( &#039;simple&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local hardness = require( [[Moduł:Block value]] ).value&lt;br /&gt;
	&lt;br /&gt;
	local function fillCells( cellsTable, text, num )&lt;br /&gt;
		for i = 1, num do&lt;br /&gt;
			table.insert( cellsTable, text )&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local materialGrade = {&lt;br /&gt;
		Any = 0,&lt;br /&gt;
		Wooden = 1, Wood = 1,&lt;br /&gt;
		Golden = 1,&lt;br /&gt;
		Stone = 2,&lt;br /&gt;
		Copper = 2,&lt;br /&gt;
		Iron = 3,&lt;br /&gt;
		Diamond = 4,&lt;br /&gt;
        Netherite = 5,&lt;br /&gt;
		None = 6,&lt;br /&gt;
		[&#039;Dowolny&#039;] = 0,&lt;br /&gt;
		[&#039;Drewniany&#039;] = 1, [&#039;Drewniana&#039;] = 1,&lt;br /&gt;
		[&#039;Złoty&#039;] = 1, [&#039;Złota&#039;] = 1,&lt;br /&gt;
		[&#039;Kamienny&#039;] = 2, [&#039;Kamienna&#039;] = 2,&lt;br /&gt;
		[&#039;Miedziany&#039;] = 2, [&#039;Miedziana&#039;] = 2,&lt;br /&gt;
		[&#039;Żelazny&#039;] = 3, [&#039;Żelazna&#039;] = 3,&lt;br /&gt;
		[&#039;Diamentowy&#039;] = 4, [&#039;Diamentowa&#039;] = 4,&lt;br /&gt;
        [&#039;Netherytowy&#039;] = 5, [&#039;Netherytowa&#039;] = 5,&lt;br /&gt;
		[&#039;Brak&#039;] = 6&lt;br /&gt;
	}&lt;br /&gt;
	local materialSpeed = {&lt;br /&gt;
		None = 1,&lt;br /&gt;
		Any = 1,&lt;br /&gt;
		Wooden = 2, Wood = 2,&lt;br /&gt;
		Stone = 4,&lt;br /&gt;
		Copper = 5,&lt;br /&gt;
		Iron = 6,&lt;br /&gt;
		Diamond = 8,&lt;br /&gt;
        Netherite = 9,&lt;br /&gt;
		Golden = 12,&lt;br /&gt;
		[&#039;Dowolny&#039;] = 1,&lt;br /&gt;
		[&#039;Drewniany&#039;] = 2, [&#039;Drewnianf&#039;] = 2,&lt;br /&gt;
		[&#039;Złoty&#039;] = 12, [&#039;Złota&#039;] = 12,&lt;br /&gt;
		[&#039;Kamienny&#039;] = 4, [&#039;Kamienna&#039;] = 4,&lt;br /&gt;
		[&#039;Miedziany&#039;] = 5, [&#039;Miedziana&#039;] = 5,&lt;br /&gt;
		[&#039;Żelazny&#039;] = 6, [&#039;Żelazna&#039;] = 6,&lt;br /&gt;
		[&#039;Diamentowy&#039;] = 8, [&#039;Diamentowa&#039;] = 8,&lt;br /&gt;
        [&#039;Netherytowy&#039;] = 9, [&#039;Netherytowa&#039;] = 9,&lt;br /&gt;
		[&#039;Brak&#039;] = 1&lt;br /&gt;
	}&lt;br /&gt;
	local numberMaterials = 6&lt;br /&gt;
	&lt;br /&gt;
	local function insertBlock( blockArgs, horizontal )&lt;br /&gt;
		local cells = {}&lt;br /&gt;
		local blocks = mw.text.split( blockArgs[1], &#039;%s*,%s*&#039; )&lt;br /&gt;
		local hardnessVal = hardness{ blocks[1], type = &#039;Twardość&#039; }:gsub(&#039;,&#039;, &#039;.&#039;)&lt;br /&gt;
		hardnessVal = tonumber( hardnessVal )&lt;br /&gt;
		if not hardnessVal then&lt;br /&gt;
			hardnessVal = &#039;?&#039;&lt;br /&gt;
			local title = mw.title.getCurrentTitle()&lt;br /&gt;
			if title.namespace == 0 and not title.isSubpage then&lt;br /&gt;
				table.insert(categories, &#039;[[Kategoria:Brakująca twardość]]&#039;)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		local unbreakable&lt;br /&gt;
		if hardnessVal == -1 or blockArgs.liquid then&lt;br /&gt;
			unbreakable = true&lt;br /&gt;
		elseif hardnessVal ~= 0 then&lt;br /&gt;
			showOptions = true&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local blockSprites = {}&lt;br /&gt;
		local links = mw.text.split( blockArgs.link or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		local ids = mw.text.split( blockArgs.sprite or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		local items = mw.text.split( blockArgs.item or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		for i, block in ipairs( blocks ) do&lt;br /&gt;
			local link&lt;br /&gt;
			if not links[i] and links[1] ~= &#039;&#039; then&lt;br /&gt;
				link = links[1]&lt;br /&gt;
			elseif links[i] ~= &#039;&#039; then&lt;br /&gt;
				link = links[i]&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			local id&lt;br /&gt;
			if not ids[i] and ids[1] ~= &#039;&#039; then&lt;br /&gt;
				id = ids[1]&lt;br /&gt;
			elseif ids[i] ~= &#039;&#039; then&lt;br /&gt;
				id = ids[i]&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			local blockText&lt;br /&gt;
			if args.textTrim then&lt;br /&gt;
				blockText = block:gsub( args.textTrim .. &#039;$&#039;, &#039;&#039; )&lt;br /&gt;
			else&lt;br /&gt;
				blockText = block&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			if (link == nil or link == &#039;&#039;) and horizontal then&lt;br /&gt;
				link = &#039;brak&#039;&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			local image = f:expandTemplate({title=&#039;BlockLink&#039;, args = {[&#039;1&#039;]=block,text=blockText,[&#039;2&#039;]=link,id=id}})&lt;br /&gt;
			table.insert( blockSprites, image )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( cells,&lt;br /&gt;
			&#039;!&#039; .. (horizontal and &#039;&#039; or &#039; style=&amp;quot;text-align:left&amp;quot; | &#039;) .. table.concat( blockSprites, &#039;&amp;lt;br&amp;gt;&#039; ) .. ( blockArgs.note or &#039;&#039; )&lt;br /&gt;
		)&lt;br /&gt;
		&lt;br /&gt;
		local tool = mw.text.trim( simple and &#039;Narzędzie&#039; or blockArgs[2] or &#039;Dowolny&#039; ):gsub( &#039;^%l&#039;, string.upper )&lt;br /&gt;
		local material = mw.text.trim( simple and blockArgs[2] or blockArgs[3] or &#039;Dowolny&#039; ):gsub( &#039;^%l&#039;, string.upper )&lt;br /&gt;
		if tool == &#039;Brak&#039; then&lt;br /&gt;
			material = tool&lt;br /&gt;
		end&lt;br /&gt;
		if not simple then&lt;br /&gt;
			local hardnessText = hardnessVal&lt;br /&gt;
			if hardnessVal == -1 then&lt;br /&gt;
				hardnessText = ( sortable and &#039;data-sort-value=&amp;quot;9999&amp;quot; | &#039; or &#039;&#039; ) .. &amp;quot;&amp;amp;#45;1 (infinite)&amp;quot;&lt;br /&gt;
			end&lt;br /&gt;
			table.insert( cells, &#039;|&#039; .. hardnessText )&lt;br /&gt;
			&lt;br /&gt;
			if showTool then&lt;br /&gt;
				local toolCell = &#039;—&#039;&lt;br /&gt;
				if tool ~= &#039;Dowolny&#039; and tool ~= &#039;Brak&#039; then&lt;br /&gt;
					if material == &#039;Wood&#039; then&lt;br /&gt;
						material = &#039;Wooden&#039;&lt;br /&gt;
					end&lt;br /&gt;
					local isMaterialSpecified = (material ~= &#039;Dowolny&#039;) and (material ~= &#039;Brak&#039;)&lt;br /&gt;
					local toolName = polish:lc(( isMaterialSpecified and material .. &#039;-&#039; or &#039;&#039; ) .. tool)&lt;br /&gt;
					local toolSpriteName = ( (isMaterialSpecified) and &#039;&#039; or &#039;&#039; ) .. toolName&lt;br /&gt;
					local image = f:expandTemplate({title=&#039;ItemSprite&#039;, args = {[&#039;1&#039;]=toolSpriteName,title=toolName,link=tool,keepcase = not isMaterialSpecified}})&lt;br /&gt;
					&lt;br /&gt;
					toolCell = ( sortable and &#039;data-sort-value=&amp;quot;&#039; .. toolName .. &#039;&amp;quot; |&#039; or &#039;&#039; ) .. image&lt;br /&gt;
					table.insert( categories, spriteCat )&lt;br /&gt;
				end&lt;br /&gt;
				table.insert( cells, &#039;|&#039; .. toolCell )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local choices = {}&lt;br /&gt;
		local function getChoice( choice, text )&lt;br /&gt;
			if not choices[choice] then&lt;br /&gt;
				choices[choice] = f:expandTemplate{ title = &#039;Tc&#039;, args = { choice, &#039;&#039; } }&lt;br /&gt;
			end&lt;br /&gt;
			return choices[choice] .. text&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local function processTime( actualHardness, baseSpeed, tool )&lt;br /&gt;
			-- the number passed in has been multiplied by 100&lt;br /&gt;
			local num = actualHardness / baseSpeed&lt;br /&gt;
			if num &amp;lt;= 5 then	   -- Blocks with a breaking time &amp;lt;= 1 game tick (0.05 seconds) are instant mined (no delay after each block broken)&lt;br /&gt;
				num = &amp;quot;&#039;&#039;0.05&#039;&#039;&amp;quot;    -- Blocks have a minimum breaking time of 1 game tick&lt;br /&gt;
			else					-- And they must be broken in multiples of 1 game tick&lt;br /&gt;
				num = math.ceil( num / 5 ) / 20&lt;br /&gt;
			end&lt;br /&gt;
			return num&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if hardnessVal == &#039;?&#039; then&lt;br /&gt;
			fillCells( cells, &#039;|?&#039;, numberMaterials + 1 )&lt;br /&gt;
		else&lt;br /&gt;
			if unbreakable then&lt;br /&gt;
				table.insert( cells, &#039;| &#039; .. ( sortable and &#039;data-sort-value=&amp;quot;9999&amp;quot; &#039; or &#039;&#039; ) .. getChoice( &#039;nie&#039;, &#039;∞&#039; ) )&lt;br /&gt;
				if showTool then&lt;br /&gt;
					fillCells( cells, &#039;|—&#039;, numberMaterials )&lt;br /&gt;
				end&lt;br /&gt;
			else&lt;br /&gt;
				local drop = &#039;tak&#039;&lt;br /&gt;
				local forceDrop = false&lt;br /&gt;
				if blockArgs[&#039;łupy&#039;] == &#039;0&#039; then&lt;br /&gt;
					drop = &#039;częściowo&#039;&lt;br /&gt;
				elseif blockArgs[&#039;łupy&#039;] == &#039;1&#039; then&lt;br /&gt;
					forceDrop = &#039;tak&#039;&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				local requiredLevel = unbreakable and 999 or materialGrade[material]&lt;br /&gt;
				local function insertMaterialCell( material )&lt;br /&gt;
					local shouldDrop = drop&lt;br /&gt;
					if materialGrade[material] &amp;lt; requiredLevel then&lt;br /&gt;
						shouldDrop = &#039;nie&#039;&lt;br /&gt;
					end&lt;br /&gt;
					-- prevent float number precision loss, multiply by 100 and divide it in processTime function&lt;br /&gt;
					local breakTime = processTime( hardnessVal * (shouldDrop == &#039;nie&#039; and 500 or 150), materialSpeed[material], material )&lt;br /&gt;
					table.insert( cells, &#039;|&#039; .. getChoice( forceDrop or shouldDrop, breakTime ) )&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				if not showTool or tool == &#039;Any&#039; or tool == &#039;None&#039; then&lt;br /&gt;
					insertMaterialCell( &#039;Any&#039; )&lt;br /&gt;
					if showTool then&lt;br /&gt;
						fillCells( cells, &#039;|—&#039;, numberMaterials )&lt;br /&gt;
					end&lt;br /&gt;
				else&lt;br /&gt;
					for _, material in ipairs{ &#039;Any&#039;, &#039;Wooden&#039;, &#039;Stone&#039;, &#039;Copper&#039;, &#039;Iron&#039;, &#039;Diamond&#039;, &#039;Netherite&#039;, &#039;Golden&#039; } do&lt;br /&gt;
						insertMaterialCell( material )&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not simple and ( showShears or showSword ) then&lt;br /&gt;
			local tools = {}&lt;br /&gt;
			if showShears then&lt;br /&gt;
				table.insert( tools, &#039;Nożyce&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if showSword then&lt;br /&gt;
				table.insert( tools, &#039;Miecz&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if hardnessVal == &#039;?&#039; then&lt;br /&gt;
				fillCells( cells, &#039;|?&#039;, #tools )&lt;br /&gt;
			else&lt;br /&gt;
				local toolSpeed = {&lt;br /&gt;
					[&#039;Nożyce&#039;] = 1,&lt;br /&gt;
					[&#039;Miecz&#039;] = 1.5&lt;br /&gt;
				}&lt;br /&gt;
				if blocks[1] == &#039;Wełna&#039; then&lt;br /&gt;
					toolSpeed[&#039;Nożyce&#039;] = 5&lt;br /&gt;
				elseif blocks[1] == &#039;Liście&#039; then&lt;br /&gt;
					toolSpeed[&#039;Nożyce&#039;] = 15&lt;br /&gt;
				elseif blocks[1] == &#039;Pajęczyna&#039; then&lt;br /&gt;
					toolSpeed[&#039;Miecz&#039;] = 15&lt;br /&gt;
					toolSpeed[&#039;Nożyce&#039;] = 15&lt;br /&gt;
				elseif blocks[1] == &#039;Bambus&#039; or blocks[1] == &#039;Pęd bambusu&#039; then&lt;br /&gt;
					toolSpeed[&#039;Miecz&#039;] = 5000&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				for _, tool in ipairs( tools ) do&lt;br /&gt;
					local toolDrop = blockArgs[mw.ustring.lower( tool )]&lt;br /&gt;
					if not toolDrop then&lt;br /&gt;
						table.insert( cells, &#039;|—&#039; )&lt;br /&gt;
					else&lt;br /&gt;
						local willDrop = &#039;tak&#039;&lt;br /&gt;
						if toolDrop == &#039;0&#039; then&lt;br /&gt;
							willDrop = &#039;częściowo&#039;&lt;br /&gt;
						end&lt;br /&gt;
						-- prevent float number precision loss, multiply by 100 and divide it in processTime function&lt;br /&gt;
						local breakTime = processTime( hardnessVal * 150, toolSpeed[tool], tool )&lt;br /&gt;
						table.insert( cells, &#039;|&#039; .. getChoice( willDrop, breakTime ) )&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			cells = table.concat( cells, &#039;\n&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( tableParts, cells )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if horizontal then&lt;br /&gt;
		local blocksArgs = {}&lt;br /&gt;
		for _, arg in ipairs{ 1, &#039;note&#039;, &#039;sprite&#039;, &#039;link&#039;, &#039;item&#039;, &#039;łupy&#039;, 2, 3, &#039;nożyce&#039;, &#039;miecz&#039; } do&lt;br /&gt;
			if args[arg] then&lt;br /&gt;
				local col = 0&lt;br /&gt;
				for colVal in mw.text.gsplit( args[arg], &#039;%s*;%s*&#039; ) do&lt;br /&gt;
					col = col + 1&lt;br /&gt;
					if colVal ~= &#039;&#039; then&lt;br /&gt;
						if not blocksArgs[col] then&lt;br /&gt;
							blocksArgs[col] = {}&lt;br /&gt;
						end&lt;br /&gt;
						&lt;br /&gt;
						blocksArgs[col][arg] = colVal&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		for _, block in ipairs( blocksArgs ) do&lt;br /&gt;
			insertBlock( block, true )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local columns = #tableParts&lt;br /&gt;
		for row = 1, #tableParts[1] do&lt;br /&gt;
			local cells = {}&lt;br /&gt;
			for col = 1, columns do&lt;br /&gt;
				table.insert( cells, tableParts[col][row] )&lt;br /&gt;
			end&lt;br /&gt;
			table.insert( rows, table.concat( cells, &#039;\n&#039; ) )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- Insert breaking time header after block row when simple, or after tool or hardness row when not&lt;br /&gt;
		table.insert( rows, simple and 3 or showTool and 5 or 4, &#039;! colspan=&amp;quot;&#039; .. columns + 1 .. &#039;&amp;quot; |&#039; .. getBreakingTimeHeader( f ) )&lt;br /&gt;
	else&lt;br /&gt;
		insertBlock( args, false )&lt;br /&gt;
		for _, row in ipairs( tableParts ) do&lt;br /&gt;
			table.insert( rows, row )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039;&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local note = &#039;&#039;&lt;br /&gt;
	if args.foot or horizontal then&lt;br /&gt;
		note = f:preprocess( &#039;&amp;lt;references group=&amp;quot;FN&amp;quot;/&amp;gt;&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if args.foot == &#039;2&#039; then&lt;br /&gt;
			table.insert( rows, header or getDplVar( &#039;header&#039; ) )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039;|}&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			f:callParserFunction( &#039;#dplvar:set&#039;,&lt;br /&gt;
				&#039;breaking header&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hidetool&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hideshears&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hidesword&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking simple&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking sortable&#039;, &#039;&#039;&lt;br /&gt;
			)&lt;br /&gt;
		end&lt;br /&gt;
	elseif #dplVars &amp;gt; 0 then&lt;br /&gt;
		f:callParserFunction( &#039;#dplvar:set&#039;, dplVars )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local result = table.concat( rows, &#039;\n|-\n&#039; )&lt;br /&gt;
	return result .. note .. table.concat( categories )&lt;br /&gt;
end&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Modu%C5%82:Twardo%C5%9B%C4%87_values&amp;diff=130331</id>
		<title>Moduł:Twardość values</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Modu%C5%82:Twardo%C5%9B%C4%87_values&amp;diff=130331"/>
		<updated>2026-01-23T22:28:39Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;return {&lt;br /&gt;
	--Od najwyższej twardości do najniższej.&lt;br /&gt;
	[&#039;lawa&#039;] = &#039;100&#039;,&lt;br /&gt;
	[&#039;woda&#039;] = &#039;100&#039;,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;zbrojony łupek&#039;] = &#039;55&#039;,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;blok netherytu&#039;] = &#039;50&#039;,&lt;br /&gt;
	[&#039;rozjarzony obsydian&#039;] = &#039;50&#039;,&lt;br /&gt;
	[&#039;płaczący obsydian&#039;] = &#039;50&#039;,&lt;br /&gt;
	[&#039;obsydian&#039;] = &#039;50&#039;,&lt;br /&gt;
	[&#039;złowieszczy przyzywacz prób&#039;] = &#039;50&#039;,&lt;br /&gt;
	[&#039;złowieszczy skarbiec&#039;] = &#039;50&#039;,&lt;br /&gt;
	[&#039;kotwica odrodzenia&#039;] = &#039;50&#039;,&lt;br /&gt;
	[&#039;przyzywacz prób&#039;] = &#039;50&#039;,&lt;br /&gt;
	[&#039;skarbiec&#039;] = &#039;50&#039;,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;pradawne zgliszcza&#039;] = &#039;30&#039;,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;skrzynia endu&#039;] = &#039;22,5&#039;,&lt;br /&gt;
&lt;br /&gt;
	[&#039;trzeszczące serce&#039;] = &#039;10&#039;,&lt;br /&gt;
	[&#039;ciężki rdzeń&#039;] = &#039;10&#039;,&lt;br /&gt;
&lt;br /&gt;
	[&#039;kowadło&#039;] = &#039;5&#039;,&lt;br /&gt;
	[&#039;dzwon&#039;] = &#039;5&#039;,&lt;br /&gt;
	[&#039;blok węgla&#039;] = &#039;5&#039;,&lt;br /&gt;
	[&#039;blok diamentu&#039;] = &#039;5&#039;,&lt;br /&gt;
	[&#039;blok szmaragdu&#039;] = &#039;5&#039;,&lt;br /&gt;
	[&#039;blok żelaza&#039;] = &#039;5&#039;,&lt;br /&gt;
	[&#039;blok rudy żelaza&#039;] = &#039;5&#039;,&lt;br /&gt;
	[&#039;blok surowego złota&#039;] = &#039;5&#039;,&lt;br /&gt;
	[&#039;blok rudy miedzi&#039;] = &#039;5&#039;,&lt;br /&gt;
	[&#039;blok redstone&#039;] = &#039;5&#039;,&lt;br /&gt;
	[&#039;łańcuch&#039;] = &#039;5&#039;,&lt;br /&gt;
	[&#039;żelazny łańcuch&#039;] = &#039;5&#039;,&lt;br /&gt;
	[&#039;miedziany łańcuch&#039;] = &#039;5&#039;,&lt;br /&gt;
	[&#039;stół do zaklinania&#039;] = &#039;5&#039;,&lt;br /&gt;
	[&#039;kraty&#039;] = &#039;5&#039;,&lt;br /&gt;
	[&#039;żelazne kraty&#039;] = &#039;5&#039;,&lt;br /&gt;
	[&#039;miedziane kraty&#039;] = &#039;5&#039;,&lt;br /&gt;
	[&#039;żelazne drzwi&#039;] = &#039;5&#039;,&lt;br /&gt;
	[&#039;żelazna klapa&#039;] = &#039;5&#039;,&lt;br /&gt;
	[&#039;przyzywacz potworów&#039;] = &#039;5&#039;,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;łupkowe złoże węgla&#039;] = &#039;4,5&#039;,&lt;br /&gt;
	[&#039;łupkowe złoże miedzi&#039;] = &#039;4,5&#039;,&lt;br /&gt;
	[&#039;łupkowe złoże diamentu&#039;] = &#039;4,5&#039;,&lt;br /&gt;
	[&#039;łupkowe złoże szmaragdu&#039;] = &#039;4,5&#039;,&lt;br /&gt;
	[&#039;łupkowe złoże złota&#039;] = &#039;4,5&#039;,&lt;br /&gt;
	[&#039;łupkowe złoże żelaza&#039;] = &#039;4,5&#039;,&lt;br /&gt;
	[&#039;łupkowe złoże lazurytu&#039;] = &#039;4,5&#039;,&lt;br /&gt;
	[&#039;łupkowe złoże redstone&#039;] = &#039;4,5&#039;,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;pajęczyna&#039;] = &#039;4&#039;,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;piec hutniczy&#039;] = &#039;3,5&#039;,&lt;br /&gt;
	[&#039;rzeźbiony łupek&#039;] = &#039;3,5&#039;,&lt;br /&gt;
	[&#039;łupkowy bruk&#039;] = &#039;3,5&#039;,&lt;br /&gt;
	[&#039;łupkowa brukowa płyta&#039;] = &#039;3,5&#039;,&lt;br /&gt;
	[&#039;łupkowe brukowe schody&#039;] = &#039;3,5&#039;,&lt;br /&gt;
	[&#039;łupkowy brukowy murek&#039;] = &#039;3,5&#039;,&lt;br /&gt;
	[&#039;popękane łupkowe cegły&#039;] = &#039;3,5&#039;,&lt;br /&gt;
  	[&#039;popękane łupkowe kafelki&#039;] = &#039;3,5&#039;,&lt;br /&gt;
  	[&#039;łupkowa ceglana płyta&#039;] = &#039;3,5&#039;,&lt;br /&gt;
  	[&#039;łupkowe ceglane schody&#039;] = &#039;3,5&#039;,&lt;br /&gt;
  	[&#039;łupkowy ceglany murek&#039;] = &#039;3,5&#039;,&lt;br /&gt;
   	[&#039;łupkowe cegły&#039;] = &#039;3,5&#039;,&lt;br /&gt;
   	[&#039;łupkowe kafelki&#039;] = &#039;3,5&#039;,&lt;br /&gt;
  	[&#039;łupkowa kafelkowa płyta&#039;] = &#039;3,5&#039;,&lt;br /&gt;
  	[&#039;łupkowe kafelkowe schody&#039;] = &#039;3,5&#039;,&lt;br /&gt;
  	[&#039;łupkowy kafelkowy murek&#039;] = &#039;3,5&#039;,&lt;br /&gt;
  	[&#039;dozownik&#039;] = &#039;3,5&#039;,&lt;br /&gt;
	[&#039;podajnik&#039;] = &#039;3,5&#039;,&lt;br /&gt;
  	[&#039;piec&#039;] = &#039;3,5&#039;,&lt;br /&gt;
	[&#039;latarnia&#039;] = &#039;3,5&#039;,&lt;br /&gt;
	[&#039;latarnia dusz&#039;] = &#039;3,5&#039;,&lt;br /&gt;
	[&#039;miedziana latarnia&#039;] = &#039;3,5&#039;,&lt;br /&gt;
	[&#039;magnetyt&#039;] = &#039;3,5&#039;,&lt;br /&gt;
	[&#039;wypolerowany łupek&#039;] = &#039;3,5&#039;,&lt;br /&gt;
	[&#039;wypolerowana łupkowa płyta&#039;] = &#039;3,5&#039;,&lt;br /&gt;
	[&#039;wypolerowane łupkowe schody&#039;] = &#039;3,5&#039;,&lt;br /&gt;
	[&#039;wypolerowany łupkowy murek&#039;] = &#039;3,5&#039;,&lt;br /&gt;
	[&#039;wędzarka&#039;] = &#039;3,5&#039;,&lt;br /&gt;
	[&#039;przecinarka&#039;] = &#039;3,5&#039;,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;magiczna latarnia&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;blok złota&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;blok lazurytu&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;blok miedzi&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;złoże węgla&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;rdzeń reaktora netheru&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;przewodnia&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;blok miedzi&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;miedziana skrzynia&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;miedziana krata&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;miedziane drzwi&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;miedziana klapa&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;miedziana lampa&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;złoże miedzi&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;rzeźbiona miedź&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;żłobiona miedź&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;żłobiona miedziana płyta&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;żłobione miedziane schody&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;łupek&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;złoże diamentu&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;smocze jajo&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;złoże szmaragdu&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;kamień endu&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;endowa kamienna ceglana płyta&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;endowe kamienne ceglane schody&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;endowy kamienny ceglany murek&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;endowe kamienne cegły&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;złoto&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;złoże złota&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;lej&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;złoże żelaza&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;złoże lazurytu&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;piorunochron&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;netherowe złoże złota&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;złoże netherowego kwarcu&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;drewniane drzwi&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;drewniana klapa&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;detektor&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;złoże redstone&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;sculkowy katalizator&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;sculkowe wrzeszczydło&#039;] = &#039;3&#039;,&lt;br /&gt;
	[&#039;posąg miedzianego golema&#039;] = &#039;3&#039;,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;niebieski lód lodowcowy&#039;] = &#039;2,8&#039;,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;beczka&#039;] = &#039;2,5&#039;,&lt;br /&gt;
	[&#039;stół kartograficzny&#039;] = &#039;2,5&#039;,&lt;br /&gt;
	[&#039;skrzynia&#039;] = &#039;2,5&#039;,&lt;br /&gt;
	[&#039;stół rzemieślniczy&#039;] = &#039;2,5&#039;,&lt;br /&gt;
	[&#039;stół łuczarski&#039;] = &#039;2,5&#039;,&lt;br /&gt;
	[&#039;krosno&#039;] = &#039;2,5&#039;,&lt;br /&gt;
	[&#039;stół kowalski&#039;] = &#039;2,5&#039;,&lt;br /&gt;
	[&#039;pulpit&#039;] = &#039;2,5&#039;,&lt;br /&gt;
	[&#039;skrzynia-pułapka&#039;] = &#039;2,5&#039;,&lt;br /&gt;
	[&#039;analizator materiałów&#039;] = &#039;2,5&#039;,&lt;br /&gt;
	[&#039;blok ciepła&#039;] = &#039;2,5&#039;,&lt;br /&gt;
	[&#039;stół laboratoryjny&#039;] = &#039;2,5&#039;,&lt;br /&gt;
	[&#039;syntezator pierwiastków&#039;] = &#039;2,5&#039;,&lt;br /&gt;
	[&#039;syntezator związków&#039;] = &#039;2,5&#039;,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;bambusowa mozaika&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;bambusowe mozaikowe schody&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;bambusowa mozaikowa płyta&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;czernitowa płyta&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;blok bambusu&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;blok ociosanego bambusu&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;blok kości&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;ceglana płyta&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;ceglane schody&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;ceglany murek&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;cegły&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;ognisko&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;kocioł&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;rzeźbione netherowe cegły&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;bruk&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;brukowa płyta&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;brukowe schody&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;brukowy murek&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;popękane netherowe cegły&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;przycięta czerwona piaskowcowa płyta&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;przycięta piaskowcowa płyta&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;kamień szlifierski&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;szafa grająca&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;zamszony bruk&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;zamszona brukowa płyta&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;zamszone brukowe schody&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;zamszony brukowy murek&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;netherowy ceglany płot&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;netherowa ceglana płyta&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;netherowe ceglane schody&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;netherowy ceglany murek&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;netherowe cegły&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;skamieniała dębowa płyta&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;pień&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;ociosany pień&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;drewno&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;ociosane drewno&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;deski&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;płot&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;drewniany płot&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;furtka&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;półka&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;wypolerowany czernit&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;wypolerowana czernitowa ceglana płyta&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;wypolerowana czernitowa płyta&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;wypolerowane czernitowe schody&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;wypolerowany czernitowy murek&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;purpurowa płyta&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;kwarcowa płyta&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;czerwona netherowa ceglana płyta&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;czerwone netherowe ceglane schody&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;czerwony netherowy ceglany murek&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;czerwone netherowe cegły&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;czerwona piaskowcowa płyta&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;piaskowcowa płyta&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;shulkerowa skrzynia&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;gładki blok kwarcu&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;gładka kwarcowa płyta&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;gładkie kwarcowe schody&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;gładki czerwony piaskowiec&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;gładka czerwona piaskowcowa płyta&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;gładkie czerwone piaskowcowe schody&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;gładki piaskowiec&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;gładka piaskowcowa płyta&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;gładkie piaskowcowe schody&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;gładki kamień&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;gładka kamienna płyta&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;ognisko dusz&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;kamienna płyta&#039;] = &#039;2&#039;,&lt;br /&gt;
	[&#039;kamienna ceglana płyta&#039;] = &#039;2&#039;,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;beton&#039;] = &#039;1,8&#039;,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;zarodek ametystu&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;skupisko ametystu&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;andezyt&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;andezytowa płyta&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;andezytowe schody&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;andezytowy murek&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;czernit&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;czernitowe schody&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;czernitowy murek&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;blok ametystu&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;bloki koralowca&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;biblioteczka&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;kiełkujący ametyst&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;skalibrowany sculkowy czujnik&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;rzeźbiona biblioteczka&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;rzeźbiony wypolerowany czernit&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;rzeźbione żywicowe cegły&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;rzeźbione kamienne cegły&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;rzeźbiony tuf&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;rzeźbione tufowe cegły&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;popękane wypolerowane czernitowe cegły&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;popękane kamienne cegły&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;wytwarzacz&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;ciemny pryzmaryn&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;ciemna pryzmarynowa płyta&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;ciemne pryzmarynowe schody&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;dioryt&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;diorytowa płyta&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;diorytowe schody&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;diorytowy murek&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;blok nacieku&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;złocony czernit&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;granit&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;granitowa płyta&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;granitowe schody&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;granitowy murek&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;zarobaczony łupek&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;duży zarodek ametystu&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;średni zarodek ametystu&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;zamszona kamienna ceglana płyta&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;zamszone kamienne ceglane schody&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;zamszony kamienny ceglany murek&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;zamszone kamienne cegły&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;błotna ceglana płyta&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;błotne ceglane schody&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;błotny ceglany murek&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;błotne cegły&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;tłok&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;głowica tłoka&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;spiczasty naciek&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;wypolerowany andezyt&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;wypolerowana andezytowa płyta&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;wypolerowane andezytowe schody&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;wypolerowane czernitowe ceglane schody&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;wypolerowany czernitowy ceglany murek&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;wypolerowane czernitowe cegły&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;wypolerowany dioryt&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;wypolerowana diorytowa płyta&#039;] = &#039;1,5&#039;,&lt;br /&gt;
    [&#039;wypolerowane diorytowe schody&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;wypolerowany granit&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;wypolerowana granitowa płyta&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;wypolerowane granitowe schody&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;wypolerowany tuf&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;wypolerowana tufowa płyta&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;wypolerowane tufowe schody&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;wypolerowany tufowy murek&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;pryzmaryn&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;pryzmarynowa ceglana płyta&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;pryzmarynowe ceglane schody&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;pryzmarynowe cegły&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;pryzmarynowa płyta&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;pryzmarynowe schody&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;pryzmarynowy murek&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;blok purpuru&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;purpurowy filar&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;purpurowe schody&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;żywicowa ceglana płyta&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;żywicowe ceglane schody&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;żywicowy ceglany murek&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;żywicowe cegły&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;sculkowy czujnik&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;mały zarodek ametystu&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;gładkie kamienne cegły&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;lepki tłok&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;kamień&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;kamienne ceglane schody&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;kamienny ceglany murek&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;kamienne cegły&#039;] = &#039;1,5&#039;,&lt;br /&gt;
  	[&#039;kamienne schody&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;tuf&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;tufowe cegły&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;tufowa ceglana płyta&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;tufowe ceglane schody&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;tufowy ceglany murek&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;tufowa płyta&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;tufowe schody&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	[&#039;tufowy murek&#039;] = &#039;1,5&#039;,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;glazurowana terakota&#039;] = &#039;1,4&#039;,&lt;br /&gt;
&lt;br /&gt;
	[&#039;bazalt&#039;] = &#039;1,25&#039;,&lt;br /&gt;
	[&#039;wypolerowany bazalt&#039;] = &#039;1,25&#039;,&lt;br /&gt;
	[&#039;gładki bazalt&#039;] = &#039;1,25&#039;,&lt;br /&gt;
	[&#039;terakota&#039;] = &#039;1,25&#039;,&lt;br /&gt;
	[&#039;barwiona terakota&#039;] = &#039;1,25&#039;,&lt;br /&gt;
		&lt;br /&gt;
	[&#039;bambus&#039;] = &#039;1&#039;,&lt;br /&gt;
	[&#039;pęd bambusa&#039;] = &#039;1&#039;,&lt;br /&gt;
	[&#039;sztandar&#039;] = &#039;1&#039;,&lt;br /&gt;
	[&#039;wykrawana dynia&#039;] = &#039;1&#039;,&lt;br /&gt;
	[&#039;głowa creepera&#039;] = &#039;1&#039;,&lt;br /&gt;
	[&#039;głowa smoka&#039;] = &#039;1&#039;,&lt;br /&gt;
	[&#039;głowa&#039;] = &#039;1&#039;,&lt;br /&gt;
	[&#039;zarobaczony bruk&#039;] = &#039;1&#039;,&lt;br /&gt;
	[&amp;quot;latarnia dyniowa&amp;quot;] = &#039;1&#039;,&lt;br /&gt;
	[&#039;arbuz&#039;] = &#039;1&#039;,&lt;br /&gt;
	[&#039;blok netherowych brodawek&#039;] = &#039;1&#039;,&lt;br /&gt;
	[&#039;złowieszczy sztandar&#039;] = &#039;1&#039;,&lt;br /&gt;
	[&#039;utwardzone błoto&#039;] = &#039;1&#039;,&lt;br /&gt;
	[&#039;głowa piglina&#039;] = &#039;1&#039;,&lt;br /&gt;
	[&#039;głowa gracza&#039;] = &#039;1&#039;,&lt;br /&gt;
	[&#039;dynia&#039;] = &#039;1&#039;,&lt;br /&gt;
	[&#039;światłogrzyb&#039;] = &#039;1&#039;,&lt;br /&gt;
	[&#039;tabliczka&#039;] = &#039;1&#039;,&lt;br /&gt;
	[&#039;podwieszana tabliczka&#039;] = &#039;1&#039;,&lt;br /&gt;
	[&#039;czaszka szkieleta&#039;] = &#039;1&#039;,&lt;br /&gt;
	[&#039;blok spaczonych brodawek&#039;] = &#039;1&#039;,&lt;br /&gt;
	[&#039;czaszka witherowego szkieleta&#039;] = &#039;1&#039;,&lt;br /&gt;
	[&#039;głowa zombie&#039;] = &#039;1&#039;,&lt;br /&gt;
&lt;br /&gt;
	[&#039;blok kwarcu&#039;] = &#039;0,8&#039;,&lt;br /&gt;
	[&#039;rzeźbiony czerwony piaskowiec&#039;] = &#039;0,8&#039;,&lt;br /&gt;
	[&#039;rzeźbiony piaskowiec&#039;] = &#039;0,8&#039;,&lt;br /&gt;
	[&#039;przycięty czerwony piaskowiec&#039;] = &#039;0,8&#039;,&lt;br /&gt;
	[&#039;przycięty piaskowiec&#039;] = &#039;0,8&#039;,&lt;br /&gt;
	[&#039;blok dźwiękowy&#039;] = &#039;0,8&#039;,&lt;br /&gt;
	[&#039;rzeźbiony blok kwarcu&#039;] = &#039;0,8&#039;,&lt;br /&gt;
	[&#039;kwarcowe cegły&#039;] = &#039;0,8&#039;,&lt;br /&gt;
	[&#039;kwarcowy filar&#039;] = &#039;0,8&#039;,&lt;br /&gt;
	[&#039;kwarcowe schody&#039;] = &#039;0,8&#039;,&lt;br /&gt;
	[&#039;czerwony piaskowiec&#039;] = &#039;0,8&#039;,&lt;br /&gt;
	[&#039;czerwone piaskowcowe schody&#039;] = &#039;0,8&#039;,&lt;br /&gt;
	[&#039;czerwony piaskowcowy murek&#039;] = &#039;0,8&#039;,&lt;br /&gt;
	[&#039;piaskowiec&#039;] = &#039;0,8&#039;,&lt;br /&gt;
	[&#039;piaskowcowe schody&#039;] = &#039;0,8&#039;,&lt;br /&gt;
	[&#039;piaskowcowy murek&#039;] = &#039;0,8&#039;,&lt;br /&gt;
	[&#039;wełna&#039;] = &#039;0,8&#039;,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;kalcyt&#039;] = &#039;0,75&#039;,&lt;br /&gt;
	[&#039;zarobaczony kamień&#039;] = &#039;0,75&#039;,&lt;br /&gt;
	[&#039;zarobaczone kamienne cegły&#039;] = &#039;0,75&#039;,&lt;br /&gt;
	[&#039;zarobaczone popękane kamienne cegły&#039;] = &#039;0,75&#039;,&lt;br /&gt;
	[&#039;zarobaczone zamszone kamienne cegły&#039;] = &#039;0,75&#039;,&lt;br /&gt;
	[&#039;zarobaczone rzeźbione kamienne cegły&#039;] = &#039;0,75&#039;,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;tory aktywacyjne&#039;] = &#039;0,7&#039;,&lt;br /&gt;
	[&#039;tory z czujnikiem&#039;] = &#039;0,7&#039;,&lt;br /&gt;
	[&#039;namorzynowe korzenie&#039;] = &#039;0,7&#039;,&lt;br /&gt;
	[&#039;zabłocone namorzynowe korzenie&#039;] = &#039;0,7&#039;,&lt;br /&gt;
	[&#039;zasilane tory&#039;] = &#039;0,7&#039;,&lt;br /&gt;
	[&#039;tory&#039;] = &#039;0,7&#039;,&lt;br /&gt;
&lt;br /&gt;
	[&#039;ścieżka&#039;] = &#039;0,65&#039;,&lt;br /&gt;
	[&#039;zatrucie&#039;] = &#039;0,65&#039;,&lt;br /&gt;
&lt;br /&gt;
	[&#039;ul&#039;] = &#039;0,6&#039;,&lt;br /&gt;
	[&#039;glina&#039;] = &#039;0,6&#039;,&lt;br /&gt;
	[&#039;kompostownik&#039;] = &#039;0,6&#039;,&lt;br /&gt;
	[&#039;pole uprawne&#039;] = &#039;0,6&#039;,&lt;br /&gt;
	[&#039;blok trawy&#039;] = &#039;0,6&#039;,&lt;br /&gt;
	[&#039;żwir&#039;] = &#039;0,6&#039;,&lt;br /&gt;
	[&#039;gravtater&#039;] = &#039;0,6&#039;,&lt;br /&gt;
	[&#039;blok plastra miodu&#039;] = &#039;0,6&#039;,&lt;br /&gt;
	[&#039;grzybnia&#039;] = &#039;0,6&#039;,&lt;br /&gt;
	[&#039;peelgrass&#039;] = &#039;0,6&#039;,&lt;br /&gt;
	[&#039;trujące pole uprawne&#039;] = &#039;0,6&#039;,&lt;br /&gt;
	[&#039;gąbka&#039;] = &#039;0,6&#039;,&lt;br /&gt;
	[&#039;mokra gąbka&#039;] = &#039;0,6&#039;,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;statyw alchemiczny&#039;] = &#039;0,5&#039;,&lt;br /&gt;
	[&#039;przycisk&#039;] = &#039;0,5&#039;,&lt;br /&gt;
	[&#039;drewniany przycisk&#039;] = &#039;0,5&#039;,&lt;br /&gt;
	[&#039;kamienny przycisk&#039;] = &#039;0,5&#039;,&lt;br /&gt;
	[&#039;wypolerowany czernitowy przycisk&#039;] = &#039;0,5&#039;,&lt;br /&gt;
	[&#039;ciasto&#039;] = &#039;0,5&#039;,&lt;br /&gt;
	[&#039;cement&#039;] = &#039;0,5&#039;,&lt;br /&gt;
	[&#039;blok suszonych wodorostów&#039;] = &#039;0,5&#039;,&lt;br /&gt;
	[&#039;snop siana&#039;] = &#039;0,5&#039;,&lt;br /&gt;
	[&#039;płytka naciskowa&#039;] = &#039;0,5&#039;,&lt;br /&gt;
	[&#039;drewniana płytka naciskowa&#039;] = &#039;0,5&#039;,&lt;br /&gt;
	[&#039;kamienna płytka naciskowa&#039;] = &#039;0,5&#039;,&lt;br /&gt;
	[&#039;wypolerowana czernitowa płytka naciskowa&#039;] = &#039;0,5&#039;,&lt;br /&gt;
	[&#039;wagowa płytka naciskowa&#039;] = &#039;0,5&#039;,&lt;br /&gt;
	[&#039;ciężka wagowa płytka naciskowa&#039;] = &#039;0,5&#039;,&lt;br /&gt;
	[&#039;lekka wagowa płytka naciskowa&#039;] = &#039;0,5&#039;,&lt;br /&gt;
	[&#039;lód&#039;] = &#039;0,5&#039;,&lt;br /&gt;
	[&#039;oszroniony lód&#039;] = &#039;0,5&#039;,&lt;br /&gt;
	[&#039;zbity lód&#039;] = &#039;0,5&#039;,&lt;br /&gt;
	[&#039;dźwignia&#039;] = &#039;0,5&#039;,&lt;br /&gt;
	[&#039;blok magmy&#039;] = &#039;0,5&#039;,&lt;br /&gt;
	[&#039;błoto&#039;] = &#039;0,5&#039;,&lt;br /&gt;
	[&#039;ziemia&#039;] = &#039;0,5&#039;,&lt;br /&gt;
	[&#039;bielica&#039;] = &#039;0,5&#039;,&lt;br /&gt;
	[&#039;zakorzeniona ziemia&#039;] = &#039;0,5&#039;,&lt;br /&gt;
	[&#039;twarda ziemia&#039;] = &#039;0,5&#039;,&lt;br /&gt;
	[&#039;piasek&#039;] = &#039;0,5&#039;,&lt;br /&gt;
	[&#039;czerwony piasek&#039;] = &#039;0,5&#039;,&lt;br /&gt;
	[&#039;piasek dusz&#039;] = &#039;0,5&#039;,&lt;br /&gt;
	[&#039;gleba dusz&#039;] = &#039;0,5&#039;,&lt;br /&gt;
	[&#039;tarcza strzelecka&#039;] = &#039;0,5&#039;,&lt;br /&gt;
	[&#039;terre de pomme&#039;] = &#039;0,5&#039;,&lt;br /&gt;
	[&#039;żółwie jajko&#039;] = &#039;0,5&#039;,&lt;br /&gt;
	[&#039;jajo niuchacza&#039;] = &#039;0,5&#039;,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;kaktus&#039;] = &#039;0,4&#039;,&lt;br /&gt;
	[&#039;kwiat refrenusu&#039;] = &#039;0,4&#039;,&lt;br /&gt;
	[&#039;łodyga refrenusu&#039;] = &#039;0,4&#039;,&lt;br /&gt;
	[&#039;szkarłatne nylium&#039;] = &#039;0,4&#039;,&lt;br /&gt;
	[&#039;drabina&#039;] = &#039;0,4&#039;,&lt;br /&gt;
	[&#039;netherrack&#039;] = &#039;0,4&#039;,&lt;br /&gt;
	[&#039;nylium&#039;] = &#039;0,4&#039;,&lt;br /&gt;
	[&#039;spaczone nylium&#039;] = &#039;0,4&#039;,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;gniazdo pszczół&#039;] = &#039;0,3&#039;,&lt;br /&gt;
	[&#039;szkło&#039;] = &#039;0,3&#039;,&lt;br /&gt;
	[&#039;szyba&#039;] = &#039;0,3&#039;,&lt;br /&gt;
	[&#039;barwione szkło&#039;] = &#039;0,3&#039;,&lt;br /&gt;
	[&#039;barwiona szyba&#039;] = &#039;0,3&#039;,&lt;br /&gt;
	[&#039;jasnogłaz&#039;] = &#039;0,3&#039;,&lt;br /&gt;
	[&#039;żabia lampa&#039;] = &#039;0,3&#039;,&lt;br /&gt;
	[&#039;złocista żabia lampa&#039;] = &#039;0,3&#039;,&lt;br /&gt;
	[&#039;perłowa żabia lampa&#039;] = &#039;0,3&#039;,&lt;br /&gt;
	[&#039;zielenista żabia lampa&#039;] = &#039;0,3&#039;,&lt;br /&gt;
	[&#039;lampa redstone&#039;] = &#039;0,3&#039;,&lt;br /&gt;
	[&#039;latarnia morska&#039;] = &#039;0,3&#039;,&lt;br /&gt;
	[&#039;przyciemnione szkło&#039;] = &#039;0,3&#039;,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;sypki śnieg&#039;] = &#039;0,25&#039;,&lt;br /&gt;
	[&#039;podejrzany blok&#039;] = &#039;0,25&#039;,&lt;br /&gt;
	[&#039;podejrzany piasek&#039;] = &#039;0,25&#039;,&lt;br /&gt;
	[&#039;podejrzany żwir&#039;] = &#039;0,25&#039;,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;łóżko&#039;] = &#039;0,2&#039;,&lt;br /&gt;
	[&#039;roślina kakao&#039;] = &#039;0,2&#039;,&lt;br /&gt;
	[&#039;detektor światła dziennego&#039;] = &#039;0,2&#039;,&lt;br /&gt;
	[&#039;świecący porost&#039;] = &#039;0,2&#039;,&lt;br /&gt;
	[&#039;liście&#039;] = &#039;0,2&#039;,&lt;br /&gt;
	[&#039;sculk&#039;] = &#039;0,2&#039;,&lt;br /&gt;
	[&#039;żyły sculku&#039;] = &#039;0,2&#039;,&lt;br /&gt;
	[&#039;blok śniegu&#039;] = &#039;0,2&#039;,&lt;br /&gt;
	[&#039;pnącza&#039;] = &#039;0,2&#039;,&lt;br /&gt;
	[&#039;blok muchomora&#039;] = &#039;0,2&#039;,&lt;br /&gt;
	[&#039;blok borowika&#039;] = &#039;0,2&#039;,&lt;br /&gt;
	[&#039;trzon grzyba&#039;] = &#039;0,2&#039;,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;wielki spadkoliść&#039;] = &#039;0,1&#039;,&lt;br /&gt;
	[&#039;łodyga wielkiego spadkoliścia&#039;] = &#039;0,1&#039;,&lt;br /&gt;
	[&#039;świeca&#039;] = &#039;0,1&#039;,&lt;br /&gt;
	[&#039;dywan&#039;] = &#039;0,1&#039;,&lt;br /&gt;
	[&#039;blok mchu&#039;] = &#039;0,1&#039;,&lt;br /&gt;
	[&#039;blok bladego mchu&#039;] = &#039;0,1&#039;,&lt;br /&gt;
	[&#039;warstwa mchu&#039;] = &#039;0,1&#039;,&lt;br /&gt;
	[&#039;warstwa bladego mchu&#039;] = &#039;0,1&#039;,&lt;br /&gt;
	[&#039;śnieg&#039;] = &#039;0,1&#039;,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;powietrze&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;powietrze jaskiniowe&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;próżniowe powietrze&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;kolumna bąbelkowa&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;sadzonka&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;siewka namorzynu&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;azalia&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;kwitnąca azalia&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;kwiaty&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;czosnek&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;houstonia błękitna&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;chaber&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;mlecz&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;okrotka&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;zamknięta okrotka&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;otwarta okrotka&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;bez&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;konwalia&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;witherowa róża&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;niebieska orchidea&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;krzew róży&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;piwonia&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;słonecznik&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;mak&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;margaretka&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;tulipan&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;czerwony tulipan&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;różowy tulipan&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;biały tulipan&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;pomarańczowy tulipan&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;dzbanecznik&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;plon dzbanecznika&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;strąk dzbanecznika&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;ognisty kwiat&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;nasiona ognistego kwiatu&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;nasiona buraka&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;nasiona dyni&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;łodyga dyni&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;nasiona arbuza&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;łodyga arbuza&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;marchewka&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;nasiona pszenicy&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;polne kwiaty&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;różowe kwiatki&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;krzew&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;krzew świetlików&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;uschnięty krzak&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;kwiat kaktusa&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;blok kamery&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;jaskiniowe pnącza&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;świecące jagody&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;wyschnięty ghast&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;dekorowany garniec&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;endowy słupek&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;ogień&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;ogień dusz&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;doniczka&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;żabi skrzek&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;paproć&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;duża paproć&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;trawa&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;niska trawa&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;wysoka trawa&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;trawa_carried&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;zielony krzak&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;zwisające korzenie&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;blok szlamu&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;blok miodu&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;blok żywicy&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;wodorost&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;ściółka&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;liście_carried&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;lilia wodna&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;zablokowana skrzynia&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;netherowe kiełki&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;netherowa brodawka&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;zwisający blady mech&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;komparator redstone&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;przekaźnik redstone&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;pochodnia redstone&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;przewód z redstone&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;netherowe korzenie&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;spaczone korzenie&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;szkarłatne korzenie&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;gruda żywicy&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;rusztowanie&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;iskrzyłuda&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;trawa morska&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;sucha trawa&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;niska sucha trawa&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;wysoka sucha trawa&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;mały spadkoliść&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;pylikwiat&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;nić&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;pustka strukturalna&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;trzcina cukrowa&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;krzak słodkich jagód&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;tnt&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;podwodne tnt&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;pochodnia&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;pochodnia dusz&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;kolorowe pochodnie&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;podwodna pochodnia&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;pierwiastek chemiczny&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;linka&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;zaczep na linkę&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;spaczone pnącza&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;płaczące pnącza&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;grzyb&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;muchomor&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;borowik&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;netherowy grzyb&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;spaczony grzyb&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;szkarłatny grzyb&#039;] = &#039;0&#039;,&lt;br /&gt;
	[&#039;nieznany&#039;] = &#039;0&#039;,&lt;br /&gt;
	&lt;br /&gt;
-- Bloki niezniszczalne w trybie przetrwania i przygody&lt;br /&gt;
	[&#039;bariera&#039;] = &#039;-1&#039;,&lt;br /&gt;
	[&#039;skała macierzysta&#039;] = &#039;-1&#039;,&lt;br /&gt;
	[&#039;łańcuchowy blok poleceń&#039;] = &#039;-1&#039;,&lt;br /&gt;
	[&#039;blok poleceń&#039;] = &#039;-1&#039;,&lt;br /&gt;
	[&#039;blok portalu bramy endu&#039;] = &#039;-1&#039;,&lt;br /&gt;
	[&#039;portal do endu&#039;] = &#039;-1&#039;,&lt;br /&gt;
	[&#039;rama portalu do endu&#039;] = &#039;-1&#039;,&lt;br /&gt;
	[&#039;blok konstrukcyjny&#039;] = &#039;-1&#039;,&lt;br /&gt;
	[&#039;blok światła&#039;] = &#039;-1&#039;,&lt;br /&gt;
	[&#039;poruszany blok&#039;] = &#039;-1&#039;,&lt;br /&gt;
	[&#039;netherowy portal&#039;] = &#039;-1&#039;,&lt;br /&gt;
	[&#039;powtarzający blok poleceń&#039;] = &#039;-1&#039;,&lt;br /&gt;
	[&#039;blok struktur&#039;] = &#039;-1&#039;,&lt;br /&gt;
	[&#039;blok testowy&#039;] = &#039;-1&#039;,&lt;br /&gt;
	[&#039;blok instancji testowej&#039;] = &#039;-1&#039;,&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Modu%C5%82:Twardo%C5%9B%C4%87_values&amp;diff=130327</id>
		<title>Moduł:Twardość values</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Modu%C5%82:Twardo%C5%9B%C4%87_values&amp;diff=130327"/>
		<updated>2026-01-23T14:21:20Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: Anulowanie wersji 130326 autorstwa MetroKopUA (dyskusja)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;return {&lt;br /&gt;
	--Od najwyższej twardości do najniższej.&lt;br /&gt;
	[&#039;lawa&#039;] = 100,&lt;br /&gt;
	[&#039;woda&#039;] = 100,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;zbrojony łupek&#039;] = 55,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;blok netherytu&#039;] = 50,&lt;br /&gt;
	[&#039;rozjarzony obsydian&#039;] = 50,&lt;br /&gt;
	[&#039;płaczący obsydian&#039;] = 50,&lt;br /&gt;
	[&#039;obsydian&#039;] = 50,&lt;br /&gt;
	[&#039;złowieszczy przyzywacz prób&#039;] = 50,&lt;br /&gt;
	[&#039;złowieszczy skarbiec&#039;] = 50,&lt;br /&gt;
	[&#039;kotwica odrodzenia&#039;] = 50,&lt;br /&gt;
	[&#039;przyzywacz prób&#039;] = 50,&lt;br /&gt;
	[&#039;skarbiec&#039;] = 50,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;pradawne zgliszcza&#039;] = 30,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;skrzynia endu&#039;] = 22.5,&lt;br /&gt;
&lt;br /&gt;
	[&#039;trzeszczące serce&#039;] = 10,&lt;br /&gt;
	[&#039;ciężki rdzeń&#039;] = 10,&lt;br /&gt;
&lt;br /&gt;
	[&#039;kowadło&#039;] = 5,&lt;br /&gt;
	[&#039;dzwon&#039;] = 5,&lt;br /&gt;
	[&#039;blok węgla&#039;] = 5,&lt;br /&gt;
	[&#039;blok diamentu&#039;] = 5,&lt;br /&gt;
	[&#039;blok szmaragdu&#039;] = 5,&lt;br /&gt;
	[&#039;blok żelaza&#039;] = 5,&lt;br /&gt;
	[&#039;blok rudy żelaza&#039;] = 5,&lt;br /&gt;
	[&#039;blok surowego złota&#039;] = 5,&lt;br /&gt;
	[&#039;blok rudy miedzi&#039;] = 5,&lt;br /&gt;
	[&#039;blok redstone&#039;] = 5,&lt;br /&gt;
	[&#039;łańcuch&#039;] = 5,&lt;br /&gt;
	[&#039;żelazny łańcuch&#039;] = 5,&lt;br /&gt;
	[&#039;miedziany łańcuch&#039;] = 5,&lt;br /&gt;
	[&#039;stół do zaklinania&#039;] = 5,&lt;br /&gt;
	[&#039;kraty&#039;] = 5,&lt;br /&gt;
	[&#039;żelazne kraty&#039;] = 5,&lt;br /&gt;
	[&#039;miedziane kraty&#039;] = 5,&lt;br /&gt;
	[&#039;żelazne drzwi&#039;] = 5,&lt;br /&gt;
	[&#039;żelazna klapa&#039;] = 5,&lt;br /&gt;
	[&#039;przyzywacz potworów&#039;] = 5,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;łupkowe złoże węgla&#039;] = 4.5,&lt;br /&gt;
	[&#039;łupkowe złoże miedzi&#039;] = 4.5,&lt;br /&gt;
	[&#039;łupkowe złoże diamentu&#039;] = 4.5,&lt;br /&gt;
	[&#039;łupkowe złoże szmaragdu&#039;] = 4.5,&lt;br /&gt;
	[&#039;łupkowe złoże złota&#039;] = 4.5,&lt;br /&gt;
	[&#039;łupkowe złoże żelaza&#039;] = 4.5,&lt;br /&gt;
	[&#039;łupkowe złoże lazurytu&#039;] = 4.5,&lt;br /&gt;
	[&#039;łupkowe złoże redstone&#039;] = 4.5,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;pajęczyna&#039;] = 4,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;piec hutniczy&#039;] = 3.5,&lt;br /&gt;
	[&#039;rzeźbiony łupek&#039;] = 3.5,&lt;br /&gt;
	[&#039;łupkowy bruk&#039;] = 3.5,&lt;br /&gt;
	[&#039;łupkowa brukowa płyta&#039;] = 3.5,&lt;br /&gt;
	[&#039;łupkowe brukowe schody&#039;] = 3.5,&lt;br /&gt;
	[&#039;łupkowy brukowy murek&#039;] = 3.5,&lt;br /&gt;
	[&#039;popękane łupkowe cegły&#039;] = 3.5,&lt;br /&gt;
  	[&#039;popękane łupkowe kafelki&#039;] = 3.5,&lt;br /&gt;
  	[&#039;łupkowa ceglana płyta&#039;] = 3.5,&lt;br /&gt;
  	[&#039;łupkowe ceglane schody&#039;] = 3.5,&lt;br /&gt;
  	[&#039;łupkowy ceglany murek&#039;] = 3.5,&lt;br /&gt;
   	[&#039;łupkowe cegły&#039;] = 3.5,&lt;br /&gt;
   	[&#039;łupkowe kafelki&#039;] = 3.5,&lt;br /&gt;
  	[&#039;łupkowa kafelkowa płyta&#039;] = 3.5,&lt;br /&gt;
  	[&#039;łupkowe kafelkowe schody&#039;] = 3.5,&lt;br /&gt;
  	[&#039;łupkowy kafelkowy murek&#039;] = 3.5,&lt;br /&gt;
  	[&#039;dozownik&#039;] = 3.5,&lt;br /&gt;
	[&#039;podajnik&#039;] = 3.5,&lt;br /&gt;
  	[&#039;piec&#039;] = 3.5,&lt;br /&gt;
	[&#039;latarnia&#039;] = 3.5,&lt;br /&gt;
	[&#039;latarnia dusz&#039;] = 3.5,&lt;br /&gt;
	[&#039;miedziana latarnia&#039;] = 3.5,&lt;br /&gt;
	[&#039;magnetyt&#039;] = 3.5,&lt;br /&gt;
	[&#039;wypolerowany łupek&#039;] = 3.5,&lt;br /&gt;
	[&#039;wypolerowana łupkowa płyta&#039;] = 3.5,&lt;br /&gt;
	[&#039;wypolerowane łupkowe schody&#039;] = 3.5,&lt;br /&gt;
	[&#039;wypolerowany łupkowy murek&#039;] = 3.5,&lt;br /&gt;
	[&#039;wędzarka&#039;] = 3.5,&lt;br /&gt;
	[&#039;przecinarka&#039;] = 3.5,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;magiczna latarnia&#039;] = 3,&lt;br /&gt;
	[&#039;blok złota&#039;] = 3,&lt;br /&gt;
	[&#039;blok lazurytu&#039;] = 3,&lt;br /&gt;
	[&#039;blok miedzi&#039;] = 3,&lt;br /&gt;
	[&#039;złoże węgla&#039;] = 3,&lt;br /&gt;
	[&#039;rdzeń reaktora netheru&#039;] = 3,&lt;br /&gt;
	[&#039;przewodnia&#039;] = 3,&lt;br /&gt;
	[&#039;blok miedzi&#039;] = 3,&lt;br /&gt;
	[&#039;miedziana skrzynia&#039;] = 3,&lt;br /&gt;
	[&#039;miedziana krata&#039;] = 3,&lt;br /&gt;
	[&#039;miedziane drzwi&#039;] = 3,&lt;br /&gt;
	[&#039;miedziana klapa&#039;] = 3,&lt;br /&gt;
	[&#039;miedziana lampa&#039;] = 3,&lt;br /&gt;
	[&#039;złoże miedzi&#039;] = 3,&lt;br /&gt;
	[&#039;rzeźbiona miedź&#039;] = 3,&lt;br /&gt;
	[&#039;żłobiona miedź&#039;] = 3,&lt;br /&gt;
	[&#039;żłobiona miedziana płyta&#039;] = 3,&lt;br /&gt;
	[&#039;żłobione miedziane schody&#039;] = 3,&lt;br /&gt;
	[&#039;łupek&#039;] = 3,&lt;br /&gt;
	[&#039;złoże diamentu&#039;] = 3,&lt;br /&gt;
	[&#039;smocze jajo&#039;] = 3,&lt;br /&gt;
	[&#039;złoże szmaragdu&#039;] = 3,&lt;br /&gt;
	[&#039;kamień endu&#039;] = 3,&lt;br /&gt;
	[&#039;endowa kamienna ceglana płyta&#039;] = 3,&lt;br /&gt;
	[&#039;endowe kamienne ceglane schody&#039;] = 3,&lt;br /&gt;
	[&#039;endowy kamienny ceglany murek&#039;] = 3,&lt;br /&gt;
	[&#039;endowe kamienne cegły&#039;] = 3,&lt;br /&gt;
	[&#039;złoto&#039;] = 3,&lt;br /&gt;
	[&#039;złoże złota&#039;] = 3,&lt;br /&gt;
	[&#039;lej&#039;] = 3,&lt;br /&gt;
	[&#039;złoże żelaza&#039;] = 3,&lt;br /&gt;
	[&#039;złoże lazurytu&#039;] = 3,&lt;br /&gt;
	[&#039;piorunochron&#039;] = 3,&lt;br /&gt;
	[&#039;netherowe złoże złota&#039;] = 3,&lt;br /&gt;
	[&#039;złoże netherowego kwarcu&#039;] = 3,&lt;br /&gt;
	[&#039;drewniane drzwi&#039;] = 3,&lt;br /&gt;
	[&#039;drewniana klapa&#039;] = 3,&lt;br /&gt;
	[&#039;detektor&#039;] = 3,&lt;br /&gt;
	[&#039;złoże redstone&#039;] = 3,&lt;br /&gt;
	[&#039;sculkowy katalizator&#039;] = 3,&lt;br /&gt;
	[&#039;sculkowe wrzeszczydło&#039;] = 3,&lt;br /&gt;
	[&#039;posąg miedzianego golema&#039;] = 3,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;niebieski lód lodowcowy&#039;] = 2.8,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;beczka&#039;] = 2.5,&lt;br /&gt;
	[&#039;stół kartograficzny&#039;] = 2.5,&lt;br /&gt;
	[&#039;skrzynia&#039;] = 2.5,&lt;br /&gt;
	[&#039;stół rzemieślniczy&#039;] = 2.5,&lt;br /&gt;
	[&#039;stół łuczarski&#039;] = 2.5,&lt;br /&gt;
	[&#039;krosno&#039;] = 2.5,&lt;br /&gt;
	[&#039;stół kowalski&#039;] = 2.5,&lt;br /&gt;
	[&#039;pulpit&#039;] = 2.5,&lt;br /&gt;
	[&#039;skrzynia-pułapka&#039;] = 2.5,&lt;br /&gt;
	[&#039;analizator materiałów&#039;] = 2.5,&lt;br /&gt;
	[&#039;blok ciepła&#039;] = 2.5,&lt;br /&gt;
	[&#039;stół laboratoryjny&#039;] = 2.5,&lt;br /&gt;
	[&#039;syntezator pierwiastków&#039;] = 2.5,&lt;br /&gt;
	[&#039;syntezator związków&#039;] = 2.5,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;bambusowa mozaika&#039;] = 2,&lt;br /&gt;
	[&#039;bambusowe mozaikowe schody&#039;] = 2,&lt;br /&gt;
	[&#039;bambusowa mozaikowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;czernitowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;blok bambusu&#039;] = 2,&lt;br /&gt;
	[&#039;blok ociosanego bambusu&#039;] = 2,&lt;br /&gt;
	[&#039;blok kości&#039;] = 2,&lt;br /&gt;
	[&#039;ceglana płyta&#039;] = 2,&lt;br /&gt;
	[&#039;ceglane schody&#039;] = 2,&lt;br /&gt;
	[&#039;ceglany murek&#039;] = 2,&lt;br /&gt;
	[&#039;cegły&#039;] = 2,&lt;br /&gt;
	[&#039;ognisko&#039;] = 2,&lt;br /&gt;
	[&#039;kocioł&#039;] = 2,&lt;br /&gt;
	[&#039;rzeźbione netherowe cegły&#039;] = 2,&lt;br /&gt;
	[&#039;bruk&#039;] = 2,&lt;br /&gt;
	[&#039;brukowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;brukowe schody&#039;] = 2,&lt;br /&gt;
	[&#039;brukowy murek&#039;] = 2,&lt;br /&gt;
	[&#039;popękane netherowe cegły&#039;] = 2,&lt;br /&gt;
	[&#039;przycięta czerwona piaskowcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;przycięta piaskowcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;kamień szlifierski&#039;] = 2,&lt;br /&gt;
	[&#039;szafa grająca&#039;] = 2,&lt;br /&gt;
	[&#039;zamszony bruk&#039;] = 2,&lt;br /&gt;
	[&#039;zamszona brukowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;zamszone brukowe schody&#039;] = 2,&lt;br /&gt;
	[&#039;zamszony brukowy murek&#039;] = 2,&lt;br /&gt;
	[&#039;netherowy ceglany płot&#039;] = 2,&lt;br /&gt;
	[&#039;netherowa ceglana płyta&#039;] = 2,&lt;br /&gt;
	[&#039;netherowe ceglane schody&#039;] = 2,&lt;br /&gt;
	[&#039;netherowy ceglany murek&#039;] = 2,&lt;br /&gt;
	[&#039;netherowe cegły&#039;] = 2,&lt;br /&gt;
	[&#039;skamieniała dębowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;pień&#039;] = 2,&lt;br /&gt;
	[&#039;ociosany pień&#039;] = 2,&lt;br /&gt;
	[&#039;drewno&#039;] = 2,&lt;br /&gt;
	[&#039;ociosane drewno&#039;] = 2,&lt;br /&gt;
	[&#039;deski&#039;] = 2,&lt;br /&gt;
	[&#039;płot&#039;] = 2,&lt;br /&gt;
	[&#039;drewniany płot&#039;] = 2,&lt;br /&gt;
	[&#039;furtka&#039;] = 2,&lt;br /&gt;
	[&#039;półka&#039;] = 2,&lt;br /&gt;
	[&#039;wypolerowany czernit&#039;] = 2,&lt;br /&gt;
	[&#039;wypolerowana czernitowa ceglana płyta&#039;] = 2,&lt;br /&gt;
	[&#039;wypolerowana czernitowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;wypolerowane czernitowe schody&#039;] = 2,&lt;br /&gt;
	[&#039;wypolerowany czernitowy murek&#039;] = 2,&lt;br /&gt;
	[&#039;purpurowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;kwarcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;czerwona netherowa ceglana płyta&#039;] = 2,&lt;br /&gt;
	[&#039;czerwone netherowe ceglane schody&#039;] = 2,&lt;br /&gt;
	[&#039;czerwony netherowy ceglany murek&#039;] = 2,&lt;br /&gt;
	[&#039;czerwone netherowe cegły&#039;] = 2,&lt;br /&gt;
	[&#039;czerwona piaskowcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;piaskowcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;shulkerowa skrzynia&#039;] = 2,&lt;br /&gt;
	[&#039;gładki blok kwarcu&#039;] = 2,&lt;br /&gt;
	[&#039;gładka kwarcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;gładkie kwarcowe schody&#039;] = 2,&lt;br /&gt;
	[&#039;gładki czerwony piaskowiec&#039;] = 2,&lt;br /&gt;
	[&#039;gładka czerwona piaskowcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;gładkie czerwone piaskowcowe schody&#039;] = 2,&lt;br /&gt;
	[&#039;gładki piaskowiec&#039;] = 2,&lt;br /&gt;
	[&#039;gładka piaskowcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;gładkie piaskowcowe schody&#039;] = 2,&lt;br /&gt;
	[&#039;gładki kamień&#039;] = 2,&lt;br /&gt;
	[&#039;gładka kamienna płyta&#039;] = 2,&lt;br /&gt;
	[&#039;ognisko dusz&#039;] = 2,&lt;br /&gt;
	[&#039;kamienna płyta&#039;] = 2,&lt;br /&gt;
	[&#039;kamienna ceglana płyta&#039;] = 2,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;beton&#039;] = 1.8,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;zarodek ametystu&#039;] = 1.5,&lt;br /&gt;
  	[&#039;skupisko ametystu&#039;] = 1.5,&lt;br /&gt;
	[&#039;andezyt&#039;] = 1.5,&lt;br /&gt;
  	[&#039;andezytowa płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;andezytowe schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;andezytowy murek&#039;] = 1.5,&lt;br /&gt;
  	[&#039;czernit&#039;] = 1.5,&lt;br /&gt;
  	[&#039;czernitowe schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;czernitowy murek&#039;] = 1.5,&lt;br /&gt;
  	[&#039;blok ametystu&#039;] = 1.5,&lt;br /&gt;
  	[&#039;bloki koralowca&#039;] = 1.5,&lt;br /&gt;
	[&#039;biblioteczka&#039;] = 1.5,&lt;br /&gt;
	[&#039;kiełkujący ametyst&#039;] = 1.5,&lt;br /&gt;
	[&#039;skalibrowany sculkowy czujnik&#039;] = 1.5,&lt;br /&gt;
	[&#039;rzeźbiona biblioteczka&#039;] = 1.5,&lt;br /&gt;
  	[&#039;rzeźbiony wypolerowany czernit&#039;] = 1.5,&lt;br /&gt;
  	[&#039;rzeźbione żywicowe cegły&#039;] = 1.5,&lt;br /&gt;
  	[&#039;rzeźbione kamienne cegły&#039;] = 1.5,&lt;br /&gt;
	[&#039;rzeźbiony tuf&#039;] = 1.5,&lt;br /&gt;
	[&#039;rzeźbione tufowe cegły&#039;] = 1.5,&lt;br /&gt;
  	[&#039;popękane wypolerowane czernitowe cegły&#039;] = 1.5,&lt;br /&gt;
  	[&#039;popękane kamienne cegły&#039;] = 1.5,&lt;br /&gt;
  	[&#039;wytwarzacz&#039;] = 1.5,&lt;br /&gt;
	[&#039;ciemny pryzmaryn&#039;] = 1.5,&lt;br /&gt;
  	[&#039;ciemna pryzmarynowa płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;ciemne pryzmarynowe schody&#039;] = 1.5,&lt;br /&gt;
	[&#039;dioryt&#039;] = 1.5,&lt;br /&gt;
  	[&#039;diorytowa płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;diorytowe schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;diorytowy murek&#039;] = 1.5,&lt;br /&gt;
  	[&#039;blok nacieku&#039;] = 1.5,&lt;br /&gt;
  	[&#039;złocony czernit&#039;] = 1.5,&lt;br /&gt;
	[&#039;granit&#039;] = 1.5,&lt;br /&gt;
  	[&#039;granitowa płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;granitowe schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;granitowy murek&#039;] = 1.5,&lt;br /&gt;
	[&#039;zarobaczony łupek&#039;] = 1.5,&lt;br /&gt;
	[&#039;duży zarodek ametystu&#039;] = 1.5,&lt;br /&gt;
	[&#039;średni zarodek ametystu&#039;] = 1.5,&lt;br /&gt;
  	[&#039;zamszona kamienna ceglana płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;zamszone kamienne ceglane schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;zamszony kamienny ceglany murek&#039;] = 1.5,&lt;br /&gt;
  	[&#039;zamszone kamienne cegły&#039;] = 1.5,&lt;br /&gt;
	[&#039;błotna ceglana płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;błotne ceglane schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;błotny ceglany murek&#039;] = 1.5,&lt;br /&gt;
  	[&#039;błotne cegły&#039;] = 1.5,&lt;br /&gt;
  	[&#039;tłok&#039;] = 1.5,&lt;br /&gt;
	[&#039;głowica tłoka&#039;] = 1.5,&lt;br /&gt;
	[&#039;spiczasty naciek&#039;] = 1.5,&lt;br /&gt;
	[&#039;wypolerowany andezyt&#039;] = 1.5,&lt;br /&gt;
  	[&#039;wypolerowana andezytowa płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;wypolerowane andezytowe schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;wypolerowane czernitowe ceglane schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;wypolerowany czernitowy ceglany murek&#039;] = 1.5,&lt;br /&gt;
  	[&#039;wypolerowane czernitowe cegły&#039;] = 1.5,&lt;br /&gt;
	[&#039;wypolerowany dioryt&#039;] = 1.5,&lt;br /&gt;
  	[&#039;wypolerowana diorytowa płyta&#039;] = 1.5,&lt;br /&gt;
    [&#039;wypolerowane diorytowe schody&#039;] = 1.5,&lt;br /&gt;
	[&#039;wypolerowany granit&#039;] = 1.5,&lt;br /&gt;
  	[&#039;wypolerowana granitowa płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;wypolerowane granitowe schody&#039;] = 1.5,&lt;br /&gt;
	[&#039;wypolerowany tuf&#039;] = 1.5,&lt;br /&gt;
	[&#039;wypolerowana tufowa płyta&#039;] = 1.5,&lt;br /&gt;
	[&#039;wypolerowane tufowe schody&#039;] = 1.5,&lt;br /&gt;
	[&#039;wypolerowany tufowy murek&#039;] = 1.5,&lt;br /&gt;
	[&#039;pryzmaryn&#039;] = 1.5,&lt;br /&gt;
  	[&#039;pryzmarynowa ceglana płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;pryzmarynowe ceglane schody&#039;] = 1.5,&lt;br /&gt;
	[&#039;pryzmarynowe cegły&#039;] = 1.5,&lt;br /&gt;
  	[&#039;pryzmarynowa płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;pryzmarynowe schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;pryzmarynowy murek&#039;] = 1.5,&lt;br /&gt;
	[&#039;blok purpuru&#039;] = 1.5,&lt;br /&gt;
	[&#039;purpurowy filar&#039;] = 1.5,&lt;br /&gt;
  	[&#039;purpurowe schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;żywicowa ceglana płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;żywicowe ceglane schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;żywicowy ceglany murek&#039;] = 1.5,&lt;br /&gt;
	[&#039;żywicowe cegły&#039;] = 1.5,&lt;br /&gt;
  	[&#039;sculkowy czujnik&#039;] = 1.5,&lt;br /&gt;
  	[&#039;mały zarodek ametystu&#039;] = 1.5,&lt;br /&gt;
	[&#039;gładkie kamienne cegły&#039;] = 1.5,&lt;br /&gt;
	[&#039;lepki tłok&#039;] = 1.5,&lt;br /&gt;
	[&#039;kamień&#039;] = 1.5,&lt;br /&gt;
	[&#039;kamienne ceglane schody&#039;] = 1.5,&lt;br /&gt;
	[&#039;kamienny ceglany murek&#039;] = 1.5,&lt;br /&gt;
	[&#039;kamienne cegły&#039;] = 1.5,&lt;br /&gt;
  	[&#039;kamienne schody&#039;] = 1.5,&lt;br /&gt;
	[&#039;tuf&#039;] = 1.5,&lt;br /&gt;
	[&#039;tufowe cegły&#039;] = 1.5,&lt;br /&gt;
	[&#039;tufowa ceglana płyta&#039;] = 1.5,&lt;br /&gt;
	[&#039;tufowe ceglane schody&#039;] = 1.5,&lt;br /&gt;
	[&#039;tufowy ceglany murek&#039;] = 1.5,&lt;br /&gt;
	[&#039;tufowa płyta&#039;] = 1.5,&lt;br /&gt;
	[&#039;tufowe schody&#039;] = 1.5,&lt;br /&gt;
	[&#039;tufowy murek&#039;] = 1.5,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;glazurowana terakota&#039;] = 1.4,&lt;br /&gt;
&lt;br /&gt;
	[&#039;bazalt&#039;] = 1.25,&lt;br /&gt;
	[&#039;wypolerowany bazalt&#039;] = 1.25,&lt;br /&gt;
	[&#039;gładki bazalt&#039;] = 1.25,&lt;br /&gt;
	[&#039;terakota&#039;] = 1.25,&lt;br /&gt;
	[&#039;barwiona terakota&#039;] = 1.25,&lt;br /&gt;
		&lt;br /&gt;
	[&#039;bambus&#039;] = 1,&lt;br /&gt;
	[&#039;pęd bambusa&#039;] = 1,&lt;br /&gt;
	[&#039;sztandar&#039;] = 1,&lt;br /&gt;
	[&#039;wykrawana dynia&#039;] = 1,&lt;br /&gt;
	[&#039;głowa creepera&#039;] = 1,&lt;br /&gt;
	[&#039;głowa smoka&#039;] = 1,&lt;br /&gt;
	[&#039;głowa&#039;] = 1,&lt;br /&gt;
	[&#039;zarobaczony bruk&#039;] = 1,&lt;br /&gt;
	[&amp;quot;latarnia dyniowa&amp;quot;] = 1,&lt;br /&gt;
	[&#039;arbuz&#039;] = 1,&lt;br /&gt;
	[&#039;blok netherowych brodawek&#039;] = 1,&lt;br /&gt;
	[&#039;złowieszczy sztandar&#039;] = 1,&lt;br /&gt;
	[&#039;utwardzone błoto&#039;] = 1,&lt;br /&gt;
	[&#039;głowa piglina&#039;] = 1,&lt;br /&gt;
	[&#039;głowa gracza&#039;] = 1,&lt;br /&gt;
	[&#039;dynia&#039;] = 1,&lt;br /&gt;
	[&#039;światłogrzyb&#039;] = 1,&lt;br /&gt;
	[&#039;tabliczka&#039;] = 1,&lt;br /&gt;
	[&#039;podwieszana tabliczka&#039;] = 1,&lt;br /&gt;
	[&#039;czaszka szkieleta&#039;] = 1,&lt;br /&gt;
	[&#039;blok spaczonych brodawek&#039;] = 1,&lt;br /&gt;
	[&#039;czaszka witherowego szkieleta&#039;] = 1,&lt;br /&gt;
	[&#039;głowa zombie&#039;] = 1,&lt;br /&gt;
&lt;br /&gt;
	[&#039;blok kwarcu&#039;] = 0.8,&lt;br /&gt;
	[&#039;rzeźbiony czerwony piaskowiec&#039;] = 0.8,&lt;br /&gt;
	[&#039;rzeźbiony piaskowiec&#039;] = 0.8,&lt;br /&gt;
	[&#039;przycięty czerwony piaskowiec&#039;] = 0.8,&lt;br /&gt;
	[&#039;przycięty piaskowiec&#039;] = 0.8,&lt;br /&gt;
	[&#039;blok dźwiękowy&#039;] = 0.8,&lt;br /&gt;
	[&#039;rzeźbiony blok kwarcu&#039;] = 0.8,&lt;br /&gt;
	[&#039;kwarcowe cegły&#039;] = 0.8,&lt;br /&gt;
	[&#039;kwarcowy filar&#039;] = 0.8,&lt;br /&gt;
	[&#039;kwarcowe schody&#039;] = 0.8,&lt;br /&gt;
	[&#039;czerwony piaskowiec&#039;] = 0.8,&lt;br /&gt;
	[&#039;czerwone piaskowcowe schody&#039;] = 0.8,&lt;br /&gt;
	[&#039;czerwony piaskowcowy murek&#039;] = 0.8,&lt;br /&gt;
	[&#039;piaskowiec&#039;] = 0.8,&lt;br /&gt;
	[&#039;piaskowcowe schody&#039;] = 0.8,&lt;br /&gt;
	[&#039;piaskowcowy murek&#039;] = 0.8,&lt;br /&gt;
	[&#039;wełna&#039;] = 0.8,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;kalcyt&#039;] = 0.75,&lt;br /&gt;
	[&#039;zarobaczony kamień&#039;] = 0.75,&lt;br /&gt;
	[&#039;zarobaczone kamienne cegły&#039;] = 0.75,&lt;br /&gt;
	[&#039;zarobaczone popękane kamienne cegły&#039;] = 0.75,&lt;br /&gt;
	[&#039;zarobaczone zamszone kamienne cegły&#039;] = 0.75,&lt;br /&gt;
	[&#039;zarobaczone rzeźbione kamienne cegły&#039;] = 0.75,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;tory aktywacyjne&#039;] = 0.7,&lt;br /&gt;
	[&#039;tory z czujnikiem&#039;] = 0.7,&lt;br /&gt;
	[&#039;namorzynowe korzenie&#039;] = 0.7,&lt;br /&gt;
	[&#039;zabłocone namorzynowe korzenie&#039;] = 0.7,&lt;br /&gt;
	[&#039;zasilane tory&#039;] = 0.7,&lt;br /&gt;
	[&#039;tory&#039;] = 0.7,&lt;br /&gt;
&lt;br /&gt;
	[&#039;ścieżka&#039;] = 0.65,&lt;br /&gt;
	[&#039;zatrucie&#039;] = 0.65,&lt;br /&gt;
&lt;br /&gt;
	[&#039;ul&#039;] = 0.6,&lt;br /&gt;
	[&#039;glina&#039;] = 0.6,&lt;br /&gt;
	[&#039;kompostownik&#039;] = 0.6,&lt;br /&gt;
	[&#039;pole uprawne&#039;] = 0.6,&lt;br /&gt;
	[&#039;blok trawy&#039;] = 0.6,&lt;br /&gt;
	[&#039;żwir&#039;] = 0.6,&lt;br /&gt;
	[&#039;gravtater&#039;] = 0.6,&lt;br /&gt;
	[&#039;blok plastra miodu&#039;] = 0.6,&lt;br /&gt;
	[&#039;grzybnia&#039;] = 0.6,&lt;br /&gt;
	[&#039;peelgrass&#039;] = 0.6,&lt;br /&gt;
	[&#039;trujące pole uprawne&#039;] = 0.6,&lt;br /&gt;
	[&#039;gąbka&#039;] = 0.6,&lt;br /&gt;
	[&#039;mokra gąbka&#039;] = 0.6,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;statyw alchemiczny&#039;] = 0.5,&lt;br /&gt;
	[&#039;przycisk&#039;] = 0.5,&lt;br /&gt;
	[&#039;drewniany przycisk&#039;] = 0.5,&lt;br /&gt;
	[&#039;kamienny przycisk&#039;] = 0.5,&lt;br /&gt;
	[&#039;wypolerowany czernitowy przycisk&#039;] = 0.5,&lt;br /&gt;
	[&#039;ciasto&#039;] = 0.5,&lt;br /&gt;
	[&#039;cement&#039;] = 0.5,&lt;br /&gt;
	[&#039;blok suszonych wodorostów&#039;] = 0.5,&lt;br /&gt;
	[&#039;snop siana&#039;] = 0.5,&lt;br /&gt;
	[&#039;płytka naciskowa&#039;] = 0.5,&lt;br /&gt;
	[&#039;drewniana płytka naciskowa&#039;] = 0.5,&lt;br /&gt;
	[&#039;kamienna płytka naciskowa&#039;] = 0.5,&lt;br /&gt;
	[&#039;wypolerowana czernitowa płytka naciskowa&#039;] = 0.5,&lt;br /&gt;
	[&#039;wagowa płytka naciskowa&#039;] = 0.5,&lt;br /&gt;
	[&#039;ciężka wagowa płytka naciskowa&#039;] = 0.5,&lt;br /&gt;
	[&#039;lekka wagowa płytka naciskowa&#039;] = 0.5,&lt;br /&gt;
	[&#039;lód&#039;] = 0.5,&lt;br /&gt;
	[&#039;oszroniony lód&#039;] = 0.5,&lt;br /&gt;
	[&#039;zbity lód&#039;] = 0.5,&lt;br /&gt;
	[&#039;dźwignia&#039;] = 0.5,&lt;br /&gt;
	[&#039;blok magmy&#039;] = 0.5,&lt;br /&gt;
	[&#039;błoto&#039;] = 0.5,&lt;br /&gt;
	[&#039;ziemia&#039;] = 0.5,&lt;br /&gt;
	[&#039;bielica&#039;] = 0.5,&lt;br /&gt;
	[&#039;zakorzeniona ziemia&#039;] = 0.5,&lt;br /&gt;
	[&#039;twarda ziemia&#039;] = 0.5,&lt;br /&gt;
	[&#039;piasek&#039;] = 0.5,&lt;br /&gt;
	[&#039;czerwony piasek&#039;] = 0.5,&lt;br /&gt;
	[&#039;piasek dusz&#039;] = 0.5,&lt;br /&gt;
	[&#039;gleba dusz&#039;] = 0.5,&lt;br /&gt;
	[&#039;tarcza strzelecka&#039;] = 0.5,&lt;br /&gt;
	[&#039;terre de pomme&#039;] = 0.5,&lt;br /&gt;
	[&#039;żółwie jajko&#039;] = 0.5,&lt;br /&gt;
	[&#039;jajo niuchacza&#039;] = 0.5,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;kaktus&#039;] = 0.4,&lt;br /&gt;
	[&#039;kwiat refrenusu&#039;] = 0.4,&lt;br /&gt;
	[&#039;łodyga refrenusu&#039;] = 0.4,&lt;br /&gt;
	[&#039;szkarłatne nylium&#039;] = 0.4,&lt;br /&gt;
	[&#039;drabina&#039;] = 0.4,&lt;br /&gt;
	[&#039;netherrack&#039;] = 0.4,&lt;br /&gt;
	[&#039;nylium&#039;] = 0.4,&lt;br /&gt;
	[&#039;spaczone nylium&#039;] = 0.4,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;gniazdo pszczół&#039;] = 0.3,&lt;br /&gt;
	[&#039;szkło&#039;] = 0.3,&lt;br /&gt;
	[&#039;szyba&#039;] = 0.3,&lt;br /&gt;
	[&#039;barwione szkło&#039;] = 0.3,&lt;br /&gt;
	[&#039;barwiona szyba&#039;] = 0.3,&lt;br /&gt;
	[&#039;jasnogłaz&#039;] = 0.3,&lt;br /&gt;
	[&#039;żabia lampa&#039;] = 0.3,&lt;br /&gt;
	[&#039;złocista żabia lampa&#039;] = 0.3,&lt;br /&gt;
	[&#039;perłowa żabia lampa&#039;] = 0.3,&lt;br /&gt;
	[&#039;zielenista żabia lampa&#039;] = 0.3,&lt;br /&gt;
	[&#039;lampa redstone&#039;] = 0.3,&lt;br /&gt;
	[&#039;latarnia morska&#039;] = 0.3,&lt;br /&gt;
	[&#039;przyciemnione szkło&#039;] = 0.3,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;sypki śnieg&#039;] = 0.25,&lt;br /&gt;
	[&#039;podejrzany blok&#039;] = 0.25,&lt;br /&gt;
	[&#039;podejrzany piasek&#039;] = 0.25,&lt;br /&gt;
	[&#039;podejrzany żwir&#039;] = 0.25,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;łóżko&#039;] = 0.2,&lt;br /&gt;
	[&#039;roślina kakao&#039;] = 0.2,&lt;br /&gt;
	[&#039;detektor światła dziennego&#039;] = 0.2,&lt;br /&gt;
	[&#039;świecący porost&#039;] = 0.2,&lt;br /&gt;
	[&#039;liście&#039;] = 0.2,&lt;br /&gt;
	[&#039;sculk&#039;] = 0.2,&lt;br /&gt;
	[&#039;żyły sculku&#039;] = 0.2,&lt;br /&gt;
	[&#039;blok śniegu&#039;] = 0.2,&lt;br /&gt;
	[&#039;pnącza&#039;] = 0.2,&lt;br /&gt;
	[&#039;blok muchomora&#039;] = 0.2,&lt;br /&gt;
	[&#039;blok borowika&#039;] = 0.2,&lt;br /&gt;
	[&#039;trzon grzyba&#039;] = 0.2,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;wielki spadkoliść&#039;] = 0.1,&lt;br /&gt;
	[&#039;łodyga wielkiego spadkoliścia&#039;] = 0.1,&lt;br /&gt;
	[&#039;świeca&#039;] = 0.1,&lt;br /&gt;
	[&#039;dywan&#039;] = 0.1,&lt;br /&gt;
	[&#039;blok mchu&#039;] = 0.1,&lt;br /&gt;
	[&#039;blok bladego mchu&#039;] = 0.1,&lt;br /&gt;
	[&#039;warstwa mchu&#039;] = 0.1,&lt;br /&gt;
	[&#039;warstwa bladego mchu&#039;] = 0.1,&lt;br /&gt;
	[&#039;śnieg&#039;] = 0.1,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;powietrze&#039;] = 0,&lt;br /&gt;
	[&#039;powietrze jaskiniowe&#039;] = 0,&lt;br /&gt;
	[&#039;próżniowe powietrze&#039;] = 0,&lt;br /&gt;
	[&#039;kolumna bąbelkowa&#039;] = 0,&lt;br /&gt;
	[&#039;sadzonka&#039;] = 0,&lt;br /&gt;
	[&#039;siewka namorzynu&#039;] = 0,&lt;br /&gt;
	[&#039;azalia&#039;] = 0,&lt;br /&gt;
	[&#039;kwitnąca azalia&#039;] = 0,&lt;br /&gt;
	[&#039;kwiaty&#039;] = 0,&lt;br /&gt;
	[&#039;czosnek&#039;] = 0,&lt;br /&gt;
	[&#039;houstonia błękitna&#039;] = 0,&lt;br /&gt;
	[&#039;chaber&#039;] = 0,&lt;br /&gt;
	[&#039;mlecz&#039;] = 0,&lt;br /&gt;
	[&#039;okrotka&#039;] = 0,&lt;br /&gt;
	[&#039;zamknięta okrotka&#039;] = 0,&lt;br /&gt;
	[&#039;otwarta okrotka&#039;] = 0,&lt;br /&gt;
	[&#039;bez&#039;] = 0,&lt;br /&gt;
	[&#039;konwalia&#039;] = 0,&lt;br /&gt;
	[&#039;witherowa róża&#039;] = 0,&lt;br /&gt;
	[&#039;niebieska orchidea&#039;] = 0,&lt;br /&gt;
	[&#039;krzew róży&#039;] = 0,&lt;br /&gt;
	[&#039;piwonia&#039;] = 0,&lt;br /&gt;
	[&#039;słonecznik&#039;] = 0,&lt;br /&gt;
	[&#039;mak&#039;] = 0,&lt;br /&gt;
	[&#039;margaretka&#039;] = 0,&lt;br /&gt;
	[&#039;tulipan&#039;] = 0,&lt;br /&gt;
	[&#039;czerwony tulipan&#039;] = 0,&lt;br /&gt;
	[&#039;różowy tulipan&#039;] = 0,&lt;br /&gt;
	[&#039;biały tulipan&#039;] = 0,&lt;br /&gt;
	[&#039;pomarańczowy tulipan&#039;] = 0,&lt;br /&gt;
	[&#039;dzbanecznik&#039;] = 0,&lt;br /&gt;
	[&#039;plon dzbanecznika&#039;] = 0,&lt;br /&gt;
	[&#039;strąk dzbanecznika&#039;] = 0,&lt;br /&gt;
	[&#039;ognisty kwiat&#039;] = 0,&lt;br /&gt;
	[&#039;nasiona ognistego kwiatu&#039;] = 0,&lt;br /&gt;
	[&#039;nasiona buraka&#039;] = 0,&lt;br /&gt;
	[&#039;nasiona dyni&#039;] = 0,&lt;br /&gt;
	[&#039;łodyga dyni&#039;] = 0,&lt;br /&gt;
	[&#039;nasiona arbuza&#039;] = 0,&lt;br /&gt;
	[&#039;łodyga arbuza&#039;] = 0,&lt;br /&gt;
	[&#039;marchewka&#039;] = 0,&lt;br /&gt;
	[&#039;nasiona pszenicy&#039;] = 0,&lt;br /&gt;
	[&#039;polne kwiaty&#039;] = 0,&lt;br /&gt;
	[&#039;różowe kwiatki&#039;] = 0,&lt;br /&gt;
	[&#039;krzew&#039;] = 0,&lt;br /&gt;
	[&#039;krzew świetlików&#039;] = 0,&lt;br /&gt;
	[&#039;uschnięty krzak&#039;] = 0,&lt;br /&gt;
	[&#039;kwiat kaktusa&#039;] = 0,&lt;br /&gt;
	[&#039;blok kamery&#039;] = 0,&lt;br /&gt;
	[&#039;jaskiniowe pnącza&#039;] = 0,&lt;br /&gt;
	[&#039;świecące jagody&#039;] = 0,&lt;br /&gt;
	[&#039;wyschnięty ghast&#039;] = 0,&lt;br /&gt;
	[&#039;dekorowany garniec&#039;] = 0,&lt;br /&gt;
	[&#039;endowy słupek&#039;] = 0,&lt;br /&gt;
	[&#039;ogień&#039;] = 0,&lt;br /&gt;
	[&#039;ogień dusz&#039;] = 0,&lt;br /&gt;
	[&#039;doniczka&#039;] = 0,&lt;br /&gt;
	[&#039;żabi skrzek&#039;] = 0,&lt;br /&gt;
	[&#039;paproć&#039;] = 0,&lt;br /&gt;
	[&#039;duża paproć&#039;] = 0,&lt;br /&gt;
	[&#039;trawa&#039;] = 0,&lt;br /&gt;
	[&#039;niska trawa&#039;] = 0,&lt;br /&gt;
	[&#039;wysoka trawa&#039;] = 0,&lt;br /&gt;
	[&#039;trawa_carried&#039;] = 0,&lt;br /&gt;
	[&#039;zielony krzak&#039;] = 0,&lt;br /&gt;
	[&#039;zwisające korzenie&#039;] = 0,&lt;br /&gt;
	[&#039;blok szlamu&#039;] = 0,&lt;br /&gt;
	[&#039;blok miodu&#039;] = 0,&lt;br /&gt;
	[&#039;blok żywicy&#039;] = 0,&lt;br /&gt;
	[&#039;wodorost&#039;] = 0,&lt;br /&gt;
	[&#039;ściółka&#039;] = 0,&lt;br /&gt;
	[&#039;liście_carried&#039;] = 0,&lt;br /&gt;
	[&#039;lilia wodna&#039;] = 0,&lt;br /&gt;
	[&#039;zablokowana skrzynia&#039;] = 0,&lt;br /&gt;
	[&#039;netherowe kiełki&#039;] = 0,&lt;br /&gt;
	[&#039;netherowa brodawka&#039;] = 0,&lt;br /&gt;
	[&#039;zwisający blady mech&#039;] = 0,&lt;br /&gt;
	[&#039;komparator redstone&#039;] = 0,&lt;br /&gt;
	[&#039;przekaźnik redstone&#039;] = 0,&lt;br /&gt;
	[&#039;pochodnia redstone&#039;] = 0,&lt;br /&gt;
	[&#039;przewód z redstone&#039;] = 0,&lt;br /&gt;
	[&#039;netherowe korzenie&#039;] = 0,&lt;br /&gt;
	[&#039;spaczone korzenie&#039;] = 0,&lt;br /&gt;
	[&#039;szkarłatne korzenie&#039;] = 0,&lt;br /&gt;
	[&#039;gruda żywicy&#039;] = 0,&lt;br /&gt;
	[&#039;rusztowanie&#039;] = 0,&lt;br /&gt;
	[&#039;iskrzyłuda&#039;] = 0,&lt;br /&gt;
	[&#039;trawa morska&#039;] = 0,&lt;br /&gt;
	[&#039;sucha trawa&#039;] = 0,&lt;br /&gt;
	[&#039;niska sucha trawa&#039;] = 0,&lt;br /&gt;
	[&#039;wysoka sucha trawa&#039;] = 0,&lt;br /&gt;
	[&#039;mały spadkoliść&#039;] = 0,&lt;br /&gt;
	[&#039;pylikwiat&#039;] = 0,&lt;br /&gt;
	[&#039;nić&#039;] = 0,&lt;br /&gt;
	[&#039;pustka strukturalna&#039;] = 0,&lt;br /&gt;
	[&#039;trzcina cukrowa&#039;] = 0,&lt;br /&gt;
	[&#039;krzak słodkich jagód&#039;] = 0,&lt;br /&gt;
	[&#039;tnt&#039;] = 0,&lt;br /&gt;
	[&#039;podwodne tnt&#039;] = 0,&lt;br /&gt;
	[&#039;pochodnia&#039;] = 0,&lt;br /&gt;
	[&#039;pochodnia dusz&#039;] = 0,&lt;br /&gt;
	[&#039;kolorowe pochodnie&#039;] = 0,&lt;br /&gt;
	[&#039;podwodna pochodnia&#039;] = 0,&lt;br /&gt;
	[&#039;pierwiastek chemiczny&#039;] = 0,&lt;br /&gt;
	[&#039;linka&#039;] = 0,&lt;br /&gt;
	[&#039;zaczep na linkę&#039;] = 0,&lt;br /&gt;
	[&#039;spaczone pnącza&#039;] = 0,&lt;br /&gt;
	[&#039;płaczące pnącza&#039;] = 0,&lt;br /&gt;
	[&#039;grzyb&#039;] = 0,&lt;br /&gt;
	[&#039;muchomor&#039;] = 0,&lt;br /&gt;
	[&#039;borowik&#039;] = 0,&lt;br /&gt;
	[&#039;netherowy grzyb&#039;] = 0,&lt;br /&gt;
	[&#039;spaczony grzyb&#039;] = 0,&lt;br /&gt;
	[&#039;szkarłatny grzyb&#039;] = 0,&lt;br /&gt;
	[&#039;nieznany&#039;] = 0,&lt;br /&gt;
	&lt;br /&gt;
-- Bloki niezniszczalne w trybie przetrwania i przygody --&lt;br /&gt;
	[&#039;bariera&#039;] = -1,&lt;br /&gt;
	[&#039;skała macierzysta&#039;] = -1,&lt;br /&gt;
	[&#039;łańcuchowy blok poleceń&#039;] = -1,&lt;br /&gt;
	[&#039;blok poleceń&#039;] = -1,&lt;br /&gt;
	[&#039;blok portalu bramy endu&#039;] = -1,&lt;br /&gt;
	[&#039;portal do endu&#039;] = -1,&lt;br /&gt;
	[&#039;rama portalu do endu&#039;] = -1,&lt;br /&gt;
	[&#039;blok konstrukcyjny&#039;] = -1,&lt;br /&gt;
	[&#039;blok światła&#039;] = -1,&lt;br /&gt;
	[&#039;poruszany blok&#039;] = -1,&lt;br /&gt;
	[&#039;netherowy portal&#039;] = -1,&lt;br /&gt;
	[&#039;powtarzający blok poleceń&#039;] = -1,&lt;br /&gt;
	[&#039;blok struktur&#039;] = -1,&lt;br /&gt;
	[&#039;blok testowy&#039;] = -1,&lt;br /&gt;
	[&#039;blok instancji testowej&#039;] = -1,&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Modu%C5%82:Twardo%C5%9B%C4%87_values&amp;diff=130326</id>
		<title>Moduł:Twardość values</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Modu%C5%82:Twardo%C5%9B%C4%87_values&amp;diff=130326"/>
		<updated>2026-01-23T14:18:35Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;return {&lt;br /&gt;
	--Od najwyższej twardości do najniższej.&lt;br /&gt;
	[&#039;lawa&#039;] = 100,&lt;br /&gt;
	[&#039;woda&#039;] = 100,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;zbrojony łupek&#039;] = 55,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;blok netherytu&#039;] = 50,&lt;br /&gt;
	[&#039;rozjarzony obsydian&#039;] = 50,&lt;br /&gt;
	[&#039;płaczący obsydian&#039;] = 50,&lt;br /&gt;
	[&#039;obsydian&#039;] = 50,&lt;br /&gt;
	[&#039;złowieszczy przyzywacz prób&#039;] = 50,&lt;br /&gt;
	[&#039;złowieszczy skarbiec&#039;] = 50,&lt;br /&gt;
	[&#039;kotwica odrodzenia&#039;] = 50,&lt;br /&gt;
	[&#039;przyzywacz prób&#039;] = 50,&lt;br /&gt;
	[&#039;skarbiec&#039;] = 50,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;pradawne zgliszcza&#039;] = 30,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;skrzynia endu&#039;] = 22,5,&lt;br /&gt;
&lt;br /&gt;
	[&#039;trzeszczące serce&#039;] = 10,&lt;br /&gt;
	[&#039;ciężki rdzeń&#039;] = 10,&lt;br /&gt;
&lt;br /&gt;
	[&#039;kowadło&#039;] = 5,&lt;br /&gt;
	[&#039;dzwon&#039;] = 5,&lt;br /&gt;
	[&#039;blok węgla&#039;] = 5,&lt;br /&gt;
	[&#039;blok diamentu&#039;] = 5,&lt;br /&gt;
	[&#039;blok szmaragdu&#039;] = 5,&lt;br /&gt;
	[&#039;blok żelaza&#039;] = 5,&lt;br /&gt;
	[&#039;blok rudy żelaza&#039;] = 5,&lt;br /&gt;
	[&#039;blok surowego złota&#039;] = 5,&lt;br /&gt;
	[&#039;blok rudy miedzi&#039;] = 5,&lt;br /&gt;
	[&#039;blok redstone&#039;] = 5,&lt;br /&gt;
	[&#039;łańcuch&#039;] = 5,&lt;br /&gt;
	[&#039;żelazny łańcuch&#039;] = 5,&lt;br /&gt;
	[&#039;miedziany łańcuch&#039;] = 5,&lt;br /&gt;
	[&#039;stół do zaklinania&#039;] = 5,&lt;br /&gt;
	[&#039;kraty&#039;] = 5,&lt;br /&gt;
	[&#039;żelazne kraty&#039;] = 5,&lt;br /&gt;
	[&#039;miedziane kraty&#039;] = 5,&lt;br /&gt;
	[&#039;żelazne drzwi&#039;] = 5,&lt;br /&gt;
	[&#039;żelazna klapa&#039;] = 5,&lt;br /&gt;
	[&#039;przyzywacz potworów&#039;] = 5,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;łupkowe złoże węgla&#039;] = 4,5,&lt;br /&gt;
	[&#039;łupkowe złoże miedzi&#039;] = 4,5,&lt;br /&gt;
	[&#039;łupkowe złoże diamentu&#039;] = 4,5,&lt;br /&gt;
	[&#039;łupkowe złoże szmaragdu&#039;] = 4,5,&lt;br /&gt;
	[&#039;łupkowe złoże złota&#039;] = 4,5,&lt;br /&gt;
	[&#039;łupkowe złoże żelaza&#039;] = 4,5,&lt;br /&gt;
	[&#039;łupkowe złoże lazurytu&#039;] = 4,5,&lt;br /&gt;
	[&#039;łupkowe złoże redstone&#039;] = 4,5,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;pajęczyna&#039;] = 4,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;piec hutniczy&#039;] = 3,5,&lt;br /&gt;
	[&#039;rzeźbiony łupek&#039;] = 3,5,&lt;br /&gt;
	[&#039;łupkowy bruk&#039;] = 3,5,&lt;br /&gt;
	[&#039;łupkowa brukowa płyta&#039;] = 3,5,&lt;br /&gt;
	[&#039;łupkowe brukowe schody&#039;] = 3,5,&lt;br /&gt;
	[&#039;łupkowy brukowy murek&#039;] = 3,5,&lt;br /&gt;
	[&#039;popękane łupkowe cegły&#039;] = 3,5,&lt;br /&gt;
  	[&#039;popękane łupkowe kafelki&#039;] = 3,5,&lt;br /&gt;
  	[&#039;łupkowa ceglana płyta&#039;] = 3,5,&lt;br /&gt;
  	[&#039;łupkowe ceglane schody&#039;] = 3,5,&lt;br /&gt;
  	[&#039;łupkowy ceglany murek&#039;] = 3,5,&lt;br /&gt;
   	[&#039;łupkowe cegły&#039;] = 3,5,&lt;br /&gt;
   	[&#039;łupkowe kafelki&#039;] = 3,5,&lt;br /&gt;
  	[&#039;łupkowa kafelkowa płyta&#039;] = 3,5,&lt;br /&gt;
  	[&#039;łupkowe kafelkowe schody&#039;] = 3,5,&lt;br /&gt;
  	[&#039;łupkowy kafelkowy murek&#039;] = 3,5,&lt;br /&gt;
  	[&#039;dozownik&#039;] = 3,5,&lt;br /&gt;
	[&#039;podajnik&#039;] = 3,5,&lt;br /&gt;
  	[&#039;piec&#039;] = 3,5,&lt;br /&gt;
	[&#039;latarnia&#039;] = 3,5,&lt;br /&gt;
	[&#039;latarnia dusz&#039;] = 3,5,&lt;br /&gt;
	[&#039;miedziana latarnia&#039;] = 3,5,&lt;br /&gt;
	[&#039;magnetyt&#039;] = 3,5,&lt;br /&gt;
	[&#039;wypolerowany łupek&#039;] = 3,5,&lt;br /&gt;
	[&#039;wypolerowana łupkowa płyta&#039;] = 3,5,&lt;br /&gt;
	[&#039;wypolerowane łupkowe schody&#039;] = 3,5,&lt;br /&gt;
	[&#039;wypolerowany łupkowy murek&#039;] = 3,5,&lt;br /&gt;
	[&#039;wędzarka&#039;] = 3,5,&lt;br /&gt;
	[&#039;przecinarka&#039;] = 3,5,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;magiczna latarnia&#039;] = 3,&lt;br /&gt;
	[&#039;blok złota&#039;] = 3,&lt;br /&gt;
	[&#039;blok lazurytu&#039;] = 3,&lt;br /&gt;
	[&#039;blok miedzi&#039;] = 3,&lt;br /&gt;
	[&#039;złoże węgla&#039;] = 3,&lt;br /&gt;
	[&#039;rdzeń reaktora netheru&#039;] = 3,&lt;br /&gt;
	[&#039;przewodnia&#039;] = 3,&lt;br /&gt;
	[&#039;blok miedzi&#039;] = 3,&lt;br /&gt;
	[&#039;miedziana skrzynia&#039;] = 3,&lt;br /&gt;
	[&#039;miedziana krata&#039;] = 3,&lt;br /&gt;
	[&#039;miedziane drzwi&#039;] = 3,&lt;br /&gt;
	[&#039;miedziana klapa&#039;] = 3,&lt;br /&gt;
	[&#039;miedziana lampa&#039;] = 3,&lt;br /&gt;
	[&#039;złoże miedzi&#039;] = 3,&lt;br /&gt;
	[&#039;rzeźbiona miedź&#039;] = 3,&lt;br /&gt;
	[&#039;żłobiona miedź&#039;] = 3,&lt;br /&gt;
	[&#039;żłobiona miedziana płyta&#039;] = 3,&lt;br /&gt;
	[&#039;żłobione miedziane schody&#039;] = 3,&lt;br /&gt;
	[&#039;łupek&#039;] = 3,&lt;br /&gt;
	[&#039;złoże diamentu&#039;] = 3,&lt;br /&gt;
	[&#039;smocze jajo&#039;] = 3,&lt;br /&gt;
	[&#039;złoże szmaragdu&#039;] = 3,&lt;br /&gt;
	[&#039;kamień endu&#039;] = 3,&lt;br /&gt;
	[&#039;endowa kamienna ceglana płyta&#039;] = 3,&lt;br /&gt;
	[&#039;endowe kamienne ceglane schody&#039;] = 3,&lt;br /&gt;
	[&#039;endowy kamienny ceglany murek&#039;] = 3,&lt;br /&gt;
	[&#039;endowe kamienne cegły&#039;] = 3,&lt;br /&gt;
	[&#039;złoto&#039;] = 3,&lt;br /&gt;
	[&#039;złoże złota&#039;] = 3,&lt;br /&gt;
	[&#039;lej&#039;] = 3,&lt;br /&gt;
	[&#039;złoże żelaza&#039;] = 3,&lt;br /&gt;
	[&#039;złoże lazurytu&#039;] = 3,&lt;br /&gt;
	[&#039;piorunochron&#039;] = 3,&lt;br /&gt;
	[&#039;netherowe złoże złota&#039;] = 3,&lt;br /&gt;
	[&#039;złoże netherowego kwarcu&#039;] = 3,&lt;br /&gt;
	[&#039;drewniane drzwi&#039;] = 3,&lt;br /&gt;
	[&#039;drewniana klapa&#039;] = 3,&lt;br /&gt;
	[&#039;detektor&#039;] = 3,&lt;br /&gt;
	[&#039;złoże redstone&#039;] = 3,&lt;br /&gt;
	[&#039;sculkowy katalizator&#039;] = 3,&lt;br /&gt;
	[&#039;sculkowe wrzeszczydło&#039;] = 3,&lt;br /&gt;
	[&#039;posąg miedzianego golema&#039;] = 3,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;niebieski lód lodowcowy&#039;] = 2,8,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;beczka&#039;] = 2,5,&lt;br /&gt;
	[&#039;stół kartograficzny&#039;] = 2,5,&lt;br /&gt;
	[&#039;skrzynia&#039;] = 2,5,&lt;br /&gt;
	[&#039;stół rzemieślniczy&#039;] = 2,5,&lt;br /&gt;
	[&#039;stół łuczarski&#039;] = 2,5,&lt;br /&gt;
	[&#039;krosno&#039;] = 2,5,&lt;br /&gt;
	[&#039;stół kowalski&#039;] = 2,5,&lt;br /&gt;
	[&#039;pulpit&#039;] = 2,5,&lt;br /&gt;
	[&#039;skrzynia-pułapka&#039;] = 2,5,&lt;br /&gt;
	[&#039;analizator materiałów&#039;] = 2,5,&lt;br /&gt;
	[&#039;blok ciepła&#039;] = 2,5,&lt;br /&gt;
	[&#039;stół laboratoryjny&#039;] = 2,5,&lt;br /&gt;
	[&#039;syntezator pierwiastków&#039;] = 2,5,&lt;br /&gt;
	[&#039;syntezator związków&#039;] = 2,5,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;bambusowa mozaika&#039;] = 2,&lt;br /&gt;
	[&#039;bambusowe mozaikowe schody&#039;] = 2,&lt;br /&gt;
	[&#039;bambusowa mozaikowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;czernitowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;blok bambusu&#039;] = 2,&lt;br /&gt;
	[&#039;blok ociosanego bambusu&#039;] = 2,&lt;br /&gt;
	[&#039;blok kości&#039;] = 2,&lt;br /&gt;
	[&#039;ceglana płyta&#039;] = 2,&lt;br /&gt;
	[&#039;ceglane schody&#039;] = 2,&lt;br /&gt;
	[&#039;ceglany murek&#039;] = 2,&lt;br /&gt;
	[&#039;cegły&#039;] = 2,&lt;br /&gt;
	[&#039;ognisko&#039;] = 2,&lt;br /&gt;
	[&#039;kocioł&#039;] = 2,&lt;br /&gt;
	[&#039;rzeźbione netherowe cegły&#039;] = 2,&lt;br /&gt;
	[&#039;bruk&#039;] = 2,&lt;br /&gt;
	[&#039;brukowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;brukowe schody&#039;] = 2,&lt;br /&gt;
	[&#039;brukowy murek&#039;] = 2,&lt;br /&gt;
	[&#039;popękane netherowe cegły&#039;] = 2,&lt;br /&gt;
	[&#039;przycięta czerwona piaskowcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;przycięta piaskowcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;kamień szlifierski&#039;] = 2,&lt;br /&gt;
	[&#039;szafa grająca&#039;] = 2,&lt;br /&gt;
	[&#039;zamszony bruk&#039;] = 2,&lt;br /&gt;
	[&#039;zamszona brukowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;zamszone brukowe schody&#039;] = 2,&lt;br /&gt;
	[&#039;zamszony brukowy murek&#039;] = 2,&lt;br /&gt;
	[&#039;netherowy ceglany płot&#039;] = 2,&lt;br /&gt;
	[&#039;netherowa ceglana płyta&#039;] = 2,&lt;br /&gt;
	[&#039;netherowe ceglane schody&#039;] = 2,&lt;br /&gt;
	[&#039;netherowy ceglany murek&#039;] = 2,&lt;br /&gt;
	[&#039;netherowe cegły&#039;] = 2,&lt;br /&gt;
	[&#039;skamieniała dębowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;pień&#039;] = 2,&lt;br /&gt;
	[&#039;ociosany pień&#039;] = 2,&lt;br /&gt;
	[&#039;drewno&#039;] = 2,&lt;br /&gt;
	[&#039;ociosane drewno&#039;] = 2,&lt;br /&gt;
	[&#039;deski&#039;] = 2,&lt;br /&gt;
	[&#039;płot&#039;] = 2,&lt;br /&gt;
	[&#039;drewniany płot&#039;] = 2,&lt;br /&gt;
	[&#039;furtka&#039;] = 2,&lt;br /&gt;
	[&#039;półka&#039;] = 2,&lt;br /&gt;
	[&#039;wypolerowany czernit&#039;] = 2,&lt;br /&gt;
	[&#039;wypolerowana czernitowa ceglana płyta&#039;] = 2,&lt;br /&gt;
	[&#039;wypolerowana czernitowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;wypolerowane czernitowe schody&#039;] = 2,&lt;br /&gt;
	[&#039;wypolerowany czernitowy murek&#039;] = 2,&lt;br /&gt;
	[&#039;purpurowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;kwarcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;czerwona netherowa ceglana płyta&#039;] = 2,&lt;br /&gt;
	[&#039;czerwone netherowe ceglane schody&#039;] = 2,&lt;br /&gt;
	[&#039;czerwony netherowy ceglany murek&#039;] = 2,&lt;br /&gt;
	[&#039;czerwone netherowe cegły&#039;] = 2,&lt;br /&gt;
	[&#039;czerwona piaskowcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;piaskowcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;shulkerowa skrzynia&#039;] = 2,&lt;br /&gt;
	[&#039;gładki blok kwarcu&#039;] = 2,&lt;br /&gt;
	[&#039;gładka kwarcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;gładkie kwarcowe schody&#039;] = 2,&lt;br /&gt;
	[&#039;gładki czerwony piaskowiec&#039;] = 2,&lt;br /&gt;
	[&#039;gładka czerwona piaskowcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;gładkie czerwone piaskowcowe schody&#039;] = 2,&lt;br /&gt;
	[&#039;gładki piaskowiec&#039;] = 2,&lt;br /&gt;
	[&#039;gładka piaskowcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;gładkie piaskowcowe schody&#039;] = 2,&lt;br /&gt;
	[&#039;gładki kamień&#039;] = 2,&lt;br /&gt;
	[&#039;gładka kamienna płyta&#039;] = 2,&lt;br /&gt;
	[&#039;ognisko dusz&#039;] = 2,&lt;br /&gt;
	[&#039;kamienna płyta&#039;] = 2,&lt;br /&gt;
	[&#039;kamienna ceglana płyta&#039;] = 2,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;beton&#039;] = 1,8,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;zarodek ametystu&#039;] = 1,5,&lt;br /&gt;
  	[&#039;skupisko ametystu&#039;] = 1,5,&lt;br /&gt;
	[&#039;andezyt&#039;] = 1,5,&lt;br /&gt;
  	[&#039;andezytowa płyta&#039;] = 1,5,&lt;br /&gt;
  	[&#039;andezytowe schody&#039;] = 1,5,&lt;br /&gt;
  	[&#039;andezytowy murek&#039;] = 1,5,&lt;br /&gt;
  	[&#039;czernit&#039;] = 1,5,&lt;br /&gt;
  	[&#039;czernitowe schody&#039;] = 1,5,&lt;br /&gt;
  	[&#039;czernitowy murek&#039;] = 1,5,&lt;br /&gt;
  	[&#039;blok ametystu&#039;] = 1,5,&lt;br /&gt;
  	[&#039;bloki koralowca&#039;] = 1,5,&lt;br /&gt;
	[&#039;biblioteczka&#039;] = 1,5,&lt;br /&gt;
	[&#039;kiełkujący ametyst&#039;] = 1,5,&lt;br /&gt;
	[&#039;skalibrowany sculkowy czujnik&#039;] = 1,5,&lt;br /&gt;
	[&#039;rzeźbiona biblioteczka&#039;] = 1,5,&lt;br /&gt;
  	[&#039;rzeźbiony wypolerowany czernit&#039;] = 1,5,&lt;br /&gt;
  	[&#039;rzeźbione żywicowe cegły&#039;] = 1,5,&lt;br /&gt;
  	[&#039;rzeźbione kamienne cegły&#039;] = 1,5,&lt;br /&gt;
	[&#039;rzeźbiony tuf&#039;] = 1,5,&lt;br /&gt;
	[&#039;rzeźbione tufowe cegły&#039;] = 1,5,&lt;br /&gt;
  	[&#039;popękane wypolerowane czernitowe cegły&#039;] = 1,5,&lt;br /&gt;
  	[&#039;popękane kamienne cegły&#039;] = 1,5,&lt;br /&gt;
  	[&#039;wytwarzacz&#039;] = 1,5,&lt;br /&gt;
	[&#039;ciemny pryzmaryn&#039;] = 1,5,&lt;br /&gt;
  	[&#039;ciemna pryzmarynowa płyta&#039;] = 1,5,&lt;br /&gt;
  	[&#039;ciemne pryzmarynowe schody&#039;] = 1,5,&lt;br /&gt;
	[&#039;dioryt&#039;] = 1,5,&lt;br /&gt;
  	[&#039;diorytowa płyta&#039;] = 1,5,&lt;br /&gt;
  	[&#039;diorytowe schody&#039;] = 1,5,&lt;br /&gt;
  	[&#039;diorytowy murek&#039;] = 1,5,&lt;br /&gt;
  	[&#039;blok nacieku&#039;] = 1,5,&lt;br /&gt;
  	[&#039;złocony czernit&#039;] = 1,5,&lt;br /&gt;
	[&#039;granit&#039;] = 1,5,&lt;br /&gt;
  	[&#039;granitowa płyta&#039;] = 1,5,&lt;br /&gt;
  	[&#039;granitowe schody&#039;] = 1,5,&lt;br /&gt;
  	[&#039;granitowy murek&#039;] = 1,5,&lt;br /&gt;
	[&#039;zarobaczony łupek&#039;] = 1,5,&lt;br /&gt;
	[&#039;duży zarodek ametystu&#039;] = 1,5,&lt;br /&gt;
	[&#039;średni zarodek ametystu&#039;] = 1,5,&lt;br /&gt;
  	[&#039;zamszona kamienna ceglana płyta&#039;] = 1,5,&lt;br /&gt;
  	[&#039;zamszone kamienne ceglane schody&#039;] = 1,5,&lt;br /&gt;
  	[&#039;zamszony kamienny ceglany murek&#039;] = 1,5,&lt;br /&gt;
  	[&#039;zamszone kamienne cegły&#039;] = 1,5,&lt;br /&gt;
	[&#039;błotna ceglana płyta&#039;] = 1,5,&lt;br /&gt;
  	[&#039;błotne ceglane schody&#039;] = 1,5,&lt;br /&gt;
  	[&#039;błotny ceglany murek&#039;] = 1,5,&lt;br /&gt;
  	[&#039;błotne cegły&#039;] = 1,5,&lt;br /&gt;
  	[&#039;tłok&#039;] = 1,5,&lt;br /&gt;
	[&#039;głowica tłoka&#039;] = 1,5,&lt;br /&gt;
	[&#039;spiczasty naciek&#039;] = 1,5,&lt;br /&gt;
	[&#039;wypolerowany andezyt&#039;] = 1,5,&lt;br /&gt;
  	[&#039;wypolerowana andezytowa płyta&#039;] = 1,5,&lt;br /&gt;
  	[&#039;wypolerowane andezytowe schody&#039;] = 1,5,&lt;br /&gt;
  	[&#039;wypolerowane czernitowe ceglane schody&#039;] = 1,5,&lt;br /&gt;
  	[&#039;wypolerowany czernitowy ceglany murek&#039;] = 1,5,&lt;br /&gt;
  	[&#039;wypolerowane czernitowe cegły&#039;] = 1,5,&lt;br /&gt;
	[&#039;wypolerowany dioryt&#039;] = 1,5,&lt;br /&gt;
  	[&#039;wypolerowana diorytowa płyta&#039;] = 1,5,&lt;br /&gt;
    [&#039;wypolerowane diorytowe schody&#039;] = 1,5,&lt;br /&gt;
	[&#039;wypolerowany granit&#039;] = 1,5,&lt;br /&gt;
  	[&#039;wypolerowana granitowa płyta&#039;] = 1,5,&lt;br /&gt;
  	[&#039;wypolerowane granitowe schody&#039;] = 1,5,&lt;br /&gt;
	[&#039;wypolerowany tuf&#039;] = 1,5,&lt;br /&gt;
	[&#039;wypolerowana tufowa płyta&#039;] = 1,5,&lt;br /&gt;
	[&#039;wypolerowane tufowe schody&#039;] = 1,5,&lt;br /&gt;
	[&#039;wypolerowany tufowy murek&#039;] = 1,5,&lt;br /&gt;
	[&#039;pryzmaryn&#039;] = 1,5,&lt;br /&gt;
  	[&#039;pryzmarynowa ceglana płyta&#039;] = 1,5,&lt;br /&gt;
  	[&#039;pryzmarynowe ceglane schody&#039;] = 1,5,&lt;br /&gt;
	[&#039;pryzmarynowe cegły&#039;] = 1,5,&lt;br /&gt;
  	[&#039;pryzmarynowa płyta&#039;] = 1,5,&lt;br /&gt;
  	[&#039;pryzmarynowe schody&#039;] = 1,5,&lt;br /&gt;
  	[&#039;pryzmarynowy murek&#039;] = 1,5,&lt;br /&gt;
	[&#039;blok purpuru&#039;] = 1,5,&lt;br /&gt;
	[&#039;purpurowy filar&#039;] = 1,5,&lt;br /&gt;
  	[&#039;purpurowe schody&#039;] = 1,5,&lt;br /&gt;
  	[&#039;żywicowa ceglana płyta&#039;] = 1,5,&lt;br /&gt;
  	[&#039;żywicowe ceglane schody&#039;] = 1,5,&lt;br /&gt;
  	[&#039;żywicowy ceglany murek&#039;] = 1,5,&lt;br /&gt;
	[&#039;żywicowe cegły&#039;] = 1,5,&lt;br /&gt;
  	[&#039;sculkowy czujnik&#039;] = 1,5,&lt;br /&gt;
  	[&#039;mały zarodek ametystu&#039;] = 1,5,&lt;br /&gt;
	[&#039;gładkie kamienne cegły&#039;] = 1,5,&lt;br /&gt;
	[&#039;lepki tłok&#039;] = 1,5,&lt;br /&gt;
	[&#039;kamień&#039;] = 1,5,&lt;br /&gt;
	[&#039;kamienne ceglane schody&#039;] = 1,5,&lt;br /&gt;
	[&#039;kamienny ceglany murek&#039;] = 1,5,&lt;br /&gt;
	[&#039;kamienne cegły&#039;] = 1,5,&lt;br /&gt;
  	[&#039;kamienne schody&#039;] = 1,5,&lt;br /&gt;
	[&#039;tuf&#039;] = 1,5,&lt;br /&gt;
	[&#039;tufowe cegły&#039;] = 1,5,&lt;br /&gt;
	[&#039;tufowa ceglana płyta&#039;] = 1,5,&lt;br /&gt;
	[&#039;tufowe ceglane schody&#039;] = 1,5,&lt;br /&gt;
	[&#039;tufowy ceglany murek&#039;] = 1,5,&lt;br /&gt;
	[&#039;tufowa płyta&#039;] = 1,5,&lt;br /&gt;
	[&#039;tufowe schody&#039;] = 1,5,&lt;br /&gt;
	[&#039;tufowy murek&#039;] = 1,5,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;glazurowana terakota&#039;] = 1,4,&lt;br /&gt;
&lt;br /&gt;
	[&#039;bazalt&#039;] = 1,25,&lt;br /&gt;
	[&#039;wypolerowany bazalt&#039;] = 1,25,&lt;br /&gt;
	[&#039;gładki bazalt&#039;] = 1,25,&lt;br /&gt;
	[&#039;terakota&#039;] = 1,25,&lt;br /&gt;
	[&#039;barwiona terakota&#039;] = 1,25,&lt;br /&gt;
		&lt;br /&gt;
	[&#039;bambus&#039;] = 1,&lt;br /&gt;
	[&#039;pęd bambusa&#039;] = 1,&lt;br /&gt;
	[&#039;sztandar&#039;] = 1,&lt;br /&gt;
	[&#039;wykrawana dynia&#039;] = 1,&lt;br /&gt;
	[&#039;głowa creepera&#039;] = 1,&lt;br /&gt;
	[&#039;głowa smoka&#039;] = 1,&lt;br /&gt;
	[&#039;głowa&#039;] = 1,&lt;br /&gt;
	[&#039;zarobaczony bruk&#039;] = 1,&lt;br /&gt;
	[&amp;quot;latarnia dyniowa&amp;quot;] = 1,&lt;br /&gt;
	[&#039;arbuz&#039;] = 1,&lt;br /&gt;
	[&#039;blok netherowych brodawek&#039;] = 1,&lt;br /&gt;
	[&#039;złowieszczy sztandar&#039;] = 1,&lt;br /&gt;
	[&#039;utwardzone błoto&#039;] = 1,&lt;br /&gt;
	[&#039;głowa piglina&#039;] = 1,&lt;br /&gt;
	[&#039;głowa gracza&#039;] = 1,&lt;br /&gt;
	[&#039;dynia&#039;] = 1,&lt;br /&gt;
	[&#039;światłogrzyb&#039;] = 1,&lt;br /&gt;
	[&#039;tabliczka&#039;] = 1,&lt;br /&gt;
	[&#039;podwieszana tabliczka&#039;] = 1,&lt;br /&gt;
	[&#039;czaszka szkieleta&#039;] = 1,&lt;br /&gt;
	[&#039;blok spaczonych brodawek&#039;] = 1,&lt;br /&gt;
	[&#039;czaszka witherowego szkieleta&#039;] = 1,&lt;br /&gt;
	[&#039;głowa zombie&#039;] = 1,&lt;br /&gt;
&lt;br /&gt;
	[&#039;blok kwarcu&#039;] = 0,8,&lt;br /&gt;
	[&#039;rzeźbiony czerwony piaskowiec&#039;] = 0,8,&lt;br /&gt;
	[&#039;rzeźbiony piaskowiec&#039;] = 0,8,&lt;br /&gt;
	[&#039;przycięty czerwony piaskowiec&#039;] = 0,8,&lt;br /&gt;
	[&#039;przycięty piaskowiec&#039;] = 0,8,&lt;br /&gt;
	[&#039;blok dźwiękowy&#039;] = 0,8,&lt;br /&gt;
	[&#039;rzeźbiony blok kwarcu&#039;] = 0,8,&lt;br /&gt;
	[&#039;kwarcowe cegły&#039;] = 0,8,&lt;br /&gt;
	[&#039;kwarcowy filar&#039;] = 0,8,&lt;br /&gt;
	[&#039;kwarcowe schody&#039;] = 0,8,&lt;br /&gt;
	[&#039;czerwony piaskowiec&#039;] = 0,8,&lt;br /&gt;
	[&#039;czerwone piaskowcowe schody&#039;] = 0,8,&lt;br /&gt;
	[&#039;czerwony piaskowcowy murek&#039;] = 0,8,&lt;br /&gt;
	[&#039;piaskowiec&#039;] = 0,8,&lt;br /&gt;
	[&#039;piaskowcowe schody&#039;] = 0,8,&lt;br /&gt;
	[&#039;piaskowcowy murek&#039;] = 0,8,&lt;br /&gt;
	[&#039;wełna&#039;] = 0,8,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;kalcyt&#039;] = 0,75,&lt;br /&gt;
	[&#039;zarobaczony kamień&#039;] = 0,75,&lt;br /&gt;
	[&#039;zarobaczone kamienne cegły&#039;] = 0,75,&lt;br /&gt;
	[&#039;zarobaczone popękane kamienne cegły&#039;] = 0,75,&lt;br /&gt;
	[&#039;zarobaczone zamszone kamienne cegły&#039;] = 0,75,&lt;br /&gt;
	[&#039;zarobaczone rzeźbione kamienne cegły&#039;] = 0,75,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;tory aktywacyjne&#039;] = 0,7,&lt;br /&gt;
	[&#039;tory z czujnikiem&#039;] = 0,7,&lt;br /&gt;
	[&#039;namorzynowe korzenie&#039;] = 0,7,&lt;br /&gt;
	[&#039;zabłocone namorzynowe korzenie&#039;] = 0,7,&lt;br /&gt;
	[&#039;zasilane tory&#039;] = 0,7,&lt;br /&gt;
	[&#039;tory&#039;] = 0,7,&lt;br /&gt;
&lt;br /&gt;
	[&#039;ścieżka&#039;] = 0,65,&lt;br /&gt;
	[&#039;zatrucie&#039;] = 0,65,&lt;br /&gt;
&lt;br /&gt;
	[&#039;ul&#039;] = 0,6,&lt;br /&gt;
	[&#039;glina&#039;] = 0,6,&lt;br /&gt;
	[&#039;kompostownik&#039;] = 0,6,&lt;br /&gt;
	[&#039;pole uprawne&#039;] = 0,6,&lt;br /&gt;
	[&#039;blok trawy&#039;] = 0,6,&lt;br /&gt;
	[&#039;żwir&#039;] = 0,6,&lt;br /&gt;
	[&#039;gravtater&#039;] = 0,6,&lt;br /&gt;
	[&#039;blok plastra miodu&#039;] = 0,6,&lt;br /&gt;
	[&#039;grzybnia&#039;] = 0,6,&lt;br /&gt;
	[&#039;peelgrass&#039;] = 0,6,&lt;br /&gt;
	[&#039;trujące pole uprawne&#039;] = 0,6,&lt;br /&gt;
	[&#039;gąbka&#039;] = 0,6,&lt;br /&gt;
	[&#039;mokra gąbka&#039;] = 0,6,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;statyw alchemiczny&#039;] = 0,5,&lt;br /&gt;
	[&#039;przycisk&#039;] = 0,5,&lt;br /&gt;
	[&#039;drewniany przycisk&#039;] = 0,5,&lt;br /&gt;
	[&#039;kamienny przycisk&#039;] = 0,5,&lt;br /&gt;
	[&#039;wypolerowany czernitowy przycisk&#039;] = 0,5,&lt;br /&gt;
	[&#039;ciasto&#039;] = 0,5,&lt;br /&gt;
	[&#039;cement&#039;] = 0,5,&lt;br /&gt;
	[&#039;blok suszonych wodorostów&#039;] = 0,5,&lt;br /&gt;
	[&#039;snop siana&#039;] = 0,5,&lt;br /&gt;
	[&#039;płytka naciskowa&#039;] = 0,5,&lt;br /&gt;
	[&#039;drewniana płytka naciskowa&#039;] = 0,5,&lt;br /&gt;
	[&#039;kamienna płytka naciskowa&#039;] = 0,5,&lt;br /&gt;
	[&#039;wypolerowana czernitowa płytka naciskowa&#039;] = 0,5,&lt;br /&gt;
	[&#039;wagowa płytka naciskowa&#039;] = 0,5,&lt;br /&gt;
	[&#039;ciężka wagowa płytka naciskowa&#039;] = 0,5,&lt;br /&gt;
	[&#039;lekka wagowa płytka naciskowa&#039;] = 0,5,&lt;br /&gt;
	[&#039;lód&#039;] = 0,5,&lt;br /&gt;
	[&#039;oszroniony lód&#039;] = 0,5,&lt;br /&gt;
	[&#039;zbity lód&#039;] = 0,5,&lt;br /&gt;
	[&#039;dźwignia&#039;] = 0,5,&lt;br /&gt;
	[&#039;blok magmy&#039;] = 0,5,&lt;br /&gt;
	[&#039;błoto&#039;] = 0,5,&lt;br /&gt;
	[&#039;ziemia&#039;] = 0,5,&lt;br /&gt;
	[&#039;bielica&#039;] = 0,5,&lt;br /&gt;
	[&#039;zakorzeniona ziemia&#039;] = 0,5,&lt;br /&gt;
	[&#039;twarda ziemia&#039;] = 0,5,&lt;br /&gt;
	[&#039;piasek&#039;] = 0,5,&lt;br /&gt;
	[&#039;czerwony piasek&#039;] = 0,5,&lt;br /&gt;
	[&#039;piasek dusz&#039;] = 0,5,&lt;br /&gt;
	[&#039;gleba dusz&#039;] = 0,5,&lt;br /&gt;
	[&#039;tarcza strzelecka&#039;] = 0,5,&lt;br /&gt;
	[&#039;terre de pomme&#039;] = 0,5,&lt;br /&gt;
	[&#039;żółwie jajko&#039;] = 0,5,&lt;br /&gt;
	[&#039;jajo niuchacza&#039;] = 0,5,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;kaktus&#039;] = 0,4,&lt;br /&gt;
	[&#039;kwiat refrenusu&#039;] = 0,4,&lt;br /&gt;
	[&#039;łodyga refrenusu&#039;] = 0,4,&lt;br /&gt;
	[&#039;szkarłatne nylium&#039;] = 0,4,&lt;br /&gt;
	[&#039;drabina&#039;] = 0,4,&lt;br /&gt;
	[&#039;netherrack&#039;] = 0,4,&lt;br /&gt;
	[&#039;nylium&#039;] = 0,4,&lt;br /&gt;
	[&#039;spaczone nylium&#039;] = 0,4,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;gniazdo pszczół&#039;] = 0,3,&lt;br /&gt;
	[&#039;szkło&#039;] = 0,3,&lt;br /&gt;
	[&#039;szyba&#039;] = 0,3,&lt;br /&gt;
	[&#039;barwione szkło&#039;] = 0,3,&lt;br /&gt;
	[&#039;barwiona szyba&#039;] = 0,3,&lt;br /&gt;
	[&#039;jasnogłaz&#039;] = 0,3,&lt;br /&gt;
	[&#039;żabia lampa&#039;] = 0,3,&lt;br /&gt;
	[&#039;złocista żabia lampa&#039;] = 0,3,&lt;br /&gt;
	[&#039;perłowa żabia lampa&#039;] = 0,3,&lt;br /&gt;
	[&#039;zielenista żabia lampa&#039;] = 0,3,&lt;br /&gt;
	[&#039;lampa redstone&#039;] = 0,3,&lt;br /&gt;
	[&#039;latarnia morska&#039;] = 0,3,&lt;br /&gt;
	[&#039;przyciemnione szkło&#039;] = 0,3,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;sypki śnieg&#039;] = 0,25,&lt;br /&gt;
	[&#039;podejrzany blok&#039;] = 0,25,&lt;br /&gt;
	[&#039;podejrzany piasek&#039;] = 0,25,&lt;br /&gt;
	[&#039;podejrzany żwir&#039;] = 0,25,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;łóżko&#039;] = 0,2,&lt;br /&gt;
	[&#039;roślina kakao&#039;] = 0,2,&lt;br /&gt;
	[&#039;detektor światła dziennego&#039;] = 0,2,&lt;br /&gt;
	[&#039;świecący porost&#039;] = 0,2,&lt;br /&gt;
	[&#039;liście&#039;] = 0,2,&lt;br /&gt;
	[&#039;sculk&#039;] = 0,2,&lt;br /&gt;
	[&#039;żyły sculku&#039;] = 0,2,&lt;br /&gt;
	[&#039;blok śniegu&#039;] = 0,2,&lt;br /&gt;
	[&#039;pnącza&#039;] = 0,2,&lt;br /&gt;
	[&#039;blok muchomora&#039;] = 0,2,&lt;br /&gt;
	[&#039;blok borowika&#039;] = 0,2,&lt;br /&gt;
	[&#039;trzon grzyba&#039;] = 0,2,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;wielki spadkoliść&#039;] = 0,1,&lt;br /&gt;
	[&#039;łodyga wielkiego spadkoliścia&#039;] = 0,1,&lt;br /&gt;
	[&#039;świeca&#039;] = 0,1,&lt;br /&gt;
	[&#039;dywan&#039;] = 0,1,&lt;br /&gt;
	[&#039;blok mchu&#039;] = 0,1,&lt;br /&gt;
	[&#039;blok bladego mchu&#039;] = 0,1,&lt;br /&gt;
	[&#039;warstwa mchu&#039;] = 0,1,&lt;br /&gt;
	[&#039;warstwa bladego mchu&#039;] = 0,1,&lt;br /&gt;
	[&#039;śnieg&#039;] = 0,1,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;powietrze&#039;] = 0,&lt;br /&gt;
	[&#039;powietrze jaskiniowe&#039;] = 0,&lt;br /&gt;
	[&#039;próżniowe powietrze&#039;] = 0,&lt;br /&gt;
	[&#039;kolumna bąbelkowa&#039;] = 0,&lt;br /&gt;
	[&#039;sadzonka&#039;] = 0,&lt;br /&gt;
	[&#039;siewka namorzynu&#039;] = 0,&lt;br /&gt;
	[&#039;azalia&#039;] = 0,&lt;br /&gt;
	[&#039;kwitnąca azalia&#039;] = 0,&lt;br /&gt;
	[&#039;kwiaty&#039;] = 0,&lt;br /&gt;
	[&#039;czosnek&#039;] = 0,&lt;br /&gt;
	[&#039;houstonia błękitna&#039;] = 0,&lt;br /&gt;
	[&#039;chaber&#039;] = 0,&lt;br /&gt;
	[&#039;mlecz&#039;] = 0,&lt;br /&gt;
	[&#039;okrotka&#039;] = 0,&lt;br /&gt;
	[&#039;zamknięta okrotka&#039;] = 0,&lt;br /&gt;
	[&#039;otwarta okrotka&#039;] = 0,&lt;br /&gt;
	[&#039;bez&#039;] = 0,&lt;br /&gt;
	[&#039;konwalia&#039;] = 0,&lt;br /&gt;
	[&#039;witherowa róża&#039;] = 0,&lt;br /&gt;
	[&#039;niebieska orchidea&#039;] = 0,&lt;br /&gt;
	[&#039;krzew róży&#039;] = 0,&lt;br /&gt;
	[&#039;piwonia&#039;] = 0,&lt;br /&gt;
	[&#039;słonecznik&#039;] = 0,&lt;br /&gt;
	[&#039;mak&#039;] = 0,&lt;br /&gt;
	[&#039;margaretka&#039;] = 0,&lt;br /&gt;
	[&#039;tulipan&#039;] = 0,&lt;br /&gt;
	[&#039;czerwony tulipan&#039;] = 0,&lt;br /&gt;
	[&#039;różowy tulipan&#039;] = 0,&lt;br /&gt;
	[&#039;biały tulipan&#039;] = 0,&lt;br /&gt;
	[&#039;pomarańczowy tulipan&#039;] = 0,&lt;br /&gt;
	[&#039;dzbanecznik&#039;] = 0,&lt;br /&gt;
	[&#039;plon dzbanecznika&#039;] = 0,&lt;br /&gt;
	[&#039;strąk dzbanecznika&#039;] = 0,&lt;br /&gt;
	[&#039;ognisty kwiat&#039;] = 0,&lt;br /&gt;
	[&#039;nasiona ognistego kwiatu&#039;] = 0,&lt;br /&gt;
	[&#039;nasiona buraka&#039;] = 0,&lt;br /&gt;
	[&#039;nasiona dyni&#039;] = 0,&lt;br /&gt;
	[&#039;łodyga dyni&#039;] = 0,&lt;br /&gt;
	[&#039;nasiona arbuza&#039;] = 0,&lt;br /&gt;
	[&#039;łodyga arbuza&#039;] = 0,&lt;br /&gt;
	[&#039;marchewka&#039;] = 0,&lt;br /&gt;
	[&#039;nasiona pszenicy&#039;] = 0,&lt;br /&gt;
	[&#039;polne kwiaty&#039;] = 0,&lt;br /&gt;
	[&#039;różowe kwiatki&#039;] = 0,&lt;br /&gt;
	[&#039;krzew&#039;] = 0,&lt;br /&gt;
	[&#039;krzew świetlików&#039;] = 0,&lt;br /&gt;
	[&#039;uschnięty krzak&#039;] = 0,&lt;br /&gt;
	[&#039;kwiat kaktusa&#039;] = 0,&lt;br /&gt;
	[&#039;blok kamery&#039;] = 0,&lt;br /&gt;
	[&#039;jaskiniowe pnącza&#039;] = 0,&lt;br /&gt;
	[&#039;świecące jagody&#039;] = 0,&lt;br /&gt;
	[&#039;wyschnięty ghast&#039;] = 0,&lt;br /&gt;
	[&#039;dekorowany garniec&#039;] = 0,&lt;br /&gt;
	[&#039;endowy słupek&#039;] = 0,&lt;br /&gt;
	[&#039;ogień&#039;] = 0,&lt;br /&gt;
	[&#039;ogień dusz&#039;] = 0,&lt;br /&gt;
	[&#039;doniczka&#039;] = 0,&lt;br /&gt;
	[&#039;żabi skrzek&#039;] = 0,&lt;br /&gt;
	[&#039;paproć&#039;] = 0,&lt;br /&gt;
	[&#039;duża paproć&#039;] = 0,&lt;br /&gt;
	[&#039;trawa&#039;] = 0,&lt;br /&gt;
	[&#039;niska trawa&#039;] = 0,&lt;br /&gt;
	[&#039;wysoka trawa&#039;] = 0,&lt;br /&gt;
	[&#039;trawa_carried&#039;] = 0,&lt;br /&gt;
	[&#039;zielony krzak&#039;] = 0,&lt;br /&gt;
	[&#039;zwisające korzenie&#039;] = 0,&lt;br /&gt;
	[&#039;blok szlamu&#039;] = 0,&lt;br /&gt;
	[&#039;blok miodu&#039;] = 0,&lt;br /&gt;
	[&#039;blok żywicy&#039;] = 0,&lt;br /&gt;
	[&#039;wodorost&#039;] = 0,&lt;br /&gt;
	[&#039;ściółka&#039;] = 0,&lt;br /&gt;
	[&#039;liście_carried&#039;] = 0,&lt;br /&gt;
	[&#039;lilia wodna&#039;] = 0,&lt;br /&gt;
	[&#039;zablokowana skrzynia&#039;] = 0,&lt;br /&gt;
	[&#039;netherowe kiełki&#039;] = 0,&lt;br /&gt;
	[&#039;netherowa brodawka&#039;] = 0,&lt;br /&gt;
	[&#039;zwisający blady mech&#039;] = 0,&lt;br /&gt;
	[&#039;komparator redstone&#039;] = 0,&lt;br /&gt;
	[&#039;przekaźnik redstone&#039;] = 0,&lt;br /&gt;
	[&#039;pochodnia redstone&#039;] = 0,&lt;br /&gt;
	[&#039;przewód z redstone&#039;] = 0,&lt;br /&gt;
	[&#039;netherowe korzenie&#039;] = 0,&lt;br /&gt;
	[&#039;spaczone korzenie&#039;] = 0,&lt;br /&gt;
	[&#039;szkarłatne korzenie&#039;] = 0,&lt;br /&gt;
	[&#039;gruda żywicy&#039;] = 0,&lt;br /&gt;
	[&#039;rusztowanie&#039;] = 0,&lt;br /&gt;
	[&#039;iskrzyłuda&#039;] = 0,&lt;br /&gt;
	[&#039;trawa morska&#039;] = 0,&lt;br /&gt;
	[&#039;sucha trawa&#039;] = 0,&lt;br /&gt;
	[&#039;niska sucha trawa&#039;] = 0,&lt;br /&gt;
	[&#039;wysoka sucha trawa&#039;] = 0,&lt;br /&gt;
	[&#039;mały spadkoliść&#039;] = 0,&lt;br /&gt;
	[&#039;pylikwiat&#039;] = 0,&lt;br /&gt;
	[&#039;nić&#039;] = 0,&lt;br /&gt;
	[&#039;pustka strukturalna&#039;] = 0,&lt;br /&gt;
	[&#039;trzcina cukrowa&#039;] = 0,&lt;br /&gt;
	[&#039;krzak słodkich jagód&#039;] = 0,&lt;br /&gt;
	[&#039;tnt&#039;] = 0,&lt;br /&gt;
	[&#039;podwodne tnt&#039;] = 0,&lt;br /&gt;
	[&#039;pochodnia&#039;] = 0,&lt;br /&gt;
	[&#039;pochodnia dusz&#039;] = 0,&lt;br /&gt;
	[&#039;kolorowe pochodnie&#039;] = 0,&lt;br /&gt;
	[&#039;podwodna pochodnia&#039;] = 0,&lt;br /&gt;
	[&#039;pierwiastek chemiczny&#039;] = 0,&lt;br /&gt;
	[&#039;linka&#039;] = 0,&lt;br /&gt;
	[&#039;zaczep na linkę&#039;] = 0,&lt;br /&gt;
	[&#039;spaczone pnącza&#039;] = 0,&lt;br /&gt;
	[&#039;płaczące pnącza&#039;] = 0,&lt;br /&gt;
	[&#039;grzyb&#039;] = 0,&lt;br /&gt;
	[&#039;muchomor&#039;] = 0,&lt;br /&gt;
	[&#039;borowik&#039;] = 0,&lt;br /&gt;
	[&#039;netherowy grzyb&#039;] = 0,&lt;br /&gt;
	[&#039;spaczony grzyb&#039;] = 0,&lt;br /&gt;
	[&#039;szkarłatny grzyb&#039;] = 0,&lt;br /&gt;
	[&#039;nieznany&#039;] = 0,&lt;br /&gt;
	&lt;br /&gt;
-- Bloki niezniszczalne w trybie przetrwania i przygody --&lt;br /&gt;
	[&#039;bariera&#039;] = -1,&lt;br /&gt;
	[&#039;skała macierzysta&#039;] = -1,&lt;br /&gt;
	[&#039;łańcuchowy blok poleceń&#039;] = -1,&lt;br /&gt;
	[&#039;blok poleceń&#039;] = -1,&lt;br /&gt;
	[&#039;blok portalu bramy endu&#039;] = -1,&lt;br /&gt;
	[&#039;portal do endu&#039;] = -1,&lt;br /&gt;
	[&#039;rama portalu do endu&#039;] = -1,&lt;br /&gt;
	[&#039;blok konstrukcyjny&#039;] = -1,&lt;br /&gt;
	[&#039;blok światła&#039;] = -1,&lt;br /&gt;
	[&#039;poruszany blok&#039;] = -1,&lt;br /&gt;
	[&#039;netherowy portal&#039;] = -1,&lt;br /&gt;
	[&#039;powtarzający blok poleceń&#039;] = -1,&lt;br /&gt;
	[&#039;blok struktur&#039;] = -1,&lt;br /&gt;
	[&#039;blok testowy&#039;] = -1,&lt;br /&gt;
	[&#039;blok instancji testowej&#039;] = -1,&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Modu%C5%82:Breaking_row&amp;diff=126213</id>
		<title>Moduł:Breaking row</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Modu%C5%82:Breaking_row&amp;diff=126213"/>
		<updated>2025-10-27T18:02:40Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {}&lt;br /&gt;
local polish = mw.language.new(&#039;pl&#039;)&lt;br /&gt;
&lt;br /&gt;
local breakingTimeHeader;&lt;br /&gt;
local function getBreakingTimeHeader( f )&lt;br /&gt;
	if breakingTimeHeader == nil then&lt;br /&gt;
		breakingTimeHeader = &#039;Czas wydobycia (sekundy)&#039; .. f:preprocess( &#039;&amp;lt;ref group=&amp;quot;FN&amp;quot; name=&amp;quot;breakingtimenote&amp;quot;&amp;gt;Czasy nie biorą pod uwagę [[Zaklinanie|zaklęć]], [[efekt]]ów i innych czynników, jak np. zanurzenie w wodzie.&amp;lt;/ref&amp;gt;&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	return breakingTimeHeader&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function p.row( f )&lt;br /&gt;
	local args = require( [[Moduł:ProcessArgs]] ).norm()&lt;br /&gt;
	&lt;br /&gt;
	local function getDplVar( var )&lt;br /&gt;
		local val = f:callParserFunction( &#039;#dplvar&#039;, &#039;breaking &#039; .. var )&lt;br /&gt;
		if val == &#039;&#039; then&lt;br /&gt;
			val = false&lt;br /&gt;
		end&lt;br /&gt;
		return val&lt;br /&gt;
	end&lt;br /&gt;
	local dplVars = {}&lt;br /&gt;
	local function setDplVar( var, val )&lt;br /&gt;
		table.insert( dplVars, &#039;breaking &#039; .. var )&lt;br /&gt;
		table.insert( dplVars, val or &#039;1&#039; )&lt;br /&gt;
	end&lt;br /&gt;
		&lt;br /&gt;
	local rows = {}&lt;br /&gt;
	local tableParts = {}&lt;br /&gt;
	local categories = {}&lt;br /&gt;
	local showOptions = false&lt;br /&gt;
	&lt;br /&gt;
	local horizontal&lt;br /&gt;
	if args[&#039;horyzontalny&#039;] or args[1]:match( &#039;;&#039; ) then&lt;br /&gt;
		horizontal = true&lt;br /&gt;
	end&lt;br /&gt;
	local showTool = true&lt;br /&gt;
	local showShears = true&lt;br /&gt;
	local showSword = true&lt;br /&gt;
	local header, sortable, simple&lt;br /&gt;
	if horizontal or not getDplVar( &#039;header&#039; ) then&lt;br /&gt;
		if args.hidetool or horizontal and ( not args[2] or args[2]:lower() == &#039;dowolny&#039; or args[2]:lower() == &#039;brak&#039; ) then&lt;br /&gt;
			showTool = false&lt;br /&gt;
			setDplVar( &#039;hidetool&#039; )&lt;br /&gt;
    		breakingTimeHeader = &#039;Czas wydobycia (sekundy)&#039;&lt;br /&gt;
		end&lt;br /&gt;
		if args.hideshears or horizontal and not args[&#039;nożyce&#039;] then&lt;br /&gt;
			showShears = false&lt;br /&gt;
			setDplVar( &#039;hideshears&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		if args.hidesword or horizontal and not args[&#039;miecz&#039;] then&lt;br /&gt;
			showSword = false&lt;br /&gt;
			setDplVar( &#039;hidesword&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		sortable = not horizontal and args.sort&lt;br /&gt;
		if sortable then&lt;br /&gt;
			setDplVar( &#039;sortable&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		simple = args.simple&lt;br /&gt;
		if simple and not horizontal then&lt;br /&gt;
			setDplVar( &#039;simple&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local tableClasses = { &#039;wikitable&#039; }&lt;br /&gt;
		if sortable then&lt;br /&gt;
			table.insert( tableClasses, &#039;sortable&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039; {| class=&amp;quot;&#039; .. table.concat( tableClasses, &#039; &#039; ) .. &#039;&amp;quot; style=&amp;quot;text-align: center; margin: 0;&amp;quot;&#039; )&lt;br /&gt;
		&lt;br /&gt;
		local sortType = &#039;&#039;&lt;br /&gt;
		if sortable then&lt;br /&gt;
			sortType = &#039;data-sort-type=&amp;quot;number&amp;quot;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		local rowspan = &#039;&#039;&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			rowspan = &#039;rowspan=&amp;quot;2&amp;quot; &#039;&lt;br /&gt;
		end&lt;br /&gt;
		header = {&lt;br /&gt;
			&#039;! &#039; .. rowspan .. &#039; | Blok&#039;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		if not simple then&lt;br /&gt;
			table.insert( header, &#039;! &#039; .. rowspan .. sortType .. &#039; | Twardość&#039; )&lt;br /&gt;
			if showTool then&lt;br /&gt;
				table.insert( header, &#039;! &#039; .. rowspan .. &#039; | Narzędzie&#039; )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local toolColumns = {}&lt;br /&gt;
		if showTool then&lt;br /&gt;
			toolColumns = { &#039;Drewniany&#039;, &#039;Kamienny&#039;, &#039;Miedziany&#039;, &#039;Żelazny&#039;, &#039;Diamentowy&#039;, &#039;Netherytowy&#039;, &#039;Złoty&#039;}&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( toolColumns, 1, &#039;Domyślne&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if not simple then&lt;br /&gt;
			if showShears then&lt;br /&gt;
				table.insert( toolColumns, &#039;Nożyce&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if showSword then&lt;br /&gt;
				table.insert( toolColumns, &#039;Miecz&#039; )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			table.insert( header, &#039;! colspan=&amp;quot;&#039; .. #toolColumns .. &#039;&amp;quot; |&#039; .. getBreakingTimeHeader( f ) )&lt;br /&gt;
			table.insert( header, &#039;|-&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local toolSprites = {&lt;br /&gt;
			[&#039;Drewniany&#039;] = { &#039;Block&#039;, &#039;dębowe-deski&#039; },&lt;br /&gt;
			[&#039;Kamienny&#039;] = { &#039;Block&#039;, &#039;bruk&#039; },&lt;br /&gt;
			[&#039;Miedziany&#039;] = { &#039;Item&#039;, &#039;sztabka-miedzi&#039; },&lt;br /&gt;
			[&#039;Żelazny&#039;] = { &#039;Item&#039;, &#039;sztabka-żelaza&#039; },&lt;br /&gt;
			[&#039;Diamentowy&#039;] = { &#039;Item&#039;, &#039;diament&#039; },&lt;br /&gt;
			[&#039;Netherytowy&#039;] = { &#039;Item&#039;, &#039;sztabka-netherytu&#039; },&lt;br /&gt;
			[&#039;Złoty&#039;] = { &#039;Item&#039;, &#039;sztabka-złota&#039; },&lt;br /&gt;
			[&#039;Nożyce&#039;] = { &#039;Item&#039;, &#039;nożyce&#039; },&lt;br /&gt;
			[&#039;Miecz&#039;] = { &#039;Item&#039;, &#039;drewniany-miecz&#039; }&lt;br /&gt;
		}&lt;br /&gt;
		for _, tool in ipairs( toolColumns ) do&lt;br /&gt;
			if toolSprites[tool] then&lt;br /&gt;
				local image = f:expandTemplate({title = toolSprites[tool][1]..&#039;Sprite&#039;, args = {[&#039;1&#039;]=toolSprites[tool][2]}}).. &#039; &#039; .. tool&lt;br /&gt;
				table.insert( header, &#039;! style=&amp;quot;text-align:left&amp;quot; &#039; .. sortType .. &#039; | &#039; .. image )&lt;br /&gt;
				table.insert( categories, spriteCat )&lt;br /&gt;
			else&lt;br /&gt;
				table.insert( header, &#039;! &#039; .. sortType .. &#039; | &#039; .. tool )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			header = table.concat( header, &#039;\n&#039; )&lt;br /&gt;
			setDplVar( &#039;header&#039;, header )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( tableParts, header )&lt;br /&gt;
	else&lt;br /&gt;
		showTool = not getDplVar( &#039;hidetool&#039; )&lt;br /&gt;
		showShears = not getDplVar( &#039;hideshears&#039; )&lt;br /&gt;
		showSword = not getDplVar( &#039;hidesword&#039; )&lt;br /&gt;
		sortable = getDplVar( &#039;sortable&#039; )&lt;br /&gt;
		simple = getDplVar( &#039;simple&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local hardness = require( [[Moduł:Block value]] ).value&lt;br /&gt;
	&lt;br /&gt;
	local function fillCells( cellsTable, text, num )&lt;br /&gt;
		for i = 1, num do&lt;br /&gt;
			table.insert( cellsTable, text )&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local materialGrade = {&lt;br /&gt;
		Any = 0,&lt;br /&gt;
		Wooden = 1, Wood = 1,&lt;br /&gt;
		Golden = 1,&lt;br /&gt;
		Stone = 2,&lt;br /&gt;
		Copper = 2,&lt;br /&gt;
		Iron = 3,&lt;br /&gt;
		Diamond = 4,&lt;br /&gt;
        Netherite = 5,&lt;br /&gt;
		None = 6,&lt;br /&gt;
		[&#039;Dowolny&#039;] = 0,&lt;br /&gt;
		[&#039;Drewniany&#039;] = 1, [&#039;Drewniana&#039;] = 1,&lt;br /&gt;
		[&#039;Złoty&#039;] = 1, [&#039;Złota&#039;] = 1,&lt;br /&gt;
		[&#039;Kamienny&#039;] = 2, [&#039;Kamienna&#039;] = 2,&lt;br /&gt;
		[&#039;Miedziany&#039;] = 2, [&#039;Miedziana&#039;] = 2,&lt;br /&gt;
		[&#039;Żelazny&#039;] = 3, [&#039;Żelazna&#039;] = 3,&lt;br /&gt;
		[&#039;Diamentowy&#039;] = 4, [&#039;Diamentowa&#039;] = 4,&lt;br /&gt;
        [&#039;Netherytowy&#039;] = 5, [&#039;Netherytowa&#039;] = 5,&lt;br /&gt;
		[&#039;Brak&#039;] = 6&lt;br /&gt;
	}&lt;br /&gt;
	local materialSpeed = {&lt;br /&gt;
		None = 1,&lt;br /&gt;
		Any = 1,&lt;br /&gt;
		Wooden = 2, Wood = 2,&lt;br /&gt;
		Stone = 4,&lt;br /&gt;
		Copper = 5,&lt;br /&gt;
		Iron = 6,&lt;br /&gt;
		Diamond = 8,&lt;br /&gt;
        Netherite = 9,&lt;br /&gt;
		Golden = 12,&lt;br /&gt;
		[&#039;Dowolny&#039;] = 1,&lt;br /&gt;
		[&#039;Drewniany&#039;] = 2, [&#039;Drewnianf&#039;] = 2,&lt;br /&gt;
		[&#039;Złoty&#039;] = 12, [&#039;Złota&#039;] = 12,&lt;br /&gt;
		[&#039;Kamienny&#039;] = 4, [&#039;Kamienna&#039;] = 4,&lt;br /&gt;
		[&#039;Miedziany&#039;] = 5, [&#039;Miedziana&#039;] = 5,&lt;br /&gt;
		[&#039;Żelazny&#039;] = 6, [&#039;Żelazna&#039;] = 6,&lt;br /&gt;
		[&#039;Diamentowy&#039;] = 8, [&#039;Diamentowa&#039;] = 8,&lt;br /&gt;
        [&#039;Netherytowy&#039;] = 9, [&#039;Netherytowa&#039;] = 9,&lt;br /&gt;
		[&#039;Brak&#039;] = 1&lt;br /&gt;
	}&lt;br /&gt;
	local numberMaterials = 6&lt;br /&gt;
	&lt;br /&gt;
	local function insertBlock( blockArgs, horizontal )&lt;br /&gt;
		local cells = {}&lt;br /&gt;
		local blocks = mw.text.split( blockArgs[1], &#039;%s*,%s*&#039; )&lt;br /&gt;
		local hardnessVal = tonumber( hardness{ blocks[1], type = &#039;Twardość&#039; } )&lt;br /&gt;
		if not hardnessVal then&lt;br /&gt;
			hardnessVal = &#039;?&#039;&lt;br /&gt;
			local title = mw.title.getCurrentTitle()&lt;br /&gt;
			if title.namespace == 0 and not title.isSubpage then&lt;br /&gt;
				table.insert(categories, &#039;[[Kategoria:Brakująca twardość]]&#039;)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		local unbreakable&lt;br /&gt;
		if hardnessVal == -1 or blockArgs.liquid then&lt;br /&gt;
			unbreakable = true&lt;br /&gt;
		elseif hardnessVal ~= 0 then&lt;br /&gt;
			showOptions = true&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local blockSprites = {}&lt;br /&gt;
		local links = mw.text.split( blockArgs.link or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		local ids = mw.text.split( blockArgs.sprite or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		local items = mw.text.split( blockArgs.item or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		for i, block in ipairs( blocks ) do&lt;br /&gt;
			local link&lt;br /&gt;
			if not links[i] and links[1] ~= &#039;&#039; then&lt;br /&gt;
				link = links[1]&lt;br /&gt;
			elseif links[i] ~= &#039;&#039; then&lt;br /&gt;
				link = links[i]&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			local id&lt;br /&gt;
			if not ids[i] and ids[1] ~= &#039;&#039; then&lt;br /&gt;
				id = ids[1]&lt;br /&gt;
			elseif ids[i] ~= &#039;&#039; then&lt;br /&gt;
				id = ids[i]&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			local blockText&lt;br /&gt;
			if args.textTrim then&lt;br /&gt;
				blockText = block:gsub( args.textTrim .. &#039;$&#039;, &#039;&#039; )&lt;br /&gt;
			else&lt;br /&gt;
				blockText = block&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			if (link == nil or link == &#039;&#039;) and horizontal then&lt;br /&gt;
				link = &#039;brak&#039;&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			local image = f:expandTemplate({title=&#039;BlockLink&#039;, args = {[&#039;1&#039;]=block,text=blockText,[&#039;2&#039;]=link,id=id}})&lt;br /&gt;
			table.insert( blockSprites, image )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( cells,&lt;br /&gt;
			&#039;!&#039; .. (horizontal and &#039;&#039; or &#039; style=&amp;quot;text-align:left&amp;quot; | &#039;) .. table.concat( blockSprites, &#039;&amp;lt;br&amp;gt;&#039; ) .. ( blockArgs.note or &#039;&#039; )&lt;br /&gt;
		)&lt;br /&gt;
		&lt;br /&gt;
		local tool = mw.text.trim( simple and &#039;Narzędzie&#039; or blockArgs[2] or &#039;Dowolny&#039; ):gsub( &#039;^%l&#039;, string.upper )&lt;br /&gt;
		local material = mw.text.trim( simple and blockArgs[2] or blockArgs[3] or &#039;Dowolny&#039; ):gsub( &#039;^%l&#039;, string.upper )&lt;br /&gt;
		if tool == &#039;Brak&#039; then&lt;br /&gt;
			material = tool&lt;br /&gt;
		end&lt;br /&gt;
		if not simple then&lt;br /&gt;
			local hardnessText = hardnessVal&lt;br /&gt;
			if hardnessVal == -1 then&lt;br /&gt;
				hardnessText = ( sortable and &#039;data-sort-value=&amp;quot;9999&amp;quot; | &#039; or &#039;&#039; ) .. &amp;quot;&amp;amp;#45;1 (infinite)&amp;quot;&lt;br /&gt;
			end&lt;br /&gt;
			table.insert( cells, &#039;|&#039; .. hardnessText )&lt;br /&gt;
			&lt;br /&gt;
			if showTool then&lt;br /&gt;
				local toolCell = &#039;—&#039;&lt;br /&gt;
				if tool ~= &#039;Dowolny&#039; and tool ~= &#039;Brak&#039; then&lt;br /&gt;
					if material == &#039;Wood&#039; then&lt;br /&gt;
						material = &#039;Wooden&#039;&lt;br /&gt;
					end&lt;br /&gt;
					local isMaterialSpecified = (material ~= &#039;Dowolny&#039;) and (material ~= &#039;Brak&#039;)&lt;br /&gt;
					local toolName = polish:lc(( isMaterialSpecified and material .. &#039;-&#039; or &#039;&#039; ) .. tool)&lt;br /&gt;
					local toolSpriteName = ( (isMaterialSpecified) and &#039;&#039; or &#039;&#039; ) .. toolName&lt;br /&gt;
					local image = f:expandTemplate({title=&#039;ItemSprite&#039;, args = {[&#039;1&#039;]=toolSpriteName,title=toolName,link=tool,keepcase = not isMaterialSpecified}})&lt;br /&gt;
					&lt;br /&gt;
					toolCell = ( sortable and &#039;data-sort-value=&amp;quot;&#039; .. toolName .. &#039;&amp;quot; |&#039; or &#039;&#039; ) .. image&lt;br /&gt;
					table.insert( categories, spriteCat )&lt;br /&gt;
				end&lt;br /&gt;
				table.insert( cells, &#039;|&#039; .. toolCell )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local choices = {}&lt;br /&gt;
		local function getChoice( choice, text )&lt;br /&gt;
			if not choices[choice] then&lt;br /&gt;
				choices[choice] = f:expandTemplate{ title = &#039;Tc&#039;, args = { choice, &#039;&#039; } }&lt;br /&gt;
			end&lt;br /&gt;
			return choices[choice] .. text&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local function processTime( actualHardness, baseSpeed, tool )&lt;br /&gt;
			-- the number passed in has been multiplied by 100&lt;br /&gt;
			local num = actualHardness / baseSpeed&lt;br /&gt;
			if num &amp;lt;= 5 then	   -- Blocks with a breaking time &amp;lt;= 1 game tick (0.05 seconds) are instant mined (no delay after each block broken)&lt;br /&gt;
				num = &amp;quot;&#039;&#039;0.05&#039;&#039;&amp;quot;    -- Blocks have a minimum breaking time of 1 game tick&lt;br /&gt;
			else					-- And they must be broken in multiples of 1 game tick&lt;br /&gt;
				num = math.ceil( num / 5 ) / 20&lt;br /&gt;
			end&lt;br /&gt;
			return num&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if hardnessVal == &#039;?&#039; then&lt;br /&gt;
			fillCells( cells, &#039;|?&#039;, numberMaterials + 1 )&lt;br /&gt;
		else&lt;br /&gt;
			if unbreakable then&lt;br /&gt;
				table.insert( cells, &#039;| &#039; .. ( sortable and &#039;data-sort-value=&amp;quot;9999&amp;quot; &#039; or &#039;&#039; ) .. getChoice( &#039;nie&#039;, &#039;∞&#039; ) )&lt;br /&gt;
				if showTool then&lt;br /&gt;
					fillCells( cells, &#039;|—&#039;, numberMaterials )&lt;br /&gt;
				end&lt;br /&gt;
			else&lt;br /&gt;
				local drop = &#039;tak&#039;&lt;br /&gt;
				local forceDrop = false&lt;br /&gt;
				if blockArgs[&#039;łupy&#039;] == &#039;0&#039; then&lt;br /&gt;
					drop = &#039;częściowo&#039;&lt;br /&gt;
				elseif blockArgs[&#039;łupy&#039;] == &#039;1&#039; then&lt;br /&gt;
					forceDrop = &#039;tak&#039;&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				local requiredLevel = unbreakable and 999 or materialGrade[material]&lt;br /&gt;
				local function insertMaterialCell( material )&lt;br /&gt;
					local shouldDrop = drop&lt;br /&gt;
					if materialGrade[material] &amp;lt; requiredLevel then&lt;br /&gt;
						shouldDrop = &#039;nie&#039;&lt;br /&gt;
					end&lt;br /&gt;
					-- prevent float number precision loss, multiply by 100 and divide it in processTime function&lt;br /&gt;
					local breakTime = processTime( hardnessVal * (shouldDrop == &#039;nie&#039; and 500 or 150), materialSpeed[material], material )&lt;br /&gt;
					table.insert( cells, &#039;|&#039; .. getChoice( forceDrop or shouldDrop, breakTime ) )&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				if not showTool or tool == &#039;Any&#039; or tool == &#039;None&#039; then&lt;br /&gt;
					insertMaterialCell( &#039;Any&#039; )&lt;br /&gt;
					if showTool then&lt;br /&gt;
						fillCells( cells, &#039;|—&#039;, numberMaterials )&lt;br /&gt;
					end&lt;br /&gt;
				else&lt;br /&gt;
					for _, material in ipairs{ &#039;Any&#039;, &#039;Wooden&#039;, &#039;Stone&#039;, &#039;Copper&#039;, &#039;Iron&#039;, &#039;Diamond&#039;, &#039;Netherite&#039;, &#039;Golden&#039; } do&lt;br /&gt;
						insertMaterialCell( material )&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not simple and ( showShears or showSword ) then&lt;br /&gt;
			local tools = {}&lt;br /&gt;
			if showShears then&lt;br /&gt;
				table.insert( tools, &#039;Nożyce&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if showSword then&lt;br /&gt;
				table.insert( tools, &#039;Miecz&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if hardnessVal == &#039;?&#039; then&lt;br /&gt;
				fillCells( cells, &#039;|?&#039;, #tools )&lt;br /&gt;
			else&lt;br /&gt;
				local toolSpeed = {&lt;br /&gt;
					[&#039;Nożyce&#039;] = 1,&lt;br /&gt;
					[&#039;Miecz&#039;] = 1.5&lt;br /&gt;
				}&lt;br /&gt;
				if blocks[1] == &#039;Wełna&#039; then&lt;br /&gt;
					toolSpeed[&#039;Nożyce&#039;] = 5&lt;br /&gt;
				elseif blocks[1] == &#039;Liście&#039; then&lt;br /&gt;
					toolSpeed[&#039;Nożyce&#039;] = 15&lt;br /&gt;
				elseif blocks[1] == &#039;Pajęczyna&#039; then&lt;br /&gt;
					toolSpeed[&#039;Miecz&#039;] = 15&lt;br /&gt;
					toolSpeed[&#039;Nożyce&#039;] = 15&lt;br /&gt;
				elseif blocks[1] == &#039;Bambus&#039; or blocks[1] == &#039;Pęd bambusu&#039; then&lt;br /&gt;
					toolSpeed[&#039;Miecz&#039;] = 5000&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				for _, tool in ipairs( tools ) do&lt;br /&gt;
					local toolDrop = blockArgs[mw.ustring.lower( tool )]&lt;br /&gt;
					if not toolDrop then&lt;br /&gt;
						table.insert( cells, &#039;|—&#039; )&lt;br /&gt;
					else&lt;br /&gt;
						local willDrop = &#039;tak&#039;&lt;br /&gt;
						if toolDrop == &#039;0&#039; then&lt;br /&gt;
							willDrop = &#039;częściowo&#039;&lt;br /&gt;
						end&lt;br /&gt;
						-- prevent float number precision loss, multiply by 100 and divide it in processTime function&lt;br /&gt;
						local breakTime = processTime( hardnessVal * 150, toolSpeed[tool], tool )&lt;br /&gt;
						table.insert( cells, &#039;|&#039; .. getChoice( willDrop, breakTime ) )&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			cells = table.concat( cells, &#039;\n&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( tableParts, cells )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if horizontal then&lt;br /&gt;
		local blocksArgs = {}&lt;br /&gt;
		for _, arg in ipairs{ 1, &#039;note&#039;, &#039;sprite&#039;, &#039;link&#039;, &#039;item&#039;, &#039;łupy&#039;, 2, 3, &#039;nożyce&#039;, &#039;miecz&#039; } do&lt;br /&gt;
			if args[arg] then&lt;br /&gt;
				local col = 0&lt;br /&gt;
				for colVal in mw.text.gsplit( args[arg], &#039;%s*;%s*&#039; ) do&lt;br /&gt;
					col = col + 1&lt;br /&gt;
					if colVal ~= &#039;&#039; then&lt;br /&gt;
						if not blocksArgs[col] then&lt;br /&gt;
							blocksArgs[col] = {}&lt;br /&gt;
						end&lt;br /&gt;
						&lt;br /&gt;
						blocksArgs[col][arg] = colVal&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		for _, block in ipairs( blocksArgs ) do&lt;br /&gt;
			insertBlock( block, true )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local columns = #tableParts&lt;br /&gt;
		for row = 1, #tableParts[1] do&lt;br /&gt;
			local cells = {}&lt;br /&gt;
			for col = 1, columns do&lt;br /&gt;
				table.insert( cells, tableParts[col][row] )&lt;br /&gt;
			end&lt;br /&gt;
			table.insert( rows, table.concat( cells, &#039;\n&#039; ) )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- Insert breaking time header after block row when simple, or after tool or hardness row when not&lt;br /&gt;
		table.insert( rows, simple and 3 or showTool and 5 or 4, &#039;! colspan=&amp;quot;&#039; .. columns + 1 .. &#039;&amp;quot; |&#039; .. getBreakingTimeHeader( f ) )&lt;br /&gt;
	else&lt;br /&gt;
		insertBlock( args, false )&lt;br /&gt;
		for _, row in ipairs( tableParts ) do&lt;br /&gt;
			table.insert( rows, row )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039;&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local note = &#039;&#039;&lt;br /&gt;
	if args.foot or horizontal then&lt;br /&gt;
		note = f:preprocess( &#039;&amp;lt;references group=&amp;quot;FN&amp;quot;/&amp;gt;&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if args.foot == &#039;2&#039; then&lt;br /&gt;
			table.insert( rows, header or getDplVar( &#039;header&#039; ) )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039;|}&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			f:callParserFunction( &#039;#dplvar:set&#039;,&lt;br /&gt;
				&#039;breaking header&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hidetool&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hideshears&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hidesword&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking simple&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking sortable&#039;, &#039;&#039;&lt;br /&gt;
			)&lt;br /&gt;
		end&lt;br /&gt;
	elseif #dplVars &amp;gt; 0 then&lt;br /&gt;
		f:callParserFunction( &#039;#dplvar:set&#039;, dplVars )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local result = table.concat( rows, &#039;\n|-\n&#039; )&lt;br /&gt;
	return result .. note .. table.concat( categories )&lt;br /&gt;
end&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Z%C5%82o%C5%BCe_%C5%BCelaza&amp;diff=126200</id>
		<title>Złoże żelaza</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Z%C5%82o%C5%BCe_%C5%BCelaza&amp;diff=126200"/>
		<updated>2025-10-26T22:10:38Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: /* Wydobywanie */ poprawiono linki&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{o|złożu|sztabki|Sztabka żelaza|bloku|Blok żelaza}}&lt;br /&gt;
{{Blok&lt;br /&gt;
|wygląd=Złoże żelaza.png&lt;br /&gt;
|wygląd2=Łupkowe złoże żelaza.png&lt;br /&gt;
|invwygląd=Złoże żelaza&lt;br /&gt;
|invwygląd2=Łupkowe złoże żelaza&lt;br /&gt;
|typ=Złoże&lt;br /&gt;
|fizyka=Nie&lt;br /&gt;
|przezroczystość=Nie&lt;br /&gt;
|światło=Nie&lt;br /&gt;
|palność=Nie&lt;br /&gt;
|odnawialne=Nie&lt;br /&gt;
|narzędzie=kamienny kilof&lt;br /&gt;
|łączenie=Tak, 64&lt;br /&gt;
}}&lt;br /&gt;
&#039;&#039;&#039;Złoże żelaza&#039;&#039;&#039; (ang. &#039;&#039;Iron Ore&#039;&#039;) to jedno z pospolitych [[Złoże|złóż]]. Jest źródłem [[Ruda żelaza|rudy żelaza]] możliwej do przetopienia na [[sztabka żelaza|sztabkę żelaza]], która jest używana do wytwarzania [[narzędzia|narzędzi]] i [[zbroja|zbroi]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Łupkowe złoże żelaza&#039;&#039;&#039; (ang. &#039;&#039;Deepslate Iron Ore&#039;&#039;) to wariant złoża żelaza, który generuje się w [[łupek|łupku]] i [[tuf]]ie.&lt;br /&gt;
&lt;br /&gt;
== Otrzymywanie ==&lt;br /&gt;
=== Wydobywanie ===&lt;br /&gt;
Złoże żelaza można wydobyć kamiennym lub lepszym [[kilof]]em. Jeśli jest niszczone w inny sposób, nie upuści nic po wydobyciu. Po wydobyciu upuszcza [[Ruda żelaza|rudę żelaza]]. Działa na to [[zaklęcie]] &#039;&#039;Szczęście&#039;&#039;, które zwiększa maksymalną ilość o 1 na poziom. Użycie &#039;&#039;Jedwabnego dotyku&#039;&#039; powoduje wypadnięcie bloku złoża.&lt;br /&gt;
{{Wydobywanie|Złoże żelaza;Łupkowe złoże żelaza|link=brak;brak|Kilof;Kilof|Kamienny;Kamienny|łupy=0;0|horyzontalny=1}}&lt;br /&gt;
&lt;br /&gt;
=== Naturalne generowanie ===&lt;br /&gt;
Złoża żelaza generują się w [[Nadziemie|Nadziemiu]] w 4 partiach:&lt;br /&gt;
* pierwsza próbuje się wygenerować 40 razy na chunk w grupach o rozmiarze 0–13 bloków na wysokościach od 80 do 255, najczęściej na wysokości 232; częstotliwość zmniejsza się wraz ze zbliżaniem się do końca zakresu;&lt;br /&gt;
* druga partia próbuje się wygenerować się 6 razy na chunk w złożach liczących 0–13 bloków na wysokościach od −24 do 54, najczęściej na wysokości 16; częstotliwość zmniejsza się wraz ze zbliżaniem się do końca zakresu;&lt;br /&gt;
* trzecia partia próbuje się wygenerować 3 razy na chunk w żyłach liczących 0–5 bloków złóż równomiernie na wysokościach od −63 do 72;&lt;br /&gt;
*czwartą partią są żyły żelaza formujące się między warstwami &#039;&#039;Y&#039;&#039;=−60 i &#039;&#039;Y&#039;&#039;=−8; są wymieszane z tufem.&lt;br /&gt;
Złoża żelaza mogą wygenerować się w żyłach żelaza. Przy generacji złoża mogą zastąpić [[kamień]], [[granit]], [[dioryt]], [[andezyt]], [[tuf]] i [[łupek]]. Gdy zastąpią tuf lub łupek, stają się łupkowymi złożami żelaza.&lt;br /&gt;
&lt;br /&gt;
W [[Bedrock Edition|edycji Bedrock]] złoża żelaza również próbują się wygenerować 40 razy na chunk w grupach 0–10 bloków na wysokościach od 128 do 256 w każdym typie [[góry|gór]]. Im niższa jest wysokość, tym częściej generują się złoża.&lt;br /&gt;
&lt;br /&gt;
== Zastosowanie ==&lt;br /&gt;
=== [[Przetapianie]] ===&lt;br /&gt;
W celu przetopienia złoża żelaza należy użyć [[piec]]a. Przetapianie daje średnio 0,7 punktu [[Doświadczenie|doświadczenia]] na każde przetopione złoże żelaza. Możliwe jest również użycie [[Piec hutniczy|pieca hutniczego]], który przetwarza je dwa razy szybciej, lecz gracz otrzyma dwa razy mniej punktów doświadczenia.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Składniki&lt;br /&gt;
! Wejście → Wyjście&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|[[Złoże żelaza]] lub [[łupkowe złoże żelaza]]&lt;br /&gt;
|{{Grid/Furnace&lt;br /&gt;
|Input= Złoże żelaza, Łupkowe złoże żelaza&lt;br /&gt;
|Output= Sztabka żelaza&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Blok dźwiękowy ===&lt;br /&gt;
Złoże żelaza może zostać położone pod [[blok dźwiękowy|blokiem dźwiękowym]], aby ten wytwarzał dźwięki bębna basowego.&lt;br /&gt;
&lt;br /&gt;
== Wartości danych ==&lt;br /&gt;
=== ID ===&lt;br /&gt;
&#039;&#039;[[Java Edition]]:&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Nazwa !! ID słowne !! Tagi bloków !! Forma !! Klucz tłumaczeń&lt;br /&gt;
|-&lt;br /&gt;
| {{BlockSprite|złoże-żelaza}} Złoże żelaza&lt;br /&gt;
| {{code|iron_ore}}&lt;br /&gt;
| {{code|iron_ores|mineable/pickaxe|needs_stone_tool|d=&amp;lt;br&amp;gt;}}&lt;br /&gt;
| Blok,&amp;lt;br&amp;gt;Przedmiot&lt;br /&gt;
| {{code|block.minecraft.iron_ore}}&lt;br /&gt;
|-&lt;br /&gt;
| {{BlockSprite|łupkowe-złoże-żelaza}} Łupkowe złoże żelaza &lt;br /&gt;
| {{code|deepslate_iron_ore}}&lt;br /&gt;
| {{code|iron_ores|mineable/pickaxe|needs_stone_tool|d=&amp;lt;br&amp;gt;}}&lt;br /&gt;
| Blok,&amp;lt;br&amp;gt;Przedmiot&lt;br /&gt;
| {{code|block.minecraft.deepslate_iron_ore}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;[[Bedrock Edition]]:&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Nazwa !! ID słowne !! ID numeryczne !! Forma !! Klucz tłumaczeń&lt;br /&gt;
|-&lt;br /&gt;
| {{BlockSprite|złoże-żelaza}} Złoże żelaza || {{code|iron_ore}} || {{code|15}} || Blok,&amp;lt;br&amp;gt;Przedmiot || {{code|tile.iron_ore.name}}&lt;br /&gt;
|-&lt;br /&gt;
| {{BlockSprite|łupkowe-złoże-żelaza}} Łupkowe złoże żelaza || {{code|deepslate_iron_ore}} || {{code|656}} || Blok,&amp;lt;br&amp;gt;Przedmiot || {{code|tile.deepslate_iron_ore.name}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Historia ==&lt;br /&gt;
{{Historia|c}}&lt;br /&gt;
{{Historia||21 maja 2009|link=https://notch.tumblr.com/post/110762705|[[Notch]] wyraził chęć dodania złoża żelaza do gry.}}&lt;br /&gt;
{{Historia||23 maja 2009|link=https://notch.tumblr.com/post/111691116|Notch napisał, że ukończył dodawanie złóż żelaza w kamieniu.}}&lt;br /&gt;
{{Historia||0.0.14a|[[Plik:Ruda żelaza przed Texture Update.png|32px]] Dodano złoże żelaza. Występowało częściej i w dużo większych złożach liczących nawet do 167 bloków złoża żelaza.}}&lt;br /&gt;
{{Historia||0.26 SURVIVAL TEST|Złoże żelaza upuszczało po wydobyciu od 1 do 3 sztuk [[Blok żelaza|bloku żelaza]].}}&lt;br /&gt;
&lt;br /&gt;
{{Historia|i}}&lt;br /&gt;
{{Historia||0.31|snap=?|Teraz po wykopaniu złoża żelaza nie otrzymuje się bloków żelaza.}}&lt;br /&gt;
{{Historia|||snap=29 stycznia 2010|Przed dodaniem [[piec]]a złoża przetapiało się, wrzucając blok złoża do [[ogień|ognia]].&lt;br /&gt;
|Teraz po wykopaniu złoża żelaza otrzymywany jest blok złoża żelaza.}}&lt;br /&gt;
{{Historia|||snap=1 lutego 2010|Teraz, by wykopać złoże żelaza, trzeba użyć kamiennego, żelaznego, złotego lub diamentowego kilofa.}}&lt;br /&gt;
{{Historia|||snap=19 lutego 2010|Dodano [[piec]]e. Zastąpiły one [[ogień]] przy przetapianiu [[Złoża|złóż]].}}&lt;br /&gt;
&lt;br /&gt;
{{Historia|f}}&lt;br /&gt;
{{Historia||27 lutego 2010|Złoża żelaza nie generują się.}}&lt;br /&gt;
{{Historia||20 marca 2010|Złoża żelaza generują się ponownie, ale w inny sposób.}}&lt;br /&gt;
{{Historia||25 marca 2010|Złoża żelaza mają kształt bardziej zbliżony do obecnego.}}&lt;br /&gt;
{{Historia||27 marca 2010|Złoża żelaza regenerują się przy ładowaniu świata, gdy na ich miejscu pojawił się [[kamień]].}}&lt;br /&gt;
{{Historia||30 marca 2010|Złoża żelaza nie regenerują się.}}&lt;br /&gt;
&lt;br /&gt;
{{Historia|w}}&lt;br /&gt;
{{Historia||1.3.1|snap=12w22a|Teraz po przetopieniu złoża żelaza daje ono graczowi [[Kula doświadczenia|kule doświadczenia]].}}&lt;br /&gt;
{{Historia||1.13|snap=17w47a|Zlikwidowano [[ID]] numeryczne złoża żelaza, które wynosiło 15.}}&lt;br /&gt;
{{Historia||1.14|snap=?|[[Plik:Ruda żelaza Texture Update rev1.png|32px]] Została zaproponowana nowa tekstura złoża żelaza.}}&lt;br /&gt;
{{Historia|||snap=18w43a|[[Plik:Ruda żelaza 18w43a.png|32px]] Zmieniono teksturę złoża żelaza.}}&lt;br /&gt;
{{Historia||1.14.1|snap=Pre-Release 1|[[Plik:Ruda żelaza.png|32px]] Ponownie zmieniono teksturę złoża żelaza.}}&lt;br /&gt;
{{Historia||1.17|snap=21w07a|[[Plik:Ruda żelaza 21w07a.png|32px]] Zmieniono teksturę złoża żelaza.}}&lt;br /&gt;
{{Historia|||snap=17 lutego 2021|slink=https://twitter.com/HenrikKniberg/status/1362095363314876418|[[Plik:Łupkowa ruda żelaza pre.png|32px]] Henrik Kniberg pokazał [[łupek|ponurytowy]] wariant złoża żelaza.}}&lt;br /&gt;
{{Historia|||snap=18 lutego 2021|slink=https://twitter.com/JasperBoerstra/status/1362396465470005251|[[Plik:Ruda żelaza pre.png|32px]] [[Plik:Łupkowa ruda żelaza pre2.png|32px]] [[JAPPA]] pokazał zaktualizowane tekstury standardowego i ponurytowego złoża żelaza.}}&lt;br /&gt;
{{Historia|||snap=22 lutego 2021|slink=https://twitter.com/JasperBoerstra/status/1363828589708382210|[[Plik:Ruda żelaza pre2.png|32px]] [[Plik:Łupkowa ruda żelaza pre3.png|32px]] JAPPA pokazał nowe tekstury złoża żelaza i ponurytowego złoża żelaza.}}&lt;br /&gt;
{{Historia|||snap=21w08a|[[Plik:Łupkowa ruda żelaza 21w08a.png|32px]] Dodano łupkowe złoże żelaza.&lt;br /&gt;
|[[Plik:Ruda żelaza 21w08a.png|32px]] Zmieniono teksturę złoża żelaza.&lt;br /&gt;
|Dodano tag bloków {{code|iron_ores}}.&lt;br /&gt;
|Złoża żelaza generują się rzadziej. Jednak w grze istnieje błąd, który powoduje, iż złoża żelaza generują się zdecydowanie zbyt rzadko.&lt;br /&gt;
|Złoża żelaza mogą generować się poniżej wysokości 0.}}&lt;br /&gt;
{{Historia|||snap=21w08b|Zwykłe złoża żelaza generują się częściej.&amp;lt;ref&amp;gt;{{Bug|MC-216744}}&amp;lt;/ref&amp;gt;}}&lt;br /&gt;
{{Historia|||snap=2 marca 2021|slink=https://twitter.com/JasperBoerstra/status/1366733338023665665|[[Plik:Złoże żelaza.png|32px]] JAPPA pokazał nową teksturę złoża żelaza.}}&lt;br /&gt;
{{Historia|||snap=4 marca 2021|slink=https://twitter.com/JasperBoerstra/status/1367460045903040517|[[Plik:Łupkowa ruda żelaza pre4.png|32px]] JAPPA pokazał nową teksturę łupkowego złoża żelaza.}}&lt;br /&gt;
{{Historia|||snap=21w10a|[[Plik:Złoże żelaza.png|32px]] [[Plik:Łupkowe złoże żelaza.png|32px]] Zaktualizowano tekstury standardowego i łupkowego złoża żelaza.}}&lt;br /&gt;
{{Historia|||snap=21w14a|Teraz po zniszczeniu złoża narzędziem bez &#039;&#039;Jedwabnego dotyku&#039;&#039; wypada [[ruda żelaza]].}}&lt;br /&gt;
{{Historia|||snap=21w15a|Wszystkie zmiany w generowaniu złóż żelaza wprowadzone w poprzednich snapshotach zostały cofnięte. Mogą zostać one włączone po zainstalowaniu odpowiedniej paczki danych.}}&lt;br /&gt;
{{Historia||1.17|snap=21w16a|Żyły żelaza formują się poniżej wysokości 0 i są wymieszane z tufem.}}&lt;br /&gt;
{{Historia||1.18|snap=Experimental Snapshot 1|Złoża żelaza znów generują się tak jak w snapshotach do wersji 1.17, bez potrzeby używania paczki danych.}}&lt;br /&gt;
{{Historia|||snap=Experimental snapshot 4|Złoża żelaza generują się częściej.}}&lt;br /&gt;
{{Historia|||snap=21w37a|3=Żyły żelaza formują się między warstwami &#039;&#039;Y&#039;&#039;=−60 i &#039;&#039;Y&#039;&#039;=−8 oraz są wymieszane z tufem.&lt;br /&gt;
|4=Złoża żelaza generują się poniżej warstwy &#039;&#039;Y&#039;&#039;=72, z tendencją wzrostową ku poziomowi &#039;&#039;Y&#039;&#039;=16.&lt;br /&gt;
|5=Złoża żelaza również generują się powyżej wysokości 112, z większą ilością żelaza, gdy idzie się wyżej.}}&lt;br /&gt;
{{Historia|||snap=21w40a|Teraz złoża żelaza generują się powyżej wysokości 80, z większą ilością żelaza, gdy idzie się wyżej.}}&lt;br /&gt;
&lt;br /&gt;
{{Historia|pa}}&lt;br /&gt;
{{Historia||0.1.0|[[Plik:Ruda żelaza przed Texture Update.png|32px]] Dodano złoże żelaza.}}&lt;br /&gt;
{{Historia||0.3.0|Można uzyskać złoże żelaza w trybie przetrwania.}}&lt;br /&gt;
{{Historia||0.3.2|Złoże żelaza jest dostępne w ekwipunku trybu kreatywnego.&lt;br /&gt;
|Dodano piece i możliwość przetopienia złoża na sztabki.}}&lt;br /&gt;
{{Historia||0.12.1|snap=build 1|Złoże żelaza po przetopieniu pozostawia [[gracz]]owi [[doświadczenie]].}}&lt;br /&gt;
&lt;br /&gt;
{{Historia|be}}&lt;br /&gt;
{{Historia||1.10.0|snap=beta 1.10.0.3|[[Plik:Ruda żelaza 18w43a.png|32px]] Zmieniono teksturę złoża żelaza.}}&lt;br /&gt;
{{Historia||1.16.220|snap=beta 1.16.220.50|[[Plik:Ruda żelaza 21w08a.png|32px]] Zmieniono teksturę złoża żelaza.}}&lt;br /&gt;
{{Historia||1.17.0|snap=beta 1.16.230.52|[[Plik:Łupkowe złoże żelaza.png|32px]] Dodano łupkowe złoże żelaza.}}&lt;br /&gt;
{{Historia|||snap=beta 1.16.230.54|[[Plik:Złoże żelaza.png|32px]] Zaktualizowano teksturę złoża żelaza.}}&lt;br /&gt;
{{Historia|||snap=beta 1.17.0.50|Teraz po zniszczeniu złoża narzędziem bez &#039;&#039;Jedwabnego dotyku&#039;&#039; wypada [[ruda żelaza]].}}&lt;br /&gt;
&lt;br /&gt;
{{Historia|k}}&lt;br /&gt;
{{Historia||xbox=TU1|xbone=CU1|ps=1.00|wiiu=Patch 1|[[Plik:Ruda żelaza przed Texture Update.png|32px]] Dodano złoże żelaza.}}&lt;br /&gt;
{{Historia||xbox=?|xbone=?|ps=?|wiiu=?|Przetopienie złoża żelaza daje [[doświadczenie]].}}&lt;br /&gt;
{{Historia||xbox=none|xbone=none|ps=1.90|wiiu=none|[[Plik:Ruda żelaza 18w43a.png|32px]] Zmieniono teksturę złoża żelaza.}}&lt;br /&gt;
&lt;br /&gt;
{{Historia|New Nintendo 3DS Edition}}&lt;br /&gt;
{{Historia||0.1.0|[[Plik:Ruda żelaza przed Texture Update.png|32px]] Dodano złoże żelaza.}}&lt;br /&gt;
{{Historia|foot}}&lt;br /&gt;
&lt;br /&gt;
== Ciekawostki ==&lt;br /&gt;
* W prawdziwym życiu rudy żelaza mogą mieć zabarwienie od czarnego, przez czerwień, aż po żółć.&lt;br /&gt;
&lt;br /&gt;
== Galeria ==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Rżelaza.png|Złoże żelaza przed [[Aktualizacja tekstur|aktualizacją tekstur]]&lt;br /&gt;
Żelazna ruda.png|Naturalnie wygenerowane złoże w jaskini&lt;br /&gt;
Przed rozkopaniem żelaza.png|Złoże żelaza przed rozkopaniem...&lt;br /&gt;
Rozkopana ruda żelaza.png|...I po rozkopaniu&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Przypisy}}&lt;br /&gt;
&lt;br /&gt;
{{Bloki}}&lt;br /&gt;
&lt;br /&gt;
[[cs:Železná ruda]]&lt;br /&gt;
[[de:Eisenerz]]&lt;br /&gt;
[[en:Iron Ore]]&lt;br /&gt;
[[es:Mena de hierro]]&lt;br /&gt;
[[fr:Minerai de fer]]&lt;br /&gt;
[[hu:Vasérc]]&lt;br /&gt;
[[it:Minerale grezzo]]&lt;br /&gt;
[[ja:鉄鉱石]]&lt;br /&gt;
[[ko:철광석]]&lt;br /&gt;
[[nl:IJzererts]]&lt;br /&gt;
[[pt:Minério de Ferro]]&lt;br /&gt;
[[ru:Железная руда]]&lt;br /&gt;
[[uk:Залізна руда]]&lt;br /&gt;
[[zh:铁矿石]]&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Szablon:Wydobywanie/opis&amp;diff=126198</id>
		<title>Szablon:Wydobywanie/opis</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Szablon:Wydobywanie/opis&amp;diff=126198"/>
		<updated>2025-10-26T21:22:53Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: /* Przykłady */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Dokumentacja/Nagłówek}}&lt;br /&gt;
{{lua|Breaking_row}}&lt;br /&gt;
&amp;lt;!-- Dokumentacja powinna być umieszczona w tym miejscu --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ten szablon jest używany do tworzenia tabeli czasu potrzebnego na wydobycie bloków.&lt;br /&gt;
&lt;br /&gt;
== Podstawowe użycie ==&lt;br /&gt;
&lt;br /&gt;
=== Parametry ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;background-color: transparent;&amp;quot;&lt;br /&gt;
! Parametr&lt;br /&gt;
! Funkcja&lt;br /&gt;
! Domyślna wartość&lt;br /&gt;
! Opcjonalny?&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; || Nazwa bloku || || Nie&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;link&amp;lt;/code&amp;gt; || Ustawia link || &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{1}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sprite&amp;lt;/code&amp;gt; || Ustawia ID sprite&#039;a || &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{1}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt; || Jeśli jest ustawione, wiersz używa {{t|itemSprite}} zamiast {{t|blockSprite}}. || || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;note&amp;lt;/code&amp;gt; || Służy do dodawania notatki po tytule, zwykle przy użyciu &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;ref&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. || || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;textTrim&amp;lt;/code&amp;gt; || Odcina podany tekst od końca tytułu. Zaprojektowany do użytku z funkcją [[#Horyzontalny|horyzontalny]]. || || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; || Odpowiednie narzędzie. Może być ustawione na &amp;lt;code&amp;gt;Kilof&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Siekiera&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Łopata&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Motyka&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Brak&amp;lt;/code&amp;gt; lub &amp;lt;code&amp;gt;Dowolny&amp;lt;/code&amp;gt;. || &amp;lt;code&amp;gt;Dowolny&amp;lt;/code&amp;gt; || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt; || Minimalny wymagany poziom/materiał narzędzia. Może być ustawione na &amp;lt;code&amp;gt;Drewniany&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;Drewniana&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Kamienny&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;Kamienna&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Żelazny&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;Żelazna&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Diamentowy&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;Diamentowa&amp;lt;/code&amp;gt; lub &amp;lt;code&amp;gt;Dowolny&amp;lt;/code&amp;gt;. Określa czas wydobywania oraz moment, gdy tło zmieni kolor na czerwony. || &amp;lt;code&amp;gt;Dowolny&amp;lt;/code&amp;gt; || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;łupy&amp;lt;/code&amp;gt; || Jeśli ustawione na &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, zmienia tło kolumn, które powinny wypaść, na żółte, oznaczając, że nie wypadają, ale są wydobywane odpowiednim narzędziem.&amp;lt;br&amp;gt;Jeśli ustawione na &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, kolumny nie zmienią koloru na czerwony, gdy będą poniżej poziomu narzędzia. Używane, ponieważ [[Education Edition]] ma bloki, które obliczają czas tak, jakby wymagany był kilof (w tym kara za brak kilofa), ale i tak może je wydobyć ręcznie. || || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nożyce&amp;lt;/code&amp;gt; || Ustawia kolumnę nożyc. Jeśli ustawiona na &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, zmienia tło głównych kolumn na żółte, oznaczając, że przedmiot nie wypada. || || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;miecz&amp;lt;/code&amp;gt; || Ustawia kolumnę miecza. Jeśli ustawiona na &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, zmienia tło głównych kolumn na żółte, oznaczając, że przedmiot nie wypada. || || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;foot&amp;lt;/code&amp;gt; || Jeśli jest ustawione, dodaje stopkę. Jeśli ustawione na &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;, dodaje również u dołu kolumny nagłówka. || || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sort&amp;lt;/code&amp;gt; || Jeśli ustawione, tabela będzie możliwa do posortowania. || || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;hidetool&amp;lt;/code&amp;gt; || Jeśli ustawione, główna kolumna narzędzi zostanie usunięta. || || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;hideshears&amp;lt;/code&amp;gt; || Jeśli ustawione, kolumna nożyc zostanie usunięta. || || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;hidesword&amp;lt;/code&amp;gt; || Jeśli ustawione, kolumna miecza zostanie usunięta. || || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;hideoptions&amp;lt;/code&amp;gt; || Jeśli ustawione, opcje w trybie horyzontalnym zostaną usunięte. || || Tak&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Wiele nazw ===&lt;br /&gt;
&lt;br /&gt;
Parametr &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{1}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; może być listą elementów oddzielonych średnikami, tak aby wyświetlić wiele bloków.&lt;br /&gt;
&lt;br /&gt;
== Tryby ==&lt;br /&gt;
&lt;br /&gt;
Tabela obsługuje dwa alternatywne tryby.&lt;br /&gt;
&lt;br /&gt;
=== Simple ===&lt;br /&gt;
&lt;br /&gt;
Jeśli ustawione jest &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{simple}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, tabela nie będzie pokazywać kolumn &amp;quot;Twardość&amp;quot;, &amp;quot;Narzędzie&amp;quot;, &amp;quot;Nożyce&amp;quot; oraz &amp;quot;Miecz&amp;quot;. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{2}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; przejmie również funkcję wcześniej dzierżoną przez &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{3}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Tryb ten jest przeznaczony do użycia w artykułach dotyczących [[Narzędzia|narzędzi]], takich jak np. [[Kilof]], gdzie dostępne narzędzie jest już podane.&lt;br /&gt;
&lt;br /&gt;
=== Horyzontalny ===&lt;br /&gt;
&lt;br /&gt;
Jeśli ustawione jest &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{horyzontalny}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, tabela zmieni orientację, wyświetlając kolumny poszczególnych bloków zamiast wierszy. W tym trybie cała tabela jest budowana przy użyciu jednego wywołania szablonu. Poszczególne kolumny są określane za pomocą listy parametrów oddzielanych średnikami. Jeśli odpowiednia część parametru jest tylko białym znakiem (np. spacją), to parametr użyje wartości domyślnej.&lt;br /&gt;
&lt;br /&gt;
Podczas korzystania z tego trybu parametry &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{foot}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{sort}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; nie mają zastosowania, a wszystkie parametry, które wcześniej wpływały na kolumnę, będą teraz wpływać na wiersz.&lt;br /&gt;
&lt;br /&gt;
Tryb ten jest przeznaczony do wyświetlania tabeli w artykułach dotyczących [[Bloki|bloków]], takich jak np. [[Kamień]].&lt;br /&gt;
&lt;br /&gt;
== Przykłady ==&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Wydobywanie|Głowa|horyzontalny=1}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Wydobywanie|Głowa|horyzontalny=1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Wydobywanie|Deski|Siekiera|horyzontalny=1}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Wydobywanie|Deski|Siekiera|horyzontalny=1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Wydobywanie|Liście|Motyka|łupy=0|nożyce=1|miecz=0|horyzontalny=1}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Wydobywanie|Liście|Motyka|łupy=0|nożyce=1|miecz=0|horyzontalny=1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Wydobywanie|Złoże żelaza;Łupkowe złoże żelaza|link=brak;brak|Kilof;Kilof|Kamienny;Kamienny|horyzontalny=1}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Wydobywanie|Złoże żelaza;Łupkowe złoże żelaza|link=brak;brak|Kilof;Kilof|Kamienny;Kamienny|horyzontalny=1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Wydobywanie|Złoże żelaza|Kamienny|simple=1|horyzontalny=1}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
(ustawienie horyzontalne, aby kolejny przykład nie został popsuty)&lt;br /&gt;
{{Wydobywanie|Złoże żelaza|Kamienny|simple=1|horyzontalny=1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Wydobywanie|Liście|Motyka|łupy=0|nożyce=1|miecz=0}}&lt;br /&gt;
{{Wydobywanie|Piorunochron|Kilof|Kamienny|foot=1}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Wydobywanie|Liście|Motyka|łupy=0|nożyce=1|miecz=0}}&lt;br /&gt;
{{Wydobywanie|Piorunochron|Kilof|Kamienny|foot=1}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
Kategorie i interwiki szablonu muszą być umieszone w tym miejscu --&amp;gt;&lt;br /&gt;
[[Category:Table templates]]&lt;br /&gt;
&lt;br /&gt;
[[cs:Šablona:Breaking row]]&lt;br /&gt;
[[de:Vorlage:Abbauen]]&lt;br /&gt;
[[es:Plantilla:Breaking row]]&lt;br /&gt;
[[fr:Modèle:Tableau de minage]]&lt;br /&gt;
[[it:Template:Breaking row]]&lt;br /&gt;
[[ja:テンプレート:Breaking row]]&lt;br /&gt;
[[ko:틀:Breaking row]]&lt;br /&gt;
[[lzh:模板:Breaking row]]&lt;br /&gt;
[[nl:Sjabloon:Breektabel]]&lt;br /&gt;
[[pt:Predefinição:Linha de quebra]]&lt;br /&gt;
[[ru:Шаблон:Таблица разрушаемости]]&lt;br /&gt;
[[th:แม่แบบ:Breaking row]]&lt;br /&gt;
[[uk:Шаблон:Таблиця руйнування]]&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
Kategorie i interwiki dokumentacji muszą być umieszone w tym miejscu --&amp;gt;&lt;br /&gt;
[[cs:Šablona:Breaking row/doc]]&lt;br /&gt;
[[de:Vorlage:Abbauen/Dokumentation]]&lt;br /&gt;
[[es:Plantilla:Breaking row/doc]]&lt;br /&gt;
[[fr:Modèle:Tableau de minage/doc]]&lt;br /&gt;
[[it:Template:Breaking row/doc]]&lt;br /&gt;
[[ja:テンプレート:Breaking row/doc]]&lt;br /&gt;
[[ko:틀:Breaking row/doc]]&lt;br /&gt;
[[lzh:模板:Breaking row/doc]]&lt;br /&gt;
[[nl:Sjabloon:Breektabel/doc]]&lt;br /&gt;
[[pt:Predefinição:Linha de quebra/doc]]&lt;br /&gt;
[[ru:Шаблон:Таблица разрушаемости/док]]&lt;br /&gt;
[[th:แม่แบบ:Breaking row/doc]]&lt;br /&gt;
[[uk:Шаблон:Таблиця руйнування/док]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Zaklinanie&amp;diff=123116</id>
		<title>Zaklinanie</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Zaklinanie&amp;diff=123116"/>
		<updated>2025-07-23T03:23:24Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: /* Typy zaklęć */ Poprawiono nieprawidłową porządek nagłówków &amp;quot;Zaklęcia zbroi&amp;quot; i &amp;quot;Zaklęcia broni&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{About||mechaniki w Minecraft Dungeons|MCD:Zaklinanie}}&lt;br /&gt;
[[Plik:Zaklinanie.png|thumb|right|Interfejs stołu do zaklinania. Na górze: bez przedmiotu. Na dole: z przedmiotami i możliwymi zaklęciami.]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Zaklinanie&#039;&#039;&#039; (ang. &#039;&#039;Enchanting&#039;&#039;) – mechanizm w grze korzystający ze [[stół do zaklinania|stołu do zaklinania]] i kowadła. Polega na dodawaniu specjalnych bonusów [[przedmioty|przedmiotom]], takim jak [[bronie]], [[narzędzia]], [[zbroja|zbroje]] i [[książka|książki]]. Do zaklinania przedmiotów na stole zaklęć, oprócz niego samego, wymagane są również [[Doświadczenie|poziomy doświadczenia]] i [[lazuryt]]. Każde zaklęcie kosztuje gracza liczbę poziomów równą poziomowi zaklęcia. Podczas zaklinania na kowadle wymagany jest tylko poziom doświadczenia i odpowiednia [[zaklęta książka]]. Zaklęty przedmiot, poza bonusem do jednej z kilku kategorii, zyskuje również podświetlenie.&lt;br /&gt;
&lt;br /&gt;
== Bloki i przedmioty potrzebne do zaklinania ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! Nazwa&lt;br /&gt;
! Ikona&lt;br /&gt;
! Użytek&lt;br /&gt;
! Wytwarzanie&lt;br /&gt;
|-&lt;br /&gt;
![[Stół do zaklinania]]&lt;br /&gt;
|{{Grid|Stół do zaklinania}}&lt;br /&gt;
|Służy do zaklinania przedmiotów.&lt;br /&gt;
|{{Grid/Crafting Table&lt;br /&gt;
|A2=Diament|A3=Obsydian&lt;br /&gt;
|B1=Książka|B2=Obsydian|B3=Obsydian&lt;br /&gt;
|C2=Diament|C3=Obsydian&lt;br /&gt;
|Output=Stół do zaklinania}}&lt;br /&gt;
|-&lt;br /&gt;
![[Biblioteczka|Biblioteczki]]&lt;br /&gt;
|{{Grid|Biblioteczka}}&lt;br /&gt;
|Każda półka na książki (do 15) zwiększa poziom zaklęć dla stołu do zaklęć (maksymalnie do 30).&lt;br /&gt;
|Generowane w twierdzach z portalem do Endu i w niektórych budynkach wioski.&lt;br /&gt;
{{Grid/Crafting Table&lt;br /&gt;
|A1=Dowolne deski |B1=Dowolne deski |C1=Dowolne deski&lt;br /&gt;
|A2=Książka |B2=Książka |C2=Książka&lt;br /&gt;
|A3=Dowolne deski |B3=Dowolne deski |C3=Dowolne deski&lt;br /&gt;
|Output=Biblioteczka&lt;br /&gt;
}}&lt;br /&gt;
|-&lt;br /&gt;
![[Lazuryt]]&lt;br /&gt;
|{{Grid|Lazuryt}}&lt;br /&gt;
|Wymagane do użycia stołu do zaklęć (od 1 do 3 sztuk na jedno użycie).&lt;br /&gt;
|Wykopanie [[złoże lazurytu|złoża lazurytu]] lub handel z [[osadnik]]iem o profesji kapłana.&lt;br /&gt;
|-&lt;br /&gt;
![[Kowadło]]&lt;br /&gt;
|{{Grid|Kowadło}}&lt;br /&gt;
|Służy do łączenia zaklętych przedmiotów (narzędzi, zbroi i broni) lub naprawiania przedmiotu z zachowaniem zaklęć.&lt;br /&gt;
|{{Grid/Crafting Table&lt;br /&gt;
|A1= Blok żelaza |B1= Blok żelaza |C1= Blok żelaza&lt;br /&gt;
|B2= Sztabka żelaza&lt;br /&gt;
|A3= Sztabka żelaza |B3= Sztabka żelaza |C3= Sztabka żelaza&lt;br /&gt;
|Output= Kowadło&lt;br /&gt;
}}&lt;br /&gt;
|-&lt;br /&gt;
![[Kamień szlifierski]]&lt;br /&gt;
|{{Grid|Kamień szlifierski}}&lt;br /&gt;
|Służy do usuwania wszystkich zaklęć niebędących klątwami na przedmiocie (zwracanie niewielkiej ilości doświadczenia) lub naprawiania przedmiotu, usuwając zaklęcia.&lt;br /&gt;
|{{Grid/Crafting Table&lt;br /&gt;
|A1= Patyk |B1=Kamienna płyta |C1= Patyk&lt;br /&gt;
|A2= Dowolne deski |C2= Dowolne deski&lt;br /&gt;
|Output= Kamień szlifierski&lt;br /&gt;
}}&lt;br /&gt;
|-&lt;br /&gt;
![[Zaklęta książka]]&lt;br /&gt;
|{{Grid|Zaklęta książka}}&lt;br /&gt;
|Można łączyć ją z innym przedmiotem za pomocą kowadła, aby dodać zaklęcie do przedmiotu.&lt;br /&gt;
|Zaklinanie książki w stole do zaklęć. Można znaleźć ją w różnych strukturach.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Poziomy zaklęć ==&lt;br /&gt;
[[Plik:Standardowy przykład stanowiska do zaklinania.png|mały|183x183px|Standardowy przykład stanowiska do zaklinania]]&lt;br /&gt;
Poziomy zaklęć oscylują pomiędzy 1 a 30&amp;lt;!-- trzeba aktualizować! --&amp;gt; poziomem. Poziom zaklinania zależy od obecności wokół stołu do zaklęć [[Biblioteczka|biblioteczek]]. Aby otrzymać największą wartość zaklęć, należy stworzyć pokój, w którym wokół stolika stoi 15 biblioteczek. Biblioteczki muszą być oddalone o dwa bloki od stołu do zaklinania; biblioteczki można również kłaść o jeden blok w górę, oczywiście o dwa bloki oddalone od stołu (patrz obrazy poniżej). Pomiędzy [[Stół do zaklinania|stołem do zaklinania]] a biblioteczkami musi być blok powietrza, inaczej biblioteczka nie będzie wykrywana.&lt;br /&gt;
Maksymalny poziom w stole do zaklinania to 30. Na poziomie 30 gracz ma duże szanse na otrzymanie dwóch lub nawet trzech zaklęć oraz na wyższe poziomy tych zaklęć. Poziomy zaklęć to ulepszenie zaklęcia, np. &#039;&#039;Łagodny upadek III&#039;&#039; będzie chronił lepiej niż &#039;&#039;Łagodny upadek II&#039;&#039;. Więcej o tym w akapicie &#039;&#039;Typy zaklęć&#039;&#039;.&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Propozycja 1 (stół do zaklinania).png|Przykład stanowiska do zaklinania na 30 poziom&lt;br /&gt;
Propozycja 2 (stół do zaklinania).png|Przykład stanowiska do zaklinania na 30 poziom&lt;br /&gt;
Propozycja 3 (stół do zaklinania).png|Przykład stanowiska do zaklinania na 30 poziom&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Instrukcja ==&lt;br /&gt;
Aby zakląć przedmiot:&lt;br /&gt;
&lt;br /&gt;
=== Na [[Stół do zaklinania|stole do zaklinania]] należy: ===&lt;br /&gt;
#Przygotować [[lazuryt]] (koszt jednego użycia wynosi 1–3 sztuk lazurytu).&lt;br /&gt;
#Przygotować przedmiot, który chcemy zakląć (jeżeli chcemy zakląć zbroję, którą mamy na sobie, najpierw należy ją zdjąć).&lt;br /&gt;
#Włożyć przedmiot, który chcemy zakląć oraz lazuryt do odpowiedniego miejsca.&lt;br /&gt;
#Wybrać jedno z 3 wylosowanych zaklęć (im niżej, tym drożej i lepiej), od wersji [[1.8]] widzimy, ile poziomów doświadczenia będzie nas to kosztować oraz ile będzie kosztować lazurytu. Można też podejrzeć pierwsze (lub jedyne) zaklęcie po najechaniu na opcję zaklęcia.&lt;br /&gt;
#Kliknąć jedną z trzech opcji, a przedmiot zostanie zaklęty. Przedmiotów zaklętych nie można zaklinać.&lt;br /&gt;
#Po udanym zaklęciu, schowaj do ekwipunku zaklęty przedmiot (i lazuryt jeśli jest).&lt;br /&gt;
&lt;br /&gt;
=== W [[Kowadło|kowadle]] należy: ===&lt;br /&gt;
# Przygotować przedmiot, który chcemy połączyć/naprawić (jeżeli chcemy połączyć/naprawić zbroję którą mamy na sobie, najpierw należy ją zdjąć).&lt;br /&gt;
#*Jeżeli chcemy naprawić przedmiot, przygotuj również materiały, które go tworzą ([[Błona fantoma|błony fantoma]] tworzą [[elytry]]).&lt;br /&gt;
#*Jeżeli chcesz zakląć [[Zaklęta książka|zaklętą książką]], weź i ją.&lt;br /&gt;
# Przenieś element w pierwsze okienko interfejsu kowadła, a w drugie – włóż drugi element/zaklętą książkę lub materiał (czasami włożenie na odwrót elementów ma inny koszt połączenia).&lt;br /&gt;
# Po udanej naprawie weź zaklęty/połączony/naprawiony przedmiot z kowadła.&lt;br /&gt;
&lt;br /&gt;
=== [[Tryb kreatywny]] ===&lt;br /&gt;
W trybie kreatywnym działa to tak samo, ale gracz nie płaci lazurytem i punktami doświadczenia w stole do zaklinania oraz w kowadle. &lt;br /&gt;
&lt;br /&gt;
W [[Java Edition|wersji Java]] w tym trybie można zakląć dowolny przedmiot na dowolne zaklęcie, dodając zaklętą książkę na wybrany przedmiot w kowadle. Da się w ten sposób uzyskać np. [[patyk]] zaklęty na &#039;&#039;Ostrość&#039;&#039; czy [[piaskowiec]] zaklęty na &#039;&#039;Jedwabny dotyk&#039;&#039;. Nadal nie da się jednak tworzyć przedmiotów z niekompatybilnymi zaklęciami (do patyka nie będzie można dodać &#039;&#039;Pogromcy nieumarłych&#039;&#039;, a do piaskowca &#039;&#039;Szczęścia&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
==== [[Polecenia|Poleceniem]] ====&lt;br /&gt;
Zaklinać można komendą {{Cmd|enchant}}. Działa ona na przedmiot, który gracz w danym momencie trzyma. Daje możliwość tylko na zaklinanie od pierwszego do maksymalnego poziomu. Również i w ten sposób nie da się tworzyć przedmiotów z niekompatybilnymi zaklęciami.&lt;br /&gt;
&lt;br /&gt;
Takie przedmioty można uzyskać, używając polecenie {{cmd|give}}. Przykładowo, poniższa komenda daje graczowi [[łuk]] zaklęty na &#039;&#039;Naprawę&#039;&#039; i &#039;&#039;Nieskończoność&#039;&#039;, niemożliwy do zdobycia w trybie przetrwania:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/give @p bow[enchantments={infinity:1,mending:1}]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Usuwanie zaklęcia ===&lt;br /&gt;
Aby usunąć zaklęcie z przedmiotu, należy umieścić przedmiot w [[Kamień szlifierski|kamieniu szlifierskim]]. Usuwa on wszystkie zaklęcia (z wyjątkiem klątw). Oddaje on za tą operację trochę punktów doświadczenia.&lt;br /&gt;
&lt;br /&gt;
== Typy zaklęć ==&lt;br /&gt;
EID jest nazwą identyfikacyjną zaklęcia w kodzie gry.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;Zaklinane przedmioty&amp;quot; to przedmioty, które można zakląć na [[stół do zaklinania|stole do zaklinania]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;Dodatkowe przedmioty&amp;quot; to przedmioty, które można zakląć, tylko używając [[zaklęta książka|zaklętej książki]] w [[kowadło|kowadle]].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;text-align: center; width: 100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! EID&lt;br /&gt;
! style=&amp;quot;width: 4em;&amp;quot; |Zaklinane przedmioty&lt;br /&gt;
! style=&amp;quot;width: 4em;&amp;quot; |Dodatkowe przedmioty&lt;br /&gt;
! Nazwa ([[Java Edition]])&lt;br /&gt;
! Nazwa angielska ([[Java Edition]])&lt;br /&gt;
! Nazwa ([[Bedrock Edition]])&lt;br /&gt;
! Efekt&lt;br /&gt;
! Maks. moc zaklęcia&lt;br /&gt;
! Kolejne poziomy&lt;br /&gt;
! Dodatkowy opis&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;10&amp;quot; |&lt;br /&gt;
=== Zaklęcia broni ===&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
! &amp;lt;code&amp;gt;protection&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Żelazny hełm|link=Zbroja}} {{InvSprite|Żelazny napierśnik|link=Zbroja}} {{InvSprite|Żelazne nogawice|link=Zbroja}} {{InvSprite|Żelazne buty|link=Zbroja}}{{InvSprite|Skorupa żółwia|link=zbroja}}&lt;br /&gt;
| -&lt;br /&gt;
| Ochrona&lt;br /&gt;
|Protection&lt;br /&gt;
|Ochrona&lt;br /&gt;
| Zmniejsza otrzymywane obrażenia.&lt;br /&gt;
| IV&lt;br /&gt;
|&lt;br /&gt;
| Zbroja z tym zaklęciem nie może jednocześnie uzyskać innego typu ochrony.&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
!&amp;lt;code&amp;gt;fire_protection&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Żelazny hełm|link=Zbroja}} {{InvSprite|Żelazny napierśnik|link=Zbroja}} {{InvSprite|Żelazne nogawice|link=Zbroja}} {{InvSprite|Żelazne buty|link=Zbroja}}{{InvSprite|Skorupa żółwia|link=zbroja}}&lt;br /&gt;
| -&lt;br /&gt;
| Ochrona przed ogniem&lt;br /&gt;
| Fire Protection&lt;br /&gt;
| Ochrona przed ogniem&lt;br /&gt;
| Chroni przed ogniem, lawą, pociskami [[płomyk]]a, [[Ognisko|ogniskami]] itp.&lt;br /&gt;
| IV&lt;br /&gt;
|&lt;br /&gt;
| Zbroja z tym zaklęciem nie może jednocześnie uzyskać innego typu ochrony.&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
!&amp;lt;code&amp;gt;feather_falling&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Żelazne buty|link=Zbroja}}&lt;br /&gt;
| -&lt;br /&gt;
| Łagodny upadek&lt;br /&gt;
| Feather Falling&lt;br /&gt;
| Powolne opadanie&lt;br /&gt;
| Zmniejsza obrażenia od upadku.&lt;br /&gt;
| IV&lt;br /&gt;
| +1 do redukcji obrażeń od upadku (pół serca).&lt;br /&gt;
| &lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
!&amp;lt;code&amp;gt;blast_protection&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Żelazny hełm|link=Zbroja}} {{InvSprite|Żelazny napierśnik|link=Zbroja}} {{InvSprite|Żelazne nogawice|link=Zbroja}} {{InvSprite|Żelazne buty|link=Zbroja}}{{InvSprite|Skorupa żółwia|link=zbroja}}&lt;br /&gt;
| -&lt;br /&gt;
| Ochrona przed wybuchem&lt;br /&gt;
| Blast Protection&lt;br /&gt;
| Ochrona od wybuchów&lt;br /&gt;
| Chroni przed eksplozjami.&lt;br /&gt;
| IV&lt;br /&gt;
|&lt;br /&gt;
| Zbroja z tym zaklęciem nie może jednocześnie uzyskać innego typu ochrony.&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
!&amp;lt;code&amp;gt;projectile protection&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Żelazny hełm|link=Zbroja}} {{InvSprite|Żelazny napierśnik|link=Zbroja}} {{InvSprite|Żelazne nogawice|link=Zbroja}} {{InvSprite|Żelazne buty|link=Zbroja}}{{InvSprite|Skorupa żółwia|link=zbroja}}&lt;br /&gt;
| -&lt;br /&gt;
| Ochrona przed pociskami&lt;br /&gt;
| Projectile Protection&lt;br /&gt;
| Ochrona przed pociskami&lt;br /&gt;
| Chroni przed strzałami, ognistymi kulami, kulami smoka i kulami lewitacji.&lt;br /&gt;
| IV&lt;br /&gt;
|&lt;br /&gt;
| Zbroja z tym zaklęciem nie może jednocześnie uzyskać innego typu ochrony.&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
!&amp;lt;code&amp;gt;respiration&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Żelazny hełm|link=Zbroja}} {{InvSprite|Skorupa żółwia|link=zbroja}}&lt;br /&gt;
| -&lt;br /&gt;
| Oddychanie&lt;br /&gt;
| Respiration&lt;br /&gt;
| Oddychanie&lt;br /&gt;
| Zmniejsza utratę powietrza przy długim nurkowaniu.&lt;br /&gt;
| III&lt;br /&gt;
| Czas możliwego przebywania pod wodą +15 sekund; czas pomiędzy obrażeniami +1 sekunda&lt;br /&gt;
|&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
!&amp;lt;code&amp;gt;aqua_affinity&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Żelazny hełm|link=Zbroja}} {{InvSprite|Skorupa żółwia|link=zbroja}}&lt;br /&gt;
| -&lt;br /&gt;
| Wydajność pod wodą&lt;br /&gt;
| Aqua Affinity&lt;br /&gt;
| Powinowactwo wodne&lt;br /&gt;
| Przyspiesza wydobywanie pod wodą.&lt;br /&gt;
| I&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
!&amp;lt;code&amp;gt;thorns&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Żelazny napierśnik|link=Zbroja}}&lt;br /&gt;
| {{InvSprite|Żelazny hełm|link=Zbroja}} {{InvSprite|Żelazne nogawice|link=Zbroja}} {{InvSprite|Żelazne buty|link=Zbroja}} {{InvSprite|Skorupa żółwia|link=zbroja}}&lt;br /&gt;
| Ciernie&lt;br /&gt;
| Thorns&lt;br /&gt;
| Ciernie&lt;br /&gt;
| Zadaje niewielkie obrażenia atakującemu.&lt;br /&gt;
| III&lt;br /&gt;
| Odejmuje 1 wytrzymałości zbroi&amp;lt;br&amp;gt;&lt;br /&gt;
+2% szansy na zadanie obrażeń&lt;br /&gt;
| Odejmuje wytrzymałość zbroi, jeżeli przeciwnik cię uderzy (zależne od poziomu).&lt;br /&gt;
Zadaje obrażenia przeciwnikowi nawet jeżeli strzela z łuku (nie działa na śnieżki i jajka)&amp;lt;br&amp;gt;&lt;br /&gt;
Obrażenia bez zbroi od 0 do 3 serc.&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
!&amp;lt;code&amp;gt;swift_sneak&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Żelazne nogawice|link=Zbroja}}&lt;br /&gt;
| -&lt;br /&gt;
| Przemykanie&lt;br /&gt;
| Swift Sneak&lt;br /&gt;
| Szybkie skradanie&lt;br /&gt;
| Powoduje, że gracz szybciej chodzi, kucając.&lt;br /&gt;
| III&lt;br /&gt;
| &lt;br /&gt;
| Można znaleźć tylko w [[Pradawne miasto|pradawnym mieście.]]&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
!&amp;lt;code&amp;gt;depth_strider&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Żelazne buty|link=Zbroja}}&lt;br /&gt;
| -&lt;br /&gt;
| Głębinowy wędrowiec&lt;br /&gt;
| Depth Strider&lt;br /&gt;
| Głębinowy wędrowiec&lt;br /&gt;
| Umożliwia szybsze poruszanie się w wodzie.&lt;br /&gt;
| III&lt;br /&gt;
| Każdy poziom redukuje spowolnienie spowodowane przez wodę o ⅓. Poziom III pozwala płynąć z prędkością chodzenia (każdy poziom więcej nie będzie miał wpływu na prędkość poruszania)&lt;br /&gt;
| Nie zmienia prędkości płynięcia pionowego.&lt;br /&gt;
Używając komend, bądź programów zewnętrznych, można nadać to zaklęcie innym częściom zbroi – zaklęcie w takim przypadku będzie działało tak samo.&amp;lt;br&amp;gt;&lt;br /&gt;
Część zbroi z tym zaklęciem nie może dodatkowo uzyskać zaklęcia &#039;&#039;Mroźny piechur&#039;&#039;.&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
!&amp;lt;code&amp;gt;frost_walker&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Żelazne buty|link=Zbroja}}&lt;br /&gt;
| -&lt;br /&gt;
| Mroźny piechur&lt;br /&gt;
| Frost Walker&lt;br /&gt;
| Spacer po lodzie&lt;br /&gt;
| Zamienia [[woda|wodę]] pod [[gracz]]em w [[oszroniony lód]].&lt;br /&gt;
| II&lt;br /&gt;
| +1 do zasięgu zamrażania.&lt;br /&gt;
| Gdy gracz stoi na solidnym bloku, wszystkie bloki wody na tej samej wysokości w promieniu 2+ poziom zaklęcia od bloku na którym stoi zamienią się w [[oszroniony lód]]. Narzędzie z tym zaklęciem nie może dodatkowo uzyskać zaklęcia &#039;&#039;Głębinowy wędrowiec&#039;&#039;.&lt;br /&gt;
To rzadkie zaklęcie, co znaczy, że trzeba je znaleźć w skrzyniach, wyłowić albo wyhandlować u osadnika.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;soul_speed&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Żelazne buty|link=Zbroja}}&lt;br /&gt;
| -&lt;br /&gt;
| Prędkość dusz&lt;br /&gt;
| Soul Speed&lt;br /&gt;
| Szybkość dusz&lt;br /&gt;
| Umożliwia szybsze poruszanie się na [[Piasek dusz|piasku dusz]] i [[Gleba dusz|glebie dusz]].&lt;br /&gt;
| III&lt;br /&gt;
| Każdy poziom zwiększa prędkość poruszania się po piasku dusz o ⅓.&lt;br /&gt;
| Możliwe do zdobycia tylko ze [[Skrzynia|skrzyń]] w [[Ruiny bastionu|ruinach bastionu]] oraz poprzez handel z [[Piglin|piglinami]].&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;10&amp;quot; |&lt;br /&gt;
=== Zaklęcia zbroi ===&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
!&amp;lt;code&amp;gt;sharpness&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Żelazny miecz|link=Miecz}}&lt;br /&gt;
| {{InvSprite|Żelazna siekiera|link=Siekiera}}&lt;br /&gt;
| Ostrość&lt;br /&gt;
| Sharpness&lt;br /&gt;
| Ostrość&lt;br /&gt;
| Zadaje dodatkowe obrażenia.&lt;br /&gt;
| V&lt;br /&gt;
| Dodatkowe 1 serce obrażeń na l poziom. Na następne – po 0,5 serca. &lt;br /&gt;
| Łącznie na poz. V + 2,5 obrażeń. Miecz z tym zaklęciem nie może uzyskać dodatkowo zaklęć &#039;&#039;Pogromca nieumarłych&#039;&#039; i &#039;&#039;Zmora stawonogów&#039;&#039;.&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
!&amp;lt;code&amp;gt;smite&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Żelazny miecz|link=Miecz}}&lt;br /&gt;
| {{InvSprite|Żelazna siekiera|link=Siekiera}} {{InvSprite|Buzdygan|link=Buzdygan}}&lt;br /&gt;
| Pogromca nieumarłych&lt;br /&gt;
| Smite&lt;br /&gt;
| Pogromca nieumarłych&lt;br /&gt;
| Zadaje dodatkowe obrażenia [[zombie]], [[Zzombifikowany piglin|zzombifikowanym piglinom]], [[zoglin]]om, [[szkielet]]om, [[Witherowy szkielet|witherowym szkieletom]], [[Osadnik zombie|zombie osadnikom]], [[posuch]]om, [[tułacz]]om, [[Utopiec|utopcom]], [[bagniak]]om, [[wither]]om, [[fantom]]om oraz [[nieumarły koń|nieumarłym koniom]].&lt;br /&gt;
| V&lt;br /&gt;
| Dodatkowe 2 serca obrażeń na poziom.&lt;br /&gt;
| Dodatkowe obrażenia są losowe przy każdym uderzeniu, jednak wynoszą przynajmniej 0,5 serca. Miecz z tym zaklęciem nie może uzyskać dodatkowo zaklęć &#039;&#039;Ostrość&#039;&#039; i &#039;&#039;Zmora stawonogów&#039;&#039;.&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
!&amp;lt;code&amp;gt;bane_of_arthropods&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Żelazny miecz|link=Miecz}}&lt;br /&gt;
| {{InvSprite|Żelazna siekiera|link=Siekiera}}{{InvSprite|Buzdygan|link=Buzdygan}}&lt;br /&gt;
| Zmora stawonogów &lt;br /&gt;
| Bane of Arthropods&lt;br /&gt;
| Zmora stawonogów&lt;br /&gt;
| Zadaje dodatkowe obrażenia [[pająk]]om, [[Pająk jaskiniowy|pająkom jaskiniowym]], [[Rybik cukrowy|rybikom cukrowym]], [[endermit]]om oraz [[Pszczoła|pszczołom]].&lt;br /&gt;
| V&lt;br /&gt;
| Dodatkowe 2 serca obrażeń na poziom.&lt;br /&gt;
| Dodatkowo nadaje tym mobom efekt spowolnienia IV na 3,5 sekundy (na V poziomie). Dodatkowe obrażenia są losowe przy każdym uderzeniu, jednak wynoszą przynajmniej 0,5 serca. Miecz z tym zaklęciem nie może uzyskać dodatkowo zaklęć &#039;&#039;Ostrość&#039;&#039; i &#039;&#039;Pogromca nieumarłych&#039;&#039;.&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
!&amp;lt;code&amp;gt;knockback&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Żelazny miecz|link=Miecz}}&lt;br /&gt;
| -&lt;br /&gt;
| Odrzut&lt;br /&gt;
| Knockback&lt;br /&gt;
| Odrzut&lt;br /&gt;
| Odrzuca byty. &lt;br /&gt;
| II&lt;br /&gt;
|&lt;br /&gt;
| Nie łączy się z dodatkowym odrzutem przy ataku w trakcie biegu.&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
!&amp;lt;code&amp;gt;fire_aspect&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Żelazny miecz|link=Miecz}}{{InvSprite|Buzdygan|link=Buzdygan}}&lt;br /&gt;
| -&lt;br /&gt;
| Zaklęty ogień&lt;br /&gt;
| Fire Aspect&lt;br /&gt;
| Zaklęty ogień&lt;br /&gt;
| Atakowane byty stają w ogniu.&lt;br /&gt;
| II&lt;br /&gt;
| 0,5 serca dodatkowych obrażeń na sekundę.&lt;br /&gt;
| Mięso zostanie upieczone, jeżeli mob zostanie zabity w wyniku obrażeń od ognia.&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
!&amp;lt;code&amp;gt;looting&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Żelazny miecz|link=Miecz}}&lt;br /&gt;
| -&lt;br /&gt;
| Grabież&lt;br /&gt;
| Looting&lt;br /&gt;
| Grabież&lt;br /&gt;
| Z mobów wypada więcej przedmiotów.&lt;br /&gt;
| III&lt;br /&gt;
| +1 do maksymalnej ilości przedmiotów. Zwiększa szanse na uzyskanie łupu. &lt;br /&gt;
|&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
!&amp;lt;code&amp;gt;sweeping_edge&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Żelazny miecz|link=Miecz}}&lt;br /&gt;
| -&lt;br /&gt;
| Szerokie ostrze&lt;br /&gt;
| Sweeping Edge&lt;br /&gt;
| &amp;lt;s&amp;gt;Nie istnieje w wersji Bedrock Edition&amp;lt;/s&amp;gt;&lt;br /&gt;
| Zwiększa zadawane obrażenia bytom, które znajdują się w pobliżu atakowanego bytu.&lt;br /&gt;
| III&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
!&amp;lt;code&amp;gt;power&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Łuk|link=Łuk}}&lt;br /&gt;
| -&lt;br /&gt;
| Moc&lt;br /&gt;
| Power&lt;br /&gt;
| Moc&lt;br /&gt;
| Dodatkowe obrażenia.&lt;br /&gt;
| V&lt;br /&gt;
| Mnożymy podstawowe obrażenia razy:&lt;br /&gt;
I: 1.5,&amp;lt;br&amp;gt;&lt;br /&gt;
II: 1.75,&amp;lt;br&amp;gt;&lt;br /&gt;
III: 2.0,&amp;lt;br&amp;gt; &lt;br /&gt;
IV: 2.25,&amp;lt;br&amp;gt;&lt;br /&gt;
V: 2.5.&lt;br /&gt;
| &lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
!&amp;lt;code&amp;gt;punch&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Łuk|link=Łuk}}&lt;br /&gt;
| -&lt;br /&gt;
| Uderzenie&lt;br /&gt;
| Punch&lt;br /&gt;
| Uderzenie&lt;br /&gt;
| Efekt odrzutu na byty.&lt;br /&gt;
| II&lt;br /&gt;
| Byty są odrzucane dalej niż zwykle.&lt;br /&gt;
| &lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
!&amp;lt;code&amp;gt;flame&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Łuk|link=Łuk}}&lt;br /&gt;
| -&lt;br /&gt;
| Płomień&lt;br /&gt;
| Flame&lt;br /&gt;
| Płomień&lt;br /&gt;
| Strzały i trafione byty stają w płomieniach.&lt;br /&gt;
| I&lt;br /&gt;
| &lt;br /&gt;
|Przy pomocy strzały wystrzelonej z łuku z tym zaklęciem, można aktywować TNT.&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
!&amp;lt;code&amp;gt;infinity&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Łuk|link=Łuk}}&lt;br /&gt;
| -&lt;br /&gt;
| Nieskończoność&lt;br /&gt;
| Infinity&lt;br /&gt;
| Nieskończoność&lt;br /&gt;
| Daje nieskończoną ilość strzał z pojedynczą strzałą w [[ekwipunek|ekwipunku]].&lt;br /&gt;
| I&lt;br /&gt;
|&lt;br /&gt;
| Może to być szczególnie użyteczne przeciwko [[Smok Endu|smokowi Endu]]. Strzały uzyskane dzięki temu zaklęciu nie mogą zostać odzyskane, podobnie jak w przypadku strzał [[szkielet]]ów. Łuk z tym zaklęciem nie może dodatkowo uzyskać zaklęcia &#039;&#039;Naprawa&#039;&#039;.&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
!&amp;lt;code&amp;gt;loyalty&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Trójząb|link=Trójząb}}&lt;br /&gt;
| -&lt;br /&gt;
| Lojalność&lt;br /&gt;
| Loyalty&lt;br /&gt;
| Lojalność&lt;br /&gt;
| Trójząb wraca do gracza po rzuceniu.&lt;br /&gt;
| III&lt;br /&gt;
| Krótszy czas powrotu.&lt;br /&gt;
| Trójząb z tym zaklęciem nie może dodatkowo uzyskać zaklęcia &#039;&#039;Torpeda&#039;&#039;.&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
!&amp;lt;code&amp;gt;channeling&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Trójząb|link=Trójząb}}&lt;br /&gt;
| -&lt;br /&gt;
| Porażenie&lt;br /&gt;
| Channeling&lt;br /&gt;
| Przekierowanie&lt;br /&gt;
| Jeśli jest burza, trafionego przez trójząb uderzy piorun.&lt;br /&gt;
| I&lt;br /&gt;
| &lt;br /&gt;
| Trójząb z tym zaklęciem nie może dodatkowo uzyskać zaklęcia &#039;&#039;Torpeda&#039;&#039;.&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
!&amp;lt;code&amp;gt;impaling&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Trójząb|link=Trójząb}}&lt;br /&gt;
| -&lt;br /&gt;
| Przebicie&lt;br /&gt;
| Impaling&lt;br /&gt;
| Przebicie&lt;br /&gt;
| Trójząb zadaje większe obrażenie podwodnym stworzeniom.&lt;br /&gt;
| V&lt;br /&gt;
| Każdy poziom zwiększa obrażenia o 2,5 serca.&lt;br /&gt;
| &lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
!&amp;lt;code&amp;gt;riptide&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Trójząb|link=Trójząb}}&lt;br /&gt;
| -&lt;br /&gt;
| Torpeda&lt;br /&gt;
| Riptide&lt;br /&gt;
| Prąd odpływowy&lt;br /&gt;
| Umożliwia używanie trójzębu jako środka transportu. Gdy gracz jest w wodzie lub jeśli jest burza, transportuje (wyrzuca) gracza.&lt;br /&gt;
| III&lt;br /&gt;
| Każdy poziom zwiększa zasięg wyrzutu gracza.&lt;br /&gt;
| Trójząb z tym zaklęciem nie może dodatkowo uzyskać zaklęć &#039;&#039;Porażenie&#039;&#039; i &#039;&#039;Lojalność&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;quick_charge&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Kusza|link=Kusza}}&lt;br /&gt;
| -&lt;br /&gt;
| Szybkie ładowanie&lt;br /&gt;
| Quick Charge&lt;br /&gt;
| Szybkie ładowanie&lt;br /&gt;
| Skraca czas ładowania kuszy.&lt;br /&gt;
| III&lt;br /&gt;
| Każdy poziom skraca czas ładowania o 0,25 sekundy.&lt;br /&gt;
| Na III-cim poziomie są nieco szybsze niż [[łuk]]i.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;multishot&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Kusza|link=Kusza}}&lt;br /&gt;
| -&lt;br /&gt;
| Wielostrzał&lt;br /&gt;
| Multishot&lt;br /&gt;
| Wielostrzał&lt;br /&gt;
| Wystrzeliwuje na raz 3 pociski, ale zużywa tylko jeden.&lt;br /&gt;
| I&lt;br /&gt;
|&lt;br /&gt;
| Kusza z tym zaklęciem nie może dodatkowo uzyskać zaklęcia &#039;&#039;Przeszycie&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;piercing&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Kusza|link=Kusza}}&lt;br /&gt;
| -&lt;br /&gt;
| Przeszycie&lt;br /&gt;
| Piercing&lt;br /&gt;
| Przebijający&lt;br /&gt;
| Strzała przelatuje przez byty zadając im obrażenia.&lt;br /&gt;
| IV&lt;br /&gt;
| Każdy poziom zwiększa ilość bytów przez które przelatuje strzała.&lt;br /&gt;
| Kusza z tym zaklęciem nie może dodatkowo uzyskać zaklęcia &#039;&#039;Wielostrzał&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;density&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Buzdygan|link=Buzdygan}}&lt;br /&gt;
| -&lt;br /&gt;
| Masywność&lt;br /&gt;
| Density&lt;br /&gt;
| ?&lt;br /&gt;
| Każdy kolejny poziom zwiększa obrażenia buzdyganu proporcjonalnie do wysokości, z jakiej spadł atakujący gracz.&lt;br /&gt;
| V&lt;br /&gt;
|&lt;br /&gt;
| Buzdygan z tym zaklęciem nie może dodatkowo uzyskać zaklęcia &#039;&#039;Przedarcie&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;breach&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Buzdygan|link=Buzdygan}}&lt;br /&gt;
| -&lt;br /&gt;
| Przedarcie&lt;br /&gt;
| Breach&lt;br /&gt;
| ?&lt;br /&gt;
| Zmniejsza efektywność zbroi u atakowanego gracza.&lt;br /&gt;
| IV&lt;br /&gt;
| Efektywność spada o:&lt;br /&gt;
I: 15%,&amp;lt;br&amp;gt; &lt;br /&gt;
II: 30%,&amp;lt;br&amp;gt;&lt;br /&gt;
III: 45%,&amp;lt;br&amp;gt; &lt;br /&gt;
IV: 60%.&lt;br /&gt;
| Buzdygan z tym zaklęciem nie może dodatkowo uzyskać zaklęcia &#039;&#039;Masywność&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;wind_burst&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Buzdygan|link=Buzdygan}}&lt;br /&gt;
| -&lt;br /&gt;
| Wicher&lt;br /&gt;
| Wind Burst&lt;br /&gt;
| ?&lt;br /&gt;
| Atakujący gracz zostaje wyrzucony w górę przez podmuch wiatru, jeśli trafił cel, co umożliwia zadanie kolejnego silnego ciosu.&lt;br /&gt;
| III&lt;br /&gt;
| Każdy poziom wyrzuca gracza o 8 bloków wyżej.&lt;br /&gt;
| Możliwy do uzyskania tylko ze [[Skarbiec|skarbców]] w [[Komnaty próby|komnatach próby]].&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;10&amp;quot; |&lt;br /&gt;
=== Zaklęcia narzędzi ===&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
!&amp;lt;code&amp;gt;efficiency&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Żelazny kilof|link=Kilof}} {{InvSprite|Żelazna łopata|link=Łopata}} {{InvSprite|Żelazna siekiera|link=Siekiera}} {{InvSprite|Żelazna motyka|link=Motyka}}&lt;br /&gt;
| {{InvSprite|Nożyce|link=Nożyce}}&lt;br /&gt;
| Wydajność&lt;br /&gt;
| Efficiency&lt;br /&gt;
| Wydajność&lt;br /&gt;
| Umożliwia szybsze pozyskiwanie zasobów. Po nałożeniu na siekierę, działa również jako blokada kolejnego użycia tarczy u przeciwnika.&lt;br /&gt;
| V&lt;br /&gt;
| +10% prędkość wydobycia.&lt;br /&gt;
| Większość bloków pęka niemalże od razu na IV i/lub V poziomie.&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
!&amp;lt;code&amp;gt;silk_touch&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Żelazny kilof|link=Kilof}} {{InvSprite|Żelazna łopata|link=Łopata}} {{InvSprite|Żelazna siekiera|link=Siekiera}} {{InvSprite|Żelazna motyka|link=Motyka}}&lt;br /&gt;
| -&lt;br /&gt;
| Jedwabny dotyk&lt;br /&gt;
| Silk Touch&lt;br /&gt;
| Jedwabny dotyk&lt;br /&gt;
| Gracz uzyskuje blok, który wydobywa, czyli np. gdy wydobywa [[kamień]], to uzyska kamień, a nie jak normalnie – [[bruk]]. Są jednak wyjątki, takie jak np. [[przyzywacz potworów]].&lt;br /&gt;
| I&lt;br /&gt;
|&lt;br /&gt;
| Działa m.in. na [[kamień]], [[lód]], [[szkło]], [[blok trawy]], [[Grzybnia|grzybnię]], [[wielkie grzyby]], [[Skrzynia Endu|skrzynię Endu]], [[jasnogłaz]], [[arbuz]]y, [[bielica|bielicę]], [[Pszczele gniazdo i pszczeli ul|pszczele gniazdo]], [[Latarnia morska|latarnie morską]] oraz wszystkie [[złoża]]. Narzędzie z tym zaklęciem nie może dodatkowo uzyskać zaklęcia &#039;&#039;Szczęście&#039;&#039;.&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
!&amp;lt;code&amp;gt;fortune&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Żelazny kilof|link=Kilof}} {{InvSprite|Żelazna łopata|link=Łopata}} {{InvSprite|Żelazna siekiera|link=Siekiera}} {{InvSprite|Żelazna motyka|link=Motyka}}&lt;br /&gt;
| -&lt;br /&gt;
| Szczęście&lt;br /&gt;
| Fortune&lt;br /&gt;
| Fortuna&lt;br /&gt;
| Może zwiększyć ilość wypadających przedmiotów z bloków.&lt;br /&gt;
| III&lt;br /&gt;
| I: 30% szans na 2 (30% więcej),&lt;br /&gt;
II: 25% na 2, 25% na 3 (75% więcej),&amp;lt;br&amp;gt;&lt;br /&gt;
III: 20% na 2, 20% na 3, 20% na 4 (120% więcej).&lt;br /&gt;
| Działa m.in. na wszystkie [[złoża]], [[Brodawka|brodawki]], [[żwir]] i [[jasnogłaz]]. Przy użyciu na [[nasiona]]ch, zwiększona liczba dotyczy tylko nasion. Od poziomu III, szansa na wypadnięcie [[Krzemień|krzemienia]] ze [[żwir]]u wynosi 100%. Narzędzie z tym zaklęciem nie może dodatkowo uzyskać zaklęcia &#039;&#039;Jedwabny dotyk&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
!&amp;lt;code&amp;gt;luck_of_the_sea&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Wędka|link=Wędka}}&lt;br /&gt;
| -&lt;br /&gt;
| Morska fortuna&lt;br /&gt;
| Luck of the Sea&lt;br /&gt;
| Morska Fortuna&lt;br /&gt;
| Zwiększa szanse na złowienie [[Wędka#Połów|cennych przedmiotów]].&lt;br /&gt;
| III&lt;br /&gt;
| +1% na wyłowienie cennego przedmiotu.&amp;lt;br&amp;gt;−2,5% na wyłowienie przedmiotu bezużytecznego&lt;br /&gt;
| &lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
!&amp;lt;code&amp;gt;lure&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Wędka|link=Wędka}}&lt;br /&gt;
| -&lt;br /&gt;
| Przynęta&lt;br /&gt;
| Lure&lt;br /&gt;
| Przynęta&lt;br /&gt;
| Przyśpiesza łowienie.&lt;br /&gt;
| III&lt;br /&gt;
| −5 sekund oczekiwania na rybę.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;10&amp;quot; |&lt;br /&gt;
=== Inne zaklęcia ===&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
!&amp;lt;code&amp;gt;mending&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
| Wszystkie narzędzia, bronie i zbroja dla gracza&lt;br /&gt;
| Naprawa&lt;br /&gt;
| Mending&lt;br /&gt;
| Naprawa&lt;br /&gt;
| Naprawia przedmioty, używając podniesionych [[kula doświadczenia|kul doświadczenia]].&lt;br /&gt;
| I&lt;br /&gt;
| &lt;br /&gt;
| Gdy przedmiot z tym zaklęciem jest trzymany, bądź ubrany (główna ręka, druga ręka, lub sloty zbroi), oraz jest uszkodzony, zebrane [[kula doświadczenia|kule doświadczenia]] będą naprawiały 2 punkty wytrzymałości za jeden punkt doświadczenia, w zamian za zwiększanie poziomu doświadczenia gracza. Jeżeli więcej niż jeden przedmiot wymaga naprawy, wtedy losowy przedmiot zostanie naprawiony.&lt;br /&gt;
Łuk z tym zaklęciem nie może dodatkowo uzyskać zaklęcia &#039;&#039;Nieskończoność&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
To rzadkie zaklęcie, co znaczy, że trzeba je znaleźć w skrzyniach, wyłowić albo wyhandlować u osadnika.&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
!&amp;lt;code&amp;gt;unbreaking&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{InvSprite|Żelazny hełm|link=Zbroja}} {{InvSprite|Żelazny napierśnik|link=Zbroja}} {{InvSprite|Żelazne nogawice|link=Zbroja}} {{InvSprite|Żelazne buty|link=Zbroja}}{{InvSprite|Skorupa żółwia|link=zbroja}} {{InvSprite|Żelazny miecz|link=Miecz}} {{InvSprite|Żelazna siekiera|link=Siekiera}} {{InvSprite|Buzdygan|link=Buzdygan}} {{InvSprite|Wędka|link=Wędka}} {{InvSprite|Żelazny kilof|link=Kilof}} {{InvSprite|Żelazna łopata|link=Łopata}} {{InvSprite|Żelazna siekiera|link=Siekiera}} {{InvSprite|Żelazna motyka|link=Motyka}} {{InvSprite|Kusza|link=Kusza}} {{InvSprite|Trójząb|link=Trójząb}} {{InvSprite|Łuk|link=Łuk}}&lt;br /&gt;
| {{InvSprite|Nożyce|link=Nożyce}} {{InvSprite|Marchewka na patyku|link=Marchewka na patyku}} {{InvSprite|Spaczony grzyb na patyku|link=Spaczony grzyb na patyku}} {{InvSprite|Tarcza|link=Tarcza}} {{InvSprite|Elytry|link=Elytry}} {{InvSprite|Krzesiwo|link=Krzesiwo}} {{InvSprite|Pędzel|link=Pędzel}}&lt;br /&gt;
| Niezniszczalność&lt;br /&gt;
| Unbreaking&lt;br /&gt;
| Niezniszczalność&lt;br /&gt;
| Zwiększa wytrzymałość przedmiotu.&lt;br /&gt;
| III&lt;br /&gt;
| Dla narzędzi i broni:&lt;br /&gt;
I: 100% więcej,&amp;lt;br&amp;gt;&lt;br /&gt;
II: 200% więcej,&amp;lt;br&amp;gt;&lt;br /&gt;
III: 300% więcej.&amp;lt;br&amp;gt;&lt;br /&gt;
Dla zbroi:&amp;lt;br&amp;gt;&lt;br /&gt;
I: 25% więcej,&amp;lt;br&amp;gt;&lt;br /&gt;
II: 36.4% więcej,&amp;lt;br&amp;gt;&lt;br /&gt;
III: 42.9% więcej.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;10&amp;quot; |&lt;br /&gt;
=== Klątwy ===&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;binding_curse&amp;lt;/code&amp;gt; &amp;lt;!--Nie &amp;quot;curse_of_binding&amp;quot;, sprawdziłem --&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
| Zbroja dla gracza, elytry, skorupa żółwia, [[wykrojona dynia]] i [[Głowa|głowy]] mobów/graczy&lt;br /&gt;
| Klątwa uwiązania&lt;br /&gt;
| Curse of Binding&lt;br /&gt;
| Klątwa wiązania&lt;br /&gt;
| Sprawia, że nie można zdjąć z siebie przedmiotu z tą klątwą.&lt;br /&gt;
| I&lt;br /&gt;
|&lt;br /&gt;
| Jedynym sposobem na ściągnięcie z siebie przedmiotu z tą klątwą jest przełączenie się na tryb kreatywny, śmierć lub zniszczenie się przedmiotu.&lt;br /&gt;
Klątwa liczy się jako rzadkie zaklęcie, co znaczy, że trzeba je znaleźć w skrzyniach, wyłowić albo wyhandlować u osadnika.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;vanishing_curse&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
| Wszystkie narzędzia, bronie i zbroja dla gracza, a także [[kompas]], [[kompas powrotny]], [[wykrojona dynia]] i [[Głowa|głowy]] mobów/graczy&lt;br /&gt;
| Klątwa znikania&lt;br /&gt;
| Curse of Vanishing&lt;br /&gt;
| Klątwa znikania&lt;br /&gt;
| Przedmiot z tą klątwą znika po śmierci posiadacza.&lt;br /&gt;
| I&lt;br /&gt;
|&lt;br /&gt;
| Efektu znikania można uniknąć ustawiając zasadę &#039;&#039;keepInventory&#039;&#039; na &#039;&#039;true&#039;&#039;.&lt;br /&gt;
Klątwa liczy się jako rzadkie zaklęcie, co znaczy, że trzeba je znaleźć w skrzyniach, wyłowić albo wyhandlować u osadnika.&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;10&amp;quot; |&lt;br /&gt;
=== Eksperymentalne ===&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
| {{InvSprite|Żelazna siekiera|link=Siekiera}}&lt;br /&gt;
| -&lt;br /&gt;
| &amp;lt;s&amp;gt;Nie istnieje&amp;lt;/s&amp;gt;&lt;br /&gt;
| Cleaving&lt;br /&gt;
| &amp;lt;s&amp;gt;Nie istnieje&amp;lt;/s&amp;gt;&lt;br /&gt;
| Zwiększa czas oczekiwania na kolejne użycie tarczy u przeciwnika.&lt;br /&gt;
| III&lt;br /&gt;
| &lt;br /&gt;
| Tylko nieoficjalne snapshoty walki.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Galaktyczny alfabet ==&lt;br /&gt;
[[Plik:Galaktyczny alfabet.png|center|400px]]Stworzony na potrzeby gry [https://pl.wikipedia.org/wiki/Commander_Keen Commander Keen], wykorzystany został przez [[Mojang Studios|Mojang AB]] do generowania treści zaklęć.&lt;br /&gt;
&lt;br /&gt;
== Postępy ==&lt;br /&gt;
{{main|Postępy}}&lt;br /&gt;
{{Postępy|start}}&lt;br /&gt;
{{Postępy|category:minecraft}}&lt;br /&gt;
{{Postępy|opis}}&lt;br /&gt;
{{Postępy|Zaklinacz}}&lt;br /&gt;
{{Postępy|end}}&lt;br /&gt;
&lt;br /&gt;
== Historia ==&lt;br /&gt;
{{Historia||30 września 2011|link=none|[[Plik:Stół do zaklęć (pierwsza tekstura).png|32px]] Pierwsze wzmianki o stole do zaklinania. Notch stwierdził że proces wyboru działania zaklęcia będzie 3-etapowy oraz że nie zabraknie elementu losowego.&lt;br /&gt;
|[[Plik:Stół do zaklęć (druga tekstura).png|32px]] Tego samego dnia Notch zaprezentował drugą teksturę stołu do zaklinania.}}&lt;br /&gt;
{{Historia||1 października 2011|link=none|Ujawniają się pierwsze obrazy ekranu zaklęć z zaklęciami zapisanymi w standardowym alfabecie galaktycznym. Pierwsze zaklęcie przekłada się na „Dobrze rozegrane Internet, jesteś dobry”, drugie na „Te nazwy będą losowe i mylące”, a trzecie – na „Każde zaklęcie kosztuje poziomy doświadczenia”. Standardowy alfabet galaktyczny lub SGA został pierwotnie stworzony przez Toma Halla do wykorzystania w serii gier komputerowych Commander Keen.}}&lt;br /&gt;
{{Historia||3 października 2011|link=none|Ujawniono pierwsze zrzuty ekranu gracza noszącego zaklętą zbroję.}}&lt;br /&gt;
{{Historia|beta}}&lt;br /&gt;
{{Historia||Beta 1.9 Prerelease 3|[[Plik:Stół do zaklęć przed TextureUpdate.png|32px]] Dodano stół do zaklinania.&lt;br /&gt;
|Dodano zaklinanie.&lt;br /&gt;
|Zaklęcia mają być oznaczone w tabeli zaklęć jako losowe słowa zapisane w standardowym alfabecie galaktycznym.}}&lt;br /&gt;
{{Historia||Beta 1.9 Prerelease 4|Naprawiono błąd, w wyniku którego wszystkie zaklęcia pojawiały się jako „Powolne Upadanie”.&lt;br /&gt;
|Naprawiono zaklinanie w trybie wieloosobowym.&lt;br /&gt;
|Stół do zaklęć wymaga teraz biblioteczek wokół do lepszych zaklęć.}}&lt;br /&gt;
{{Historia|pełna}}&lt;br /&gt;
{{Historia||1.0|Oficjalnie dodano zaklinanie.}}&lt;br /&gt;
{{Historia||1.1|Można zaklinać łuki.}}&lt;br /&gt;
{{Historia||1.2.1|Zaklinanie nie wymaga już kul doświadczenia w trybie kreatywnym.|snap=12w05a}}&lt;br /&gt;
{{Historia|||Łuki i złote miecze mają teraz niewielką szansę na to, że zostaną już zaklęte, gdy zostaną upuszczone przez odpowiednie moby.|snap=12w06a}}&lt;br /&gt;
{{Historia||?|Trzecia rubryka z zaklinanie z stołu zaklęć zawsze będzie miała maksymalny 50. poziom.}}&lt;br /&gt;
{{Historia||1.3.1|Zmniejszono maksymalny poziom zaklinania z 50. do 30.&lt;br /&gt;
|Doświadczenie można teraz zbierać podczas wydobywania i wytapiania przedmiotów w piecu.|snap=12w22a}}&lt;br /&gt;
{{Historia|||Błysk (animowany efekt poświaty zaklętych przedmiotów) jest teraz widoczny w trybie dla wielu graczy.|snap=12w23a}}&lt;br /&gt;
{{Historia||1.4.2|[[Plik:Kowadło przed Texture Update.png|32px]] Dodano kowadła.&lt;br /&gt;
|Zaklęcia można teraz łączyć za pomocą kowadeł, co pozwala na nakładanie niektórych zaklęć wysokiego poziomu tam, gdzie wcześniej nie były one możliwe.|snap=12w41a}}&lt;br /&gt;
{{Historia||1.4.4|Dodano komendę &amp;lt;code&amp;gt;/enchant&amp;lt;/code&amp;gt;, za pomocą której można zaklinać przedmiot u danego gracza, który teraz trzyma.&lt;br /&gt;
|W komendzie wpisywało się IDE, a nie nazwę zaklęcia. Nie można było wpisać 0, co powodowało niemożność zaklinania na &#039;&#039;Ochronę&#039;&#039;.|snap=Prerelease 1}}&lt;br /&gt;
{{Historia||1.4.6|Naprawiono błąd powyżej.&lt;br /&gt;
|Można teraz zaklinać książki.|snap=12w49a}}&lt;br /&gt;
{{Historia||1.7.2|Wędkę można teraz zakląć w stole do zaklinania, a nie tylko w kowadle.|snap=12w49a}}&lt;br /&gt;
{{Historia||1.8|Teraz trzeba używać [[Plik:Lazuryt przed TextureUpdate.png|32px]] lazurytu do zaklinania w stole do zaklęć.&lt;br /&gt;
|Podczas najechania kursorem na jedną z trzech opcji pokazuje się podpowiedź dotycząca jednego z zaklęć (nawet jak po zaklęciu będzie tylko te jedne). Wygląda to mniej więcej tak: „Odrzut II?...”.&lt;br /&gt;
|Poziomy są teraz tak trudne do uzyskania, jak w wersji 1.3.1 Prerelease 1.&lt;br /&gt;
|Zaklęcia poziomu 5 (&#039;&#039;Ostrość&#039;&#039;, &#039;&#039;Moc&#039;&#039;, &#039;&#039;Pogromca nieumarłych&#039;&#039; i &#039;&#039;Zmora stawonogów&#039;&#039;) można teraz nakładać w stole do zaklinania.&lt;br /&gt;
|Kapłani nie zaklinają już przedmiotów, a kowale handlują zaklętymi przedmiotami.|snap=14w02a}}&lt;br /&gt;
{{Historia||1.9|Zaklęcia z maksymalnie 1 poziomem nie wyświetlają już numeru poziomu, np. zamiast &#039;&#039;Nieskończoność I&#039;&#039; jest &#039;&#039;Nieskończoność&#039;&#039;.|snap=15w42a}}&lt;br /&gt;
{{Historia|||Nożyc nie można już zakląć na &#039;&#039;Jedwabny dotyk&#039;&#039;.|snap=15w47b}}&lt;br /&gt;
{{Historia|||Nożyce zbierają teraz pajęczynę bez konieczności zaklęcia na &#039;&#039;Jedwabny dotyk&#039;&#039;.|snap=15w47c}}&lt;br /&gt;
{{Historia||1.10|Dodano dźwięki dla stołu do zaklinania.}}&lt;br /&gt;
{{Historia||1.11.1|Kowadła nie pozwalają już zaklętym książkom nakładać się na przedmioty, jeśli żadna zmiana w zaklęciach nie odniosłaby skutku. Może się tak zdarzyć, jeśli wszystkie zaklęcia w zaklętej książce są niekompatybilne z istniejącymi zaklęciami na przedmiocie lub jeśli zaklęta książka nie ma zaklęć.}}&lt;br /&gt;
{{Historia||MineCon Earth (2017 r.)|link=MineCon|Jeden z mobów podczas głosowania (Mob C &amp;quot;The Great Hunger&amp;quot;) miał możliwości „aby dodawać lub usuwać zaklęcia do własnych przedmiotów”.}}&lt;br /&gt;
{{Historia||1.13|Motyki można teraz zaklinać w stole do zaklęć.|snap=17w47a}}&lt;br /&gt;
{{Historia||1.14|[[Plik:Kamień szlifierski wersja 1.png|32px]] Dodano kamienie szlifierskie.|snap=18w44a}}&lt;br /&gt;
{{Historia|||Dodano recepturę na kamień szlifierski.&lt;br /&gt;
|Kamienie szlifierskie mogą usunąć wszystkie zaklęcia, które nie są klątwami z przedmiotu, a gracz otrzymuje za to zwrot doświadczenia.|snap=18w48a}}&lt;br /&gt;
{{Historia||1.15|Zaklęte przedmioty świecą teraz w ciemności.|snap=19w42a}}&lt;br /&gt;
{{Historia|||Ze względu na przepisanie silnika renderującego zmieniono animację zaklętych przedmiotów.|snap=?}}&lt;br /&gt;
{{Historia||1.16|Motyki można teraz zakląć na &#039;&#039;Efektywność&#039;&#039;, &#039;&#039;Szczęście&#039;&#039; i &#039;&#039;Jedwabny dotyk&#039;&#039;.|snap=20w10a}}&lt;br /&gt;
{{Historia||1.19.4|snap=23w04a|Animacja zaklętych przedmiotów jest teraz o wiele rzadsza.}}&lt;br /&gt;
{{Historia|||snap=23w05a|Dodano ustawienia umożliwiające zmianę prędkości i siły animacji zaklętych przedmiotów.}}&lt;br /&gt;
{{Historia|foot}}&lt;br /&gt;
&lt;br /&gt;
== Ciekawostki ==&lt;br /&gt;
* Zamiana plików „alternate.png” z kopią „default.png” z nazwą „alternate.png” pozwala odczytać treść zaklęć po angielsku (w tym celu należy otworzyć plik „minecraft.jar” za pomocą programu WinRar lub 7-Zip, a następnie wejść w folder „font”).&lt;br /&gt;
* Edytując plik „glint.png” w folderze „misc”, zmienić można świecącą aurę zaklętych przedmiotów.&lt;br /&gt;
* Po skorzystaniu z programów do edycji ekwipunku (np. InvEdit), w którym znajdował się zaklęty przedmiot, traci on swoje właściwości i staje się zwykłym przedmiotem. UWAGA! Poziomy doświadczenia nie są w tej sytuacji zwracane.&lt;br /&gt;
* Wytwarzanie dwóch zużytych po części przedmiotów będących pod wpływem zaklęcia niweluje każde zaklęcie oprócz klątw. Podobnie, gdy konstruowaniu poddajemy przedmiot zaklęty i przedmiot standardowy. Aby zachować zaklęcia, należy użyć [[kowadło|kowadła]], które dodaje zaklęcia (jeśli mogą występować razem).&lt;br /&gt;
* Hełm z zaklęciem &#039;&#039;Oddychanie&#039;&#039; przy włączonym pokojowym poziomie trudności w [[Tryb przetrwania|trybie przetrwania]] pozwala na nieograniczone przebywanie pod wodą.&lt;br /&gt;
* &#039;&#039;Jedwabny dotyk&#039;&#039; działa jedynie na blokach, które można wydobyć danym narzędziem. Dlatego nie będzie działał np. przy próbie wydobycia złóż narzędziem innym niż kilof.&lt;br /&gt;
&lt;br /&gt;
== Zgłaszanie błędów ==&lt;br /&gt;
Błędy z zaklinaniem zgłaszaj [https://bugs.mojang.com/issues/?jql=project%20in%20%28MC%2C%20MCPE%29%20and%20%28resolution%20is%20empty%20or%20resolution%20in%20%281%2C%202%2C%206%29%29%20and%20%28summary%20~%20%22Enchanting%22%29%20order%20by%20resolution%20desc tam].&lt;br /&gt;
&lt;br /&gt;
{{Rozgrywka}}&lt;br /&gt;
&lt;br /&gt;
[[cs:Očarování]]&lt;br /&gt;
[[de:Verzauberung]]&lt;br /&gt;
[[en:Enchanting]]&lt;br /&gt;
[[es:Encantamiento]]&lt;br /&gt;
[[fr:Enchantement]]&lt;br /&gt;
[[it:Incantamento]]&lt;br /&gt;
[[ja:エンチャント]]&lt;br /&gt;
[[ko:마법 부여]]&lt;br /&gt;
[[nl:Betoveren]]&lt;br /&gt;
[[pt:Encantamento]]&lt;br /&gt;
[[ru:Зачаровывание]]&lt;br /&gt;
[[th:การร่ายมนตร์]]&lt;br /&gt;
[[tr:Büyü]]&lt;br /&gt;
[[uk:Зачарування]]&lt;br /&gt;
[[zh:附魔]]&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Modu%C5%82:Twardo%C5%9B%C4%87_values&amp;diff=123015</id>
		<title>Moduł:Twardość values</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Modu%C5%82:Twardo%C5%9B%C4%87_values&amp;diff=123015"/>
		<updated>2025-07-21T16:33:20Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;return {&lt;br /&gt;
	--Arranged from greatest hardness to lowest hardness.&lt;br /&gt;
	[&#039;lawa&#039;] = 100,&lt;br /&gt;
	[&#039;woda&#039;] = 100,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;zbrojony łupek&#039;] = 55,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;blok netherytu&#039;] = 50,&lt;br /&gt;
	[&#039;płaczący obsydian&#039;] = 50,&lt;br /&gt;
	[&#039;obsydian&#039;] = 50,&lt;br /&gt;
	[&#039;złowieszczy przyzywacz prób&#039;] = 50,&lt;br /&gt;
	[&#039;złowieszczy skarbiec&#039;] = 50,&lt;br /&gt;
	[&#039;kotwica odrodzenia&#039;] = 50,&lt;br /&gt;
	[&#039;przyzywacz prób&#039;] = 50,&lt;br /&gt;
	[&#039;skarbiec&#039;] = 50,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;pradawne zgliszcza&#039;] = 30,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;skrzynia endu&#039;] = 22.5,&lt;br /&gt;
&lt;br /&gt;
	[&#039;trzeszczące serce&#039;] = 10,&lt;br /&gt;
	[&#039;ciężki rdzeń&#039;] = 10,&lt;br /&gt;
&lt;br /&gt;
	[&#039;kowadło&#039;] = 5,&lt;br /&gt;
	[&#039;dzwon&#039;] = 5,&lt;br /&gt;
	[&#039;blok węgla&#039;] = 5,&lt;br /&gt;
	[&#039;blok diamentu&#039;] = 5,&lt;br /&gt;
	[&#039;blok szmaragdu&#039;] = 5,&lt;br /&gt;
	[&#039;blok żelaza&#039;] = 5,&lt;br /&gt;
	[&#039;blok rudy żelaza&#039;] = 5,&lt;br /&gt;
	[&#039;blok surowego złota&#039;] = 5,&lt;br /&gt;
	[&#039;blok rudy miedzi&#039;] = 5,&lt;br /&gt;
	[&#039;blok redstone&#039;] = 5,&lt;br /&gt;
	[&#039;łańcuch&#039;] = 5,&lt;br /&gt;
	[&#039;stół do zaklinania&#039;] = 5,&lt;br /&gt;
	[&#039;żelazne kraty&#039;] = 5,&lt;br /&gt;
	[&#039;żelazne drzwi&#039;] = 5,&lt;br /&gt;
	[&#039;żelazna klapa&#039;] = 5,&lt;br /&gt;
	[&#039;przyzywacz potworów&#039;] = 5,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;łupkowe złoże węgla&#039;] = 4.5,&lt;br /&gt;
	[&#039;łupkowe złoże miedzi&#039;] = 4.5,&lt;br /&gt;
	[&#039;łupkowe złoże diamentu&#039;] = 4.5,&lt;br /&gt;
	[&#039;łupkowe złoże szmaragdu&#039;] = 4.5,&lt;br /&gt;
	[&#039;łupkowe złoże złota&#039;] = 4.5,&lt;br /&gt;
	[&#039;łupkowe złoże żelaza&#039;] = 4.5,&lt;br /&gt;
	[&#039;łupkowe złoże lazurytu&#039;] = 4.5,&lt;br /&gt;
	[&#039;łupkowe złoże redstone&#039;] = 4.5,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;pajęczyna&#039;] = 4,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;piec hutniczy&#039;] = 3.5,&lt;br /&gt;
	[&#039;rzeźbiony łupek&#039;] = 3.5,&lt;br /&gt;
	[&#039;łupkowy bruk&#039;] = 3.5,&lt;br /&gt;
	[&#039;łupkowa brukowa płyta&#039;] = 3.5,&lt;br /&gt;
	[&#039;łupkowe brukowe schody&#039;] = 3.5,&lt;br /&gt;
	[&#039;łupkowy brukowy murek&#039;] = 3.5,&lt;br /&gt;
	[&#039;popękane łupkowe cegły&#039;] = 3.5,&lt;br /&gt;
  	[&#039;popękane łupkowe kafelki&#039;] = 3.5,&lt;br /&gt;
  	[&#039;łupkowa ceglana płyta&#039;] = 3.5,&lt;br /&gt;
  	[&#039;łupkowe ceglane schody&#039;] = 3.5,&lt;br /&gt;
  	[&#039;łupkowy ceglany murek&#039;] = 3.5,&lt;br /&gt;
   	[&#039;łupkowe cegły&#039;] = 3.5,&lt;br /&gt;
   	[&#039;łupkowe kafelki&#039;] = 3.5,&lt;br /&gt;
  	[&#039;łupkowa kafelkowa płyta&#039;] = 3.5,&lt;br /&gt;
  	[&#039;łupkowe kafelkowe schody&#039;] = 3.5,&lt;br /&gt;
  	[&#039;łupkowy kafelkowy murek&#039;] = 3.5,&lt;br /&gt;
  	[&#039;dozownik&#039;] = 3.5,&lt;br /&gt;
	[&#039;podajnik&#039;] = 3.5,&lt;br /&gt;
  	[&#039;piec&#039;] = 3.5,&lt;br /&gt;
	[&#039;latarenka&#039;] = 3.5,&lt;br /&gt;
	[&#039;magnetyt&#039;] = 3.5,&lt;br /&gt;
	[&#039;wypolerowany łupek&#039;] = 3.5,&lt;br /&gt;
	[&#039;wypolerowana łupkowa płyta&#039;] = 3.5,&lt;br /&gt;
	[&#039;wypolerowane łupkowe schody&#039;] = 3.5,&lt;br /&gt;
	[&#039;wypolerowany łupkowy murek&#039;] = 3.5,&lt;br /&gt;
	[&#039;wędzarka&#039;] = 3.5,&lt;br /&gt;
	[&#039;latarenka dusz&#039;] = 3.5,&lt;br /&gt;
	[&#039;przecinarka&#039;] = 3.5,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;akacjowe drzwi&#039;] = 3,&lt;br /&gt;
	[&#039;magiczna latarnia&#039;] = 3,&lt;br /&gt;
	[&#039;brzozowe drzwi&#039;] = 3,&lt;br /&gt;
	[&#039;blok złota&#039;] = 3,&lt;br /&gt;
	[&#039;blok lazurytu&#039;] = 3,&lt;br /&gt;
	[&#039;blok miedzi&#039;] = 3,&lt;br /&gt;
	[&#039;złoże węgla&#039;] = 3,&lt;br /&gt;
	[&#039;przewodnia&#039;] = 3,&lt;br /&gt;
	[&#039;blok miedzi&#039;] = 3,&lt;br /&gt;
	[&#039;miedzna skrzynia&#039;] = 3,&lt;br /&gt;
	[&#039;miedziana krata&#039;] = 3,&lt;br /&gt;
	[&#039;miedziane drzwi&#039;] = 3,&lt;br /&gt;
	[&#039;miedziana klapa&#039;] = 3,&lt;br /&gt;
	[&#039;miedziana lampa&#039;] = 3,&lt;br /&gt;
	[&#039;złoże miedzi&#039;] = 3,&lt;br /&gt;
	[&#039;rzeźbiona miedź&#039;] = 3,&lt;br /&gt;
	[&#039;żłobiona miedź&#039;] = 3,&lt;br /&gt;
	[&#039;żłobiona miedziana płyta&#039;] = 3,&lt;br /&gt;
	[&#039;żłobione miedziane schody&#039;] = 3,&lt;br /&gt;
	[&#039;szkarłatne drzwi&#039;] = 3,&lt;br /&gt;
	[&#039;ciemnodębowe drzwi&#039;] = 3,&lt;br /&gt;
	[&#039;łupek&#039;] = 3,&lt;br /&gt;
	[&#039;złoże diamentu&#039;] = 3,&lt;br /&gt;
	[&#039;smocze jajo&#039;] = 3,&lt;br /&gt;
	[&#039;złoże szmaragdu&#039;] = 3,&lt;br /&gt;
	[&#039;kamień endu&#039;] = 3,&lt;br /&gt;
	[&#039;endowa kamienna ceglana płyta&#039;] = 3,&lt;br /&gt;
	[&#039;endowe kamienne ceglane schody&#039;] = 3,&lt;br /&gt;
	[&#039;endowy kamienny ceglany murek&#039;] = 3,&lt;br /&gt;
	[&#039;endowe kamienne cegły&#039;] = 3,&lt;br /&gt;
	[&#039;gstara&#039;] = 3,&lt;br /&gt;
	[&#039;złoże złota&#039;] = 3,&lt;br /&gt;
	[&#039;lej&#039;] = 3,&lt;br /&gt;
	[&#039;złoże żelaza&#039;] = 3,&lt;br /&gt;
	[&#039;tropikalne drzwi&#039;] = 3,&lt;br /&gt;
	[&#039;złoże lazurytu&#039;] = 3,&lt;br /&gt;
	[&#039;piorunochron&#039;] = 3,&lt;br /&gt;
	[&#039;namorzynowe drzwi&#039;] = 3,&lt;br /&gt;
	[&#039;netherowe złoże złota&#039;] = 3,&lt;br /&gt;
	[&#039;złoże netherowego kwarcu&#039;] = 3,&lt;br /&gt;
	[&#039;dębowe drzwi&#039;] = 3,&lt;br /&gt;
	[&#039;detektor&#039;] = 3,&lt;br /&gt;
	[&#039;złoże redstone&#039;] = 3,&lt;br /&gt;
	[&#039;sculkowy katalizator&#039;] = 3,&lt;br /&gt;
	[&#039;sculkowe wrzeszczydło&#039;] = 3,&lt;br /&gt;
	[&#039;świerkowe drzwi&#039;] = 3,&lt;br /&gt;
	[&#039;spaczone drzwi&#039;] = 3,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;niebieski lód lodowcowy&#039;] = 2.8,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;beczka&#039;] = 2.5,&lt;br /&gt;
	[&#039;stół kartograficzny&#039;] = 2.5,&lt;br /&gt;
	[&#039;skrzynia&#039;] = 2.5,&lt;br /&gt;
	[&#039;stół rzemieślniczy&#039;] = 2.5,&lt;br /&gt;
	[&#039;stół łuczarski&#039;] = 2.5,&lt;br /&gt;
	[&#039;krosno&#039;] = 2.5,&lt;br /&gt;
	[&#039;stół kowalski&#039;] = 2.5,&lt;br /&gt;
	[&#039;skrzynia-pułapka&#039;] = 2.5,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;bambusowa mozaika&#039;] = 2,&lt;br /&gt;
	[&#039;bambusowe mozaikowe schody&#039;] = 2,&lt;br /&gt;
	[&#039;bambusowa mozaikowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;czernitowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;blok bambusu&#039;] = 2,&lt;br /&gt;
	[&#039;blok ociosanego bambusu&#039;] = 2,&lt;br /&gt;
	[&#039;blok kości&#039;] = 2,&lt;br /&gt;
	[&#039;ceglana płyta&#039;] = 2,&lt;br /&gt;
	[&#039;ceglane schody&#039;] = 2,&lt;br /&gt;
	[&#039;ceglany murek&#039;] = 2,&lt;br /&gt;
	[&#039;cegły&#039;] = 2,&lt;br /&gt;
	[&#039;ognisko&#039;] = 2,&lt;br /&gt;
	[&#039;kocioł&#039;] = 2,&lt;br /&gt;
	[&#039;rzeźbione netherowe cegły&#039;] = 2,&lt;br /&gt;
	[&#039;bruk&#039;] = 2,&lt;br /&gt;
	[&#039;brukowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;brukowe schody&#039;] = 2,&lt;br /&gt;
	[&#039;brukowy murek&#039;] = 2,&lt;br /&gt;
	[&#039;popękane netherowe cegły&#039;] = 2,&lt;br /&gt;
	[&#039;przycięta czerwona piaskowcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;przycięta piaskowcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;kamień szlifierski&#039;] = 2,&lt;br /&gt;
	[&#039;szafa grająca&#039;] = 2,&lt;br /&gt;
	[&#039;pień&#039;] = 2,&lt;br /&gt;
	[&#039;zamszony bruk&#039;] = 2,&lt;br /&gt;
	[&#039;zamszona brukowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;zamszone brukowe schody&#039;] = 2,&lt;br /&gt;
	[&#039;zamszony brukowy murek&#039;] = 2,&lt;br /&gt;
	[&#039;netherowy ceglany płot&#039;] = 2,&lt;br /&gt;
	[&#039;netherowa ceglana płyta&#039;] = 2,&lt;br /&gt;
	[&#039;netherowe ceglane schody&#039;] = 2,&lt;br /&gt;
	[&#039;netherowy ceglany murek&#039;] = 2,&lt;br /&gt;
	[&#039;netherowe cegły&#039;] = 2,&lt;br /&gt;
	[&#039;skamieniała dębowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;deski&#039;] = 2,&lt;br /&gt;
	[&#039;wypolerowany czernit&#039;] = 2,&lt;br /&gt;
	[&#039;wypolerowana czernitowa ceglana płyta&#039;] = 2,&lt;br /&gt;
	[&#039;wypolerowana czernitowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;wypolerowane czernitowe schody&#039;] = 2,&lt;br /&gt;
	[&#039;wypolerowany czernitowy murek&#039;] = 2,&lt;br /&gt;
	[&#039;purpurowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;kwarcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;czerwona netherowa ceglana płyta&#039;] = 2,&lt;br /&gt;
	[&#039;czerwone netherowe ceglane schody&#039;] = 2,&lt;br /&gt;
	[&#039;czerwony netherowy ceglany murek&#039;] = 2,&lt;br /&gt;
	[&#039;czerwone netherowe cegły&#039;] = 2,&lt;br /&gt;
	[&#039;czerwona piaskowcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;piaskowcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;shulkerowa skrzynia&#039;] = 2,&lt;br /&gt;
	[&#039;gładki blok kwarcu&#039;] = 2,&lt;br /&gt;
	[&#039;gładka kwarcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;gładkie kwarcowe schody&#039;] = 2,&lt;br /&gt;
	[&#039;gładki czerwony piaskowiec&#039;] = 2,&lt;br /&gt;
	[&#039;gładka czerwona piaskowcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;gładkie czerwone piaskowcowe schody&#039;] = 2,&lt;br /&gt;
	[&#039;gładki piaskowiec&#039;] = 2,&lt;br /&gt;
	[&#039;gładka piaskowcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;gładkie piaskowcowe schody&#039;] = 2,&lt;br /&gt;
	[&#039;gładki kamień&#039;] = 2,&lt;br /&gt;
	[&#039;gładka kamienna płyta&#039;] = 2,&lt;br /&gt;
	[&#039;ognisko dusz&#039;] = 2,&lt;br /&gt;
	[&#039;kamienna płyta&#039;] = 2,&lt;br /&gt;
	[&#039;kamienna ceglana płyta&#039;] = 2,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;zarodek ametystu&#039;] = 1.5,&lt;br /&gt;
  	[&#039;skupisko ametystu&#039;] = 1.5,&lt;br /&gt;
	[&#039;andezyt&#039;] = 1.5,&lt;br /&gt;
  	[&#039;andezytowa płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;andezytowe schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;andezytowy murek&#039;] = 1.5,&lt;br /&gt;
  	[&#039;czernit&#039;] = 1.5,&lt;br /&gt;
  	[&#039;czernitowe schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;czernitowy murek&#039;] = 1.5,&lt;br /&gt;
  	[&#039;blok ametystu&#039;] = 1.5,&lt;br /&gt;
	[&#039;biblioteczka&#039;] = 1.5,&lt;br /&gt;
	[&#039;kiełkujący ametyst&#039;] = 1.5,&lt;br /&gt;
	[&#039;skalibrowany sculkowy czujnik&#039;] = 1.5,&lt;br /&gt;
	[&#039;rzeźbiona biblioteczka&#039;] = 1.5,&lt;br /&gt;
  	[&#039;rzeźbiony wypolerowany czernit&#039;] = 1.5,&lt;br /&gt;
  	[&#039;rzeźbione żywicowe cegły&#039;] = 1.5,&lt;br /&gt;
  	[&#039;rzeźbione kamienne cegły&#039;] = 1.5,&lt;br /&gt;
	[&#039;rzeźbiony tuf&#039;] = 1.5,&lt;br /&gt;
	[&#039;rzeźbione tufowe cegły&#039;] = 1.5,&lt;br /&gt;
  	[&#039;popękane wypolerowane czernitowe cegły&#039;] = 1.5,&lt;br /&gt;
  	[&#039;popękane kamienne cegły&#039;] = 1.5,&lt;br /&gt;
  	[&#039;wytwarzacz&#039;] = 1.5,&lt;br /&gt;
	[&#039;ciemny pryzmaryn&#039;] = 1.5,&lt;br /&gt;
  	[&#039;ciemna pryzmarynowa płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;ciemne pryzmarynowe schody&#039;] = 1.5,&lt;br /&gt;
	[&#039;dioryt&#039;] = 1.5,&lt;br /&gt;
  	[&#039;diorytowa płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;diorytowe schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;diorytowy murek&#039;] = 1.5,&lt;br /&gt;
  	[&#039;blok nacieku&#039;] = 1.5,&lt;br /&gt;
  	[&#039;złocony czernit&#039;] = 1.5,&lt;br /&gt;
	[&#039;granit&#039;] = 1.5,&lt;br /&gt;
  	[&#039;granitowa płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;granitowe schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;granitowy murek&#039;] = 1.5,&lt;br /&gt;
	[&#039;zarobaczony łupek&#039;] = 1.5,&lt;br /&gt;
	[&#039;duży zarodek ametystu&#039;] = 1.5,&lt;br /&gt;
	[&#039;średni zarodek ametystu&#039;] = 1.5,&lt;br /&gt;
  	[&#039;zamszona kamienna ceglana płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;zamszone kamienne ceglane schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;zamszony kamienny ceglany murek&#039;] = 1.5,&lt;br /&gt;
  	[&#039;zamszone kamienne cegły&#039;] = 1.5,&lt;br /&gt;
	[&#039;błotna ceglana płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;błotne ceglane schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;błotny ceglany murek&#039;] = 1.5,&lt;br /&gt;
  	[&#039;błotne cegły&#039;] = 1.5,&lt;br /&gt;
  	[&#039;tłok&#039;] = 1.5,&lt;br /&gt;
	[&#039;głowica tłoka&#039;] = 1.5,&lt;br /&gt;
	[&#039;spiczasty naciek&#039;] = 1.5,&lt;br /&gt;
	[&#039;wypolerowany andezyt&#039;] = 1.5,&lt;br /&gt;
  	[&#039;wypolerowana andezytowa płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;wypolerowane andezytowe schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;wypolerowane czernitowe ceglane schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;wypolerowany czernitowy ceglany murek&#039;] = 1.5,&lt;br /&gt;
  	[&#039;wypolerowane czernitowe cegły&#039;] = 1.5,&lt;br /&gt;
	[&#039;wypolerowany dioryt&#039;] = 1.5,&lt;br /&gt;
  	[&#039;wypolerowana diorytowa płyta&#039;] = 1.5,&lt;br /&gt;
    [&#039;wypolerowane diorytowe schody&#039;] = 1.5,&lt;br /&gt;
	[&#039;wypolerowany granit&#039;] = 1.5,&lt;br /&gt;
  	[&#039;wypolerowana granitowa płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;wypolerowane granitowe schody&#039;] = 1.5,&lt;br /&gt;
	[&#039;wypolerowany tuf&#039;] = 1.5,&lt;br /&gt;
	[&#039;wypolerowana tufowa płyta&#039;] = 1.5,&lt;br /&gt;
	[&#039;wypolerowane tufowe schody&#039;] = 1.5,&lt;br /&gt;
	[&#039;wypolerowany tufowy murek&#039;] = 1.5,&lt;br /&gt;
	[&#039;pryzmaryn&#039;] = 1.5,&lt;br /&gt;
  	[&#039;pryzmarynowa ceglana płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;pryzmarynowe ceglane schody&#039;] = 1.5,&lt;br /&gt;
	[&#039;pryzmarynowe cegły&#039;] = 1.5,&lt;br /&gt;
  	[&#039;pryzmarynowa płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;pryzmarynowe schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;pryzmarynowy murek&#039;] = 1.5,&lt;br /&gt;
	[&#039;blok purpuru&#039;] = 1.5,&lt;br /&gt;
	[&#039;purpurowy filar&#039;] = 1.5,&lt;br /&gt;
  	[&#039;purpurowe schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;żywicowa ceglana płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;żywicowe ceglane schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;żywicowy ceglany murek&#039;] = 1.5,&lt;br /&gt;
	[&#039;żywicowe cegły&#039;] = 1.5,&lt;br /&gt;
  	[&#039;sculkowy czujnik&#039;] = 1.5,&lt;br /&gt;
  	[&#039;mały zarodek ametystu&#039;] = 1.5,&lt;br /&gt;
	[&#039;gładki kamień bricks&#039;] = 1.5,&lt;br /&gt;
	[&#039;lepki tłok&#039;] = 1.5,&lt;br /&gt;
	[&#039;kamień&#039;] = 1.5,&lt;br /&gt;
	[&#039;kamienne ceglane schody&#039;] = 1.5,&lt;br /&gt;
	[&#039;kamienny ceglany murek&#039;] = 1.5,&lt;br /&gt;
	[&#039;kamienne cegły&#039;] = 1.5,&lt;br /&gt;
  	[&#039;kamienne schody&#039;] = 1.5,&lt;br /&gt;
	[&#039;tuf&#039;] = 1.5,&lt;br /&gt;
	[&#039;tufowe cegły&#039;] = 1.5,&lt;br /&gt;
	[&#039;tufowa ceglana płyta&#039;] = 1.5,&lt;br /&gt;
	[&#039;tufowe ceglane schody&#039;] = 1.5,&lt;br /&gt;
	[&#039;tufowy ceglany murek&#039;] = 1.5,&lt;br /&gt;
	[&#039;tufowa płyta&#039;] = 1.5,&lt;br /&gt;
	[&#039;tufowe schody&#039;] = 1.5,&lt;br /&gt;
	[&#039;tufowy murek&#039;] = 1.5,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;glazurowana terakota&#039;] = 1.4,&lt;br /&gt;
&lt;br /&gt;
	[&#039;bazalt&#039;] = 1.25,&lt;br /&gt;
	[&#039;wypolerowany bazalt&#039;] = 1.25,&lt;br /&gt;
	[&#039;gładki bazalt&#039;] = 1.25,&lt;br /&gt;
	[&#039;terakota&#039;] = 1.25,&lt;br /&gt;
		&lt;br /&gt;
	[&#039;bambus&#039;] = 1,&lt;br /&gt;
	[&#039;pęd bambusa&#039;] = 1,&lt;br /&gt;
	[&#039;sztandar&#039;] = 1,&lt;br /&gt;
	[&#039;wykrawana dynia&#039;] = 1,&lt;br /&gt;
	[&#039;głowa creepera&#039;] = 1,&lt;br /&gt;
	[&#039;głowa smoka&#039;] = 1,&lt;br /&gt;
	[&#039;głowa&#039;] = 1,&lt;br /&gt;
	[&#039;zarobaczony bruk&#039;] = 1,&lt;br /&gt;
	[&amp;quot;latarnia dyniowa&amp;quot;] = 1,&lt;br /&gt;
	[&#039;arbuz&#039;] = 1,&lt;br /&gt;
	[&#039;blok netherowych brodawek&#039;] = 1,&lt;br /&gt;
	[&#039;złowieszczy sztandar&#039;] = 1,&lt;br /&gt;
	[&#039;utwardzone błoto&#039;] = 1,&lt;br /&gt;
	[&#039;głowa piglina&#039;] = 1,&lt;br /&gt;
	[&#039;głowa gracza&#039;] = 1,&lt;br /&gt;
	[&#039;dynia&#039;] = 1,&lt;br /&gt;
	[&#039;światłogrzyb&#039;] = 1,&lt;br /&gt;
	[&#039;podpisz&#039;] = 1,&lt;br /&gt;
	[&#039;czaszka szkieleta&#039;] = 1,&lt;br /&gt;
	[&#039;blok spaczonych brodawek&#039;] = 1,&lt;br /&gt;
	[&#039;czaszka witherowego szkieleta&#039;] = 1,&lt;br /&gt;
	[&#039;głowa zombie&#039;] = 1,&lt;br /&gt;
&lt;br /&gt;
	[&#039;blok kwarcu&#039;] = 0.8,&lt;br /&gt;
	[&#039;rzeźbiony czerwony piaskowiec&#039;] = 0.8,&lt;br /&gt;
	[&#039;rzeźbiony piaskowiec&#039;] = 0.8,&lt;br /&gt;
	[&#039;przycięty czerwony piaskowiec&#039;] = 0.8,&lt;br /&gt;
	[&#039;przycięty piaskowiec&#039;] = 0.8,&lt;br /&gt;
	[&#039;blok dźwiękowy&#039;] = 0.8,&lt;br /&gt;
	[&#039;rzeźbiony blok kwarcu&#039;] = 0.8,&lt;br /&gt;
	[&#039;kwarcowe cegły&#039;] = 0.8,&lt;br /&gt;
	[&#039;kwarcowy filar&#039;] = 0.8,&lt;br /&gt;
	[&#039;kwarcowe schody&#039;] = 0.8,&lt;br /&gt;
	[&#039;czerwony piaskowiec&#039;] = 0.8,&lt;br /&gt;
	[&#039;czerwone piaskowcowe schody&#039;] = 0.8,&lt;br /&gt;
	[&#039;czerwony piaskowcowy murek&#039;] = 0.8,&lt;br /&gt;
	[&#039;piaskowiec&#039;] = 0.8,&lt;br /&gt;
	[&#039;piaskowcowe schody&#039;] = 0.8,&lt;br /&gt;
	[&#039;piaskowcowy murek&#039;] = 0.8,&lt;br /&gt;
	[&#039;wełna&#039;] = 0.8,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;kalcyt&#039;] = 0.75,&lt;br /&gt;
	[&#039;zarobaczony kamień&#039;] = 0.75,&lt;br /&gt;
	[&#039;zarobaczone kamienne cegły&#039;] = 0.75,&lt;br /&gt;
	[&#039;zarobaczone popękane kamienne cegły&#039;] = 0.75,&lt;br /&gt;
	[&#039;zarobaczone zamszone kamienne cegły&#039;] = 0.75,&lt;br /&gt;
	[&#039;zarobaczone rzeźbione kamienne cegły&#039;] = 0.75,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;tory aktywacyjne&#039;] = 0.7,&lt;br /&gt;
	[&#039;tory z czujnikiem&#039;] = 0.7,&lt;br /&gt;
	[&#039;namorzynowe korzenie&#039;] = 0.7,&lt;br /&gt;
	[&#039;zabłocone namorzynowe korzenie&#039;] = 0.7,&lt;br /&gt;
	[&#039;zasilane tory&#039;] = 0.7,&lt;br /&gt;
	[&#039;tory&#039;] = 0.7,&lt;br /&gt;
&lt;br /&gt;
	[&#039;ścieżka&#039;] = 0.65,&lt;br /&gt;
	[&#039;zatrucie path&#039;] = 0.65,&lt;br /&gt;
&lt;br /&gt;
	[&#039;ul&#039;] = 0.6,&lt;br /&gt;
	[&#039;glina&#039;] = 0.6,&lt;br /&gt;
	[&#039;kompostownik&#039;] = 0.6,&lt;br /&gt;
	[&#039;pole uprawne&#039;] = 0.6,&lt;br /&gt;
	[&#039;blok trawy&#039;] = 0.6,&lt;br /&gt;
	[&#039;żwir&#039;] = 0.6,&lt;br /&gt;
	[&#039;gravtater&#039;] = 0.6,&lt;br /&gt;
	[&#039;blok plastra miodu&#039;] = 0.6,&lt;br /&gt;
	[&#039;grzybnia&#039;] = 0.6,&lt;br /&gt;
	[&#039;peelblok trawy&#039;] = 0.6,&lt;br /&gt;
	[&#039;poison pole uprawne&#039;] = 0.6,&lt;br /&gt;
	[&#039;gąbka&#039;] = 0.6,&lt;br /&gt;
	[&#039;mokra gąbka&#039;] = 0.6,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;statyw alchemiczny&#039;] = 0.5,&lt;br /&gt;
	[&#039;przycisk&#039;] = 0.5,&lt;br /&gt;
	[&#039;ciasto&#039;] = 0.5,&lt;br /&gt;
	[&#039;twarda ziemia&#039;] = 0.5,&lt;br /&gt;
	[&#039;ziemia&#039;] = 0.5,&lt;br /&gt;
	[&#039;blok suszonych wodorostów&#039;] = 0.5,&lt;br /&gt;
	[&#039;oszroniony lód&#039;] = 0.5,&lt;br /&gt;
	[&#039;snop siana&#039;] = 0.5,&lt;br /&gt;
	[&#039;ciężka wagowa płytka naciskowa&#039;] = 0.5,&lt;br /&gt;
	[&#039;lód&#039;] = 0.5,&lt;br /&gt;
	[&#039;dźwignia&#039;] = 0.5,&lt;br /&gt;
	[&#039;lekka wagowa płytka naciskowa&#039;] = 0.5,&lt;br /&gt;
	[&#039;blok magmy&#039;] = 0.5,&lt;br /&gt;
	[&#039;błoto&#039;] = 0.5,&lt;br /&gt;
	[&#039;zbity lód&#039;] = 0.5,&lt;br /&gt;
	[&#039;bielica&#039;] = 0.5,&lt;br /&gt;
	[&#039;wypolerowany czernitowy przycisk&#039;] = 0.5,&lt;br /&gt;
	[&#039;wypolerowana czernitowa płytka naciskowa&#039;] = 0.5,&lt;br /&gt;
	[&#039;płytka naciskowa&#039;] = 0.5,&lt;br /&gt;
	[&#039;czerwony piasek&#039;] = 0.5,&lt;br /&gt;
	[&#039;zakorzeniona ziemia&#039;] = 0.5,&lt;br /&gt;
	[&#039;piasek&#039;] = 0.5,&lt;br /&gt;
	[&#039;jajo niuchacza&#039;] = 0.5,&lt;br /&gt;
	[&#039;piasek dusz&#039;] = 0.5,&lt;br /&gt;
	[&#039;gleba dusz&#039;] = 0.5,&lt;br /&gt;
	[&#039;kamienny przycisk&#039;] = 0.5,&lt;br /&gt;
	[&#039;kamienna płytka naciskowa&#039;] = 0.5,&lt;br /&gt;
	[&#039;tarcza strzelecka&#039;] = 0.5,&lt;br /&gt;
	[&#039;terre de pomme&#039;] = 0.5,&lt;br /&gt;
	[&#039;żółwie jajko&#039;] = 0.5,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;kaktus&#039;] = 0.4,&lt;br /&gt;
	[&#039;kwiat refrenusu&#039;] = 0.4,&lt;br /&gt;
	[&#039;łodyga refrenusu&#039;] = 0.4,&lt;br /&gt;
	[&#039;szkarłatne nylium&#039;] = 0.4,&lt;br /&gt;
	[&#039;drabina&#039;] = 0.4,&lt;br /&gt;
	[&#039;netherrack&#039;] = 0.4,&lt;br /&gt;
	[&#039;nylium&#039;] = 0.4,&lt;br /&gt;
	[&#039;spaczone nylium&#039;] = 0.4,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;gniazdo pszczół&#039;] = 0.3,&lt;br /&gt;
	[&#039;frogświatło&#039;] = 0.3,&lt;br /&gt;
	[&#039;szkło&#039;] = 0.3,&lt;br /&gt;
	[&#039;szyba&#039;] = 0.3,&lt;br /&gt;
	[&#039;jasnogłaz&#039;] = 0.3,&lt;br /&gt;
	[&#039;złocista żabia lampa&#039;] = 0.3,&lt;br /&gt;
	[&#039;perłowa żabia lampa&#039;] = 0.3,&lt;br /&gt;
	[&#039;lampa redstone&#039;] = 0.3,&lt;br /&gt;
	[&#039;latarnia morska&#039;] = 0.3,&lt;br /&gt;
	[&#039;przyciemnione szkło&#039;] = 0.3,&lt;br /&gt;
	[&#039;zielenista żabia lampa&#039;] = 0.3,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;sypki śnieg&#039;] = 0.25,&lt;br /&gt;
	[&#039;podejrzany piasek&#039;] = 0.25,&lt;br /&gt;
	[&#039;podejrzany żwir&#039;] = 0.25,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;łóżko&#039;] = 0.2,&lt;br /&gt;
	[&#039;kakao&#039;] = 0.2,&lt;br /&gt;
	[&#039;ziarna kakaowe&#039;] = 0.2,&lt;br /&gt;
	[&#039;detektor światła dziennego&#039;] = 0.2,&lt;br /&gt;
	[&#039;świecący porost&#039;] = 0.2,&lt;br /&gt;
	[&#039;liście&#039;] = 0.2,&lt;br /&gt;
	[&#039;sculk&#039;] = 0.2,&lt;br /&gt;
	[&#039;żyły sculku&#039;] = 0.2,&lt;br /&gt;
	[&#039;blok śniegu&#039;] = 0.2,&lt;br /&gt;
	[&#039;pnącza&#039;] = 0.2,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;wielki spadkoliść&#039;] = 0.1,&lt;br /&gt;
	[&#039;łodyga wielkiego spadkoliścia&#039;] = 0.1,&lt;br /&gt;
	[&#039;świeca&#039;] = 0.1,&lt;br /&gt;
	[&#039;dywan&#039;] = 0.1,&lt;br /&gt;
	[&#039;blok mchu&#039;] = 0.1,&lt;br /&gt;
	[&#039;blok bladego mchu&#039;] = 0.1,&lt;br /&gt;
	[&#039;warstwa mchu&#039;] = 0.1,&lt;br /&gt;
	[&#039;warstwa bladego mchu&#039;] = 0.1,&lt;br /&gt;
	[&#039;śnieg&#039;] = 0.1,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;powietrze&#039;] = 0,&lt;br /&gt;
	[&#039;czosnek&#039;] = 0,&lt;br /&gt;
	[&#039;azalia&#039;] = 0,&lt;br /&gt;
	[&#039;houstonia błękitna&#039;] = 0,&lt;br /&gt;
	[&#039;nasiona buraka&#039;] = 0,&lt;br /&gt;
	[&#039;buraki&#039;] = 0,&lt;br /&gt;
	[&#039;blok żywicy&#039;] = 0,&lt;br /&gt;
	[&#039;niebieska orchidea&#039;] = 0,&lt;br /&gt;
	[&#039;borowik&#039;] = 0,&lt;br /&gt;
	[&#039;kolumna bąbelków&#039;] = 0,&lt;br /&gt;
	[&#039;krzew&#039;] = 0,&lt;br /&gt;
	[&#039;kwiat kaktusa&#039;] = 0,&lt;br /&gt;
	[&#039;kamera&#039;] = 0,&lt;br /&gt;
	[&#039;marchewka&#039;] = 0,&lt;br /&gt;
	[&#039;powietrze jaskiniowe&#039;] = 0,&lt;br /&gt;
	[&#039;jaskiniowe pnącza&#039;] = 0,&lt;br /&gt;
	[&#039;jaskiniowe pnącza body&#039;] = 0,&lt;br /&gt;
	[&#039;jaskiniowe pnącza head&#039;] = 0,&lt;br /&gt;
	[&#039;zamknięta okrotka&#039;] = 0,&lt;br /&gt;
	[&#039;komparator&#039;] = 0,&lt;br /&gt;
	[&#039;szkarłatny grzyb&#039;] = 0,&lt;br /&gt;
	[&#039;wyschnięty ghast&#039;] = 0,&lt;br /&gt;
	[&#039;chaber&#039;] = 0,&lt;br /&gt;
	[&#039;mlecz&#039;] = 0,&lt;br /&gt;
	[&#039;uschnięty krzak&#039;] = 0,&lt;br /&gt;
	[&#039;dekorowany garniec&#039;] = 0,&lt;br /&gt;
	[&#039;endowy słupek&#039;] = 0,&lt;br /&gt;
	[&#039;okrotka&#039;] = 0,&lt;br /&gt;
	[&#039;ogień&#039;] = 0,&lt;br /&gt;
	[&#039;krzew świetlików&#039;] = 0,&lt;br /&gt;
	[&#039;nurter&#039;] = 0,&lt;br /&gt;
	[&#039;doniczka&#039;] = 0,&lt;br /&gt;
	[&#039;kwitnąca azalia&#039;] = 0,&lt;br /&gt;
	[&#039;żabi skrzek&#039;] = 0,&lt;br /&gt;
	[&#039;świecące jagody&#039;] = 0,&lt;br /&gt;
	[&#039;paproć&#039;] = 0,&lt;br /&gt;
	[&#039;duża paproć&#039;] = 0,&lt;br /&gt;
	[&#039;wysoka trawa&#039;] = 0,&lt;br /&gt;
	[&#039;trawa&#039;] = 0,&lt;br /&gt;
	[&#039;niska trawa&#039;] = 0,&lt;br /&gt;
	[&#039;trawa_carried&#039;] = 0,&lt;br /&gt;
	[&#039;zielony shrub&#039;] = 0,&lt;br /&gt;
	[&#039;zwisające korzenie&#039;] = 0,&lt;br /&gt;
	[&#039;blok miodu&#039;] = 0,&lt;br /&gt;
	[&#039;wodorost&#039;] = 0,&lt;br /&gt;
	[&#039;ściółka&#039;] = 0,&lt;br /&gt;
	[&#039;leaves_carried&#039;] = 0,&lt;br /&gt;
	[&#039;bez&#039;] = 0,&lt;br /&gt;
	[&#039;konwalia&#039;] = 0,&lt;br /&gt;
	[&#039;lilia wodna&#039;] = 0,&lt;br /&gt;
	[&#039;zablokowana chest&#039;] = 0,&lt;br /&gt;
	[&#039;siewka namorzynu&#039;] = 0,&lt;br /&gt;
	[&#039;nasiona arbuza&#039;] = 0,&lt;br /&gt;
	[&#039;łodyga arbuza&#039;] = 0,&lt;br /&gt;
	[&#039;netherowe kiełki&#039;] = 0,&lt;br /&gt;
	[&#039;netherowa brodawka&#039;] = 0,&lt;br /&gt;
	[&#039;otwarta okrotka&#039;] = 0,&lt;br /&gt;
	[&#039;pomarańczowy tulipan&#039;] = 0,&lt;br /&gt;
	[&#039;margaretka&#039;] = 0,&lt;br /&gt;
	[&#039;zwisający blady mech&#039;] = 0,&lt;br /&gt;
	[&#039;piwonia&#039;] = 0,&lt;br /&gt;
	[&#039;różowe kwiatki&#039;] = 0,&lt;br /&gt;
	[&#039;różowy tulipan&#039;] = 0,&lt;br /&gt;
	[&#039;dzbanecznik&#039;] = 0,&lt;br /&gt;
	[&#039;plon dzbanecznika&#039;] = 0,&lt;br /&gt;
	[&#039;strąk dzbanecznika&#039;] = 0,&lt;br /&gt;
	[&#039;mak&#039;] = 0,&lt;br /&gt;
	[&#039;łodyga dyni&#039;] = 0,&lt;br /&gt;
	[&#039;muchomor&#039;] = 0,&lt;br /&gt;
	[&#039;czerwony tulipan&#039;] = 0,&lt;br /&gt;
	[&#039;redkamień&#039;] = 0,&lt;br /&gt;
	[&#039;komparator redstone&#039;] = 0,&lt;br /&gt;
	[&#039;sproszkowany redstone&#039;] = 0,&lt;br /&gt;
	[&#039;przekaźnik redstone&#039;] = 0,&lt;br /&gt;
	[&#039;pochodnia redstone&#039;] = 0,&lt;br /&gt;
	[&#039;przewód redstone&#039;] = 0,&lt;br /&gt;
	[&#039;powtarzającyer&#039;] = 0,&lt;br /&gt;
	[&#039;spaczone korzenie&#039;] = 0,&lt;br /&gt;
	[&#039;szkarłatne korzenie&#039;] = 0,&lt;br /&gt;
	[&#039;gruda żywicy&#039;] = 0,&lt;br /&gt;
	[&#039;krzew róży&#039;] = 0,&lt;br /&gt;
	[&#039;rusztowanie&#039;] = 0,&lt;br /&gt;
	[&#039;iskrzyłuda&#039;] = 0,&lt;br /&gt;
	[&#039;trawa morska&#039;] = 0,&lt;br /&gt;
	[&#039;ziarno&#039;] = 0,&lt;br /&gt;
	[&#039;niska sucha trawa&#039;] = 0,&lt;br /&gt;
	[&#039;blok szlamu&#039;] = 0,&lt;br /&gt;
	[&#039;mały spadkoliść&#039;] = 0,&lt;br /&gt;
	[&#039;ogień dusz&#039;] = 0,&lt;br /&gt;
	[&#039;pochodnia dusz&#039;] = 0,&lt;br /&gt;
	[&#039;pylikwiat&#039;] = 0,&lt;br /&gt;
	[&#039;nić&#039;] = 0,&lt;br /&gt;
	[&#039;pustka strukturalna&#039;] = 0,&lt;br /&gt;
	[&#039;trzcina cukrowa&#039;] = 0,&lt;br /&gt;
	[&#039;słonecznik&#039;] = 0,&lt;br /&gt;
	[&#039;słodkie jagody&#039;] = 0,&lt;br /&gt;
	[&#039;wysoka sucha trawa&#039;] = 0,&lt;br /&gt;
	[&#039;wysoka trawa&#039;] = 0,&lt;br /&gt;
	[&#039;tnt&#039;] = 0,&lt;br /&gt;
	[&#039;pochodnia&#039;] = 0,&lt;br /&gt;
	[&#039;ognisty kwiat&#039;] = 0,&lt;br /&gt;
	[&#039;ognisty kwiat&#039;] = 0,&lt;br /&gt;
	[&#039;nasiona ognistego kwiatu&#039;] = 0,&lt;br /&gt;
	[&#039;linka&#039;] = 0,&lt;br /&gt;
	[&#039;zaczep na linkę&#039;] = 0,&lt;br /&gt;
	[&#039;tulipan&#039;] = 0,&lt;br /&gt;
	[&#039;spaczone pnącza&#039;] = 0,&lt;br /&gt;
	[&#039;nieznany&#039;] = 0,&lt;br /&gt;
	[&#039;próżniowe powietrze&#039;] = 0,&lt;br /&gt;
	[&#039;spaczony grzyb&#039;] = 0,&lt;br /&gt;
	[&#039;płaczące pnącza&#039;] = 0,&lt;br /&gt;
	[&#039;pszenica&#039;] = 0,&lt;br /&gt;
	[&#039;nasiona pszenicy&#039;] = 0,&lt;br /&gt;
	[&#039;biały tulipan&#039;] = 0,&lt;br /&gt;
	[&#039;polne kwiaty&#039;] = 0,&lt;br /&gt;
	[&#039;witherowa róża&#039;] = 0,&lt;br /&gt;
	&lt;br /&gt;
-- BLOCKS BELOW THIS LINE ARE UNBREAKABLE IN SURVIVAL &amp;amp; ADVENTURE MODE --&lt;br /&gt;
	[&#039;bariera&#039;] = -1,&lt;br /&gt;
	[&#039;skała macierzysta&#039;] = -1,&lt;br /&gt;
	[&#039;łańcuchowy blok poleceń&#039;] = -1,&lt;br /&gt;
	[&#039;blok poleceń&#039;] = -1,&lt;br /&gt;
	[&#039;brama endu&#039;] = -1,&lt;br /&gt;
	[&#039;portal do endu&#039;] = -1,&lt;br /&gt;
	[&#039;rama portalu do endu&#039;] = -1,&lt;br /&gt;
	[&#039;blok konstrukcyjny&#039;] = -1,&lt;br /&gt;
	[&#039;światło&#039;] = -1,&lt;br /&gt;
	[&#039;poruszany blok&#039;] = -1,&lt;br /&gt;
	[&#039;netherowy portal&#039;] = -1,&lt;br /&gt;
	[&#039;powtarzający blok poleceń&#039;] = -1,&lt;br /&gt;
	[&#039;blok struktur&#039;] = -1,&lt;br /&gt;
	[&#039;blok testowy&#039;] = -1,&lt;br /&gt;
	[&#039;blok instancji testowej&#039;] = -1,&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=U%C5%BCytkownik:MetroKopUA&amp;diff=123012</id>
		<title>Użytkownik:MetroKopUA</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=U%C5%BCytkownik:MetroKopUA&amp;diff=123012"/>
		<updated>2025-07-21T16:18:44Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Administrator ukraińskiej minecraft wiki. Można mnie znaleźć tutaj: [https://uk.minecraft.wiki/w/Користувач:MetroKopUA MetroKopUA].&lt;br /&gt;
{{User ukrainiec}}&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Szablon:Wydobywanie/opis&amp;diff=122999</id>
		<title>Szablon:Wydobywanie/opis</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Szablon:Wydobywanie/opis&amp;diff=122999"/>
		<updated>2025-07-21T00:18:55Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Dokumentacja/Nagłówek}}&lt;br /&gt;
{{lua|Breaking_row}}&lt;br /&gt;
&amp;lt;!-- Dokumentacja powinna być umieszczona w tym miejscu --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ten szablon jest używany do tworzenia tabeli czasu potrzebnego na wydobycie bloków.&lt;br /&gt;
&lt;br /&gt;
== Podstawowe użycie ==&lt;br /&gt;
&lt;br /&gt;
=== Parametry ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;background-color: transparent;&amp;quot;&lt;br /&gt;
! Parametr&lt;br /&gt;
! Funkcja&lt;br /&gt;
! Domyślna wartość&lt;br /&gt;
! Opcjonalny?&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; || Nazwa bloku || || Nie&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;link&amp;lt;/code&amp;gt; || Ustawia link || &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{1}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sprite&amp;lt;/code&amp;gt; || Ustawia ID sprite&#039;a || &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{1}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt; || Jeśli jest ustawiona, wiersz używa {{t|itemSprite}} zamiast {{t|blockSprite}}. || || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;note&amp;lt;/code&amp;gt; || Służy do dodawania notatki po tytule, zwykle przy użyciu &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;ref&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. || || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;textTrim&amp;lt;/code&amp;gt; || Obcina podany tekst od końca tytułu. Zaprojektowany do użytku z funkcją [[#Horyzontalny|horyzontalny]]. || || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; || Odpowiednie narzędzie. Może być ustawione na &amp;lt;code&amp;gt;Kilof&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Siekiera&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Łopata&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Motyka&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Brak&amp;lt;/code&amp;gt;, lub &amp;lt;code&amp;gt;Dowolny&amp;lt;/code&amp;gt;. || &amp;lt;code&amp;gt;Dowolny&amp;lt;/code&amp;gt; || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt; || Minimalny wymagany poziom/materiał narzędzia. Może być ustawione na &amp;lt;code&amp;gt;Drewniany&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;Drewniana&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Kamienny&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;Kamienna&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Żelazny&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;Żelazna&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Diamentowy&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;Diamentowa&amp;lt;/code&amp;gt;, lub &amp;lt;code&amp;gt;Dowolny&amp;lt;/code&amp;gt;. Określi czas wydobywania i kiedy tło zmieni kolor na czerwony. || &amp;lt;code&amp;gt;Dowolny&amp;lt;/code&amp;gt; || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;łupy&amp;lt;/code&amp;gt; || Jeśli ustawione na &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, zmienia tło kolumn, które powinny wypaść, na żółte, oznaczając, że nie wypadają, ale są wydobyte odpowiednim narzędziem.&amp;lt;br&amp;gt;Jeśli ustawione na &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, kolumny nie zmienią koloru na czerwony, gdy będą poniżej poziomu narzędzia. Używany, ponieważ [[Education Edition]] ma bloki, które obliczają czas tak, jakby wymagany był kilof (w tym kara za brak kilofa), ale nadal spadają, gdy zostaną złamane ręcznie. || || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nożyce&amp;lt;/code&amp;gt; || Ustawia kolumnę nożyc. Jeśli jest ustawiona na &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, zmienia tło głównych kolumn na żółte, oznaczając, że nie wypadają. || || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;miecz&amp;lt;/code&amp;gt; || Ustawia kolumnę miecza. Jeśli ustawiona na &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, zmienia tło głównych kolumn na żółte, oznaczając, że nie wypadają. || || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;foot&amp;lt;/code&amp;gt; || Jeśli jest ustawione, dodaje stopkę. Jeśli ustawione na &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;, dodaje również kolumny nagłówka na dole. || || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sort&amp;lt;/code&amp;gt; || Jeśli ustawione, tabela będzie sortowalna. || || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;hidetool&amp;lt;/code&amp;gt; || Jeśli ustawione, główna kolumna narzędzi zostanie usunięta. || || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;hideshears&amp;lt;/code&amp;gt; || Jeśli ustawione, kolumna nożyc zostanie usunięta. || || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;hidesword&amp;lt;/code&amp;gt; || Jeśli ustawione, kolumna miecza zostanie usunięta. || || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;hideoptions&amp;lt;/code&amp;gt; || Jeśli ustawione, opcje w trybie horyzontalnym zostaną usunięte. || || Tak&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Wiele nazw ===&lt;br /&gt;
&lt;br /&gt;
Parametr &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{1}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; może być listą oddzieloną średnikami, aby wyświetlić wiele bloków.&lt;br /&gt;
&lt;br /&gt;
== Tryby ==&lt;br /&gt;
&lt;br /&gt;
Tabela obsługuje dwa alternatywne tryby.&lt;br /&gt;
&lt;br /&gt;
=== Simple ===&lt;br /&gt;
&lt;br /&gt;
Jeśli ustawione jest &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{simple}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, tabela nie będzie pokazywać kolumn &amp;quot;Twardość&amp;quot;, &amp;quot;Narzędzie&amp;quot;, &amp;quot;Nożyce&amp;quot; lub &amp;quot;Miecz&amp;quot;. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{2}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; przejmie również funkcję poprzednio wykonywaną przez &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{3}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Tryb ten jest przeznaczony do użycia w artykułach narzędziowych, takich jak [[Kilof]], gdzie dostępne narzędzie jest już podane.&lt;br /&gt;
&lt;br /&gt;
=== Horyzontalny ===&lt;br /&gt;
&lt;br /&gt;
Jeśli ustawione jest &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{horyzontalny}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, tabela będzie się obracać, wyświetlając kolumny poszczególnych bloków zamiast wierszy. W tym trybie cała tabela jest budowana przy użyciu jednego wywołania szablonu. Poszczególne kolumny są określane za pomocą listy oddzielonej średnikami w parametrach. Jeśli odpowiednia część parametru jest tylko białą spacją, parametr użyje wartości domyślnej.&lt;br /&gt;
&lt;br /&gt;
Podczas korzystania z tego trybu parametry &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{foot}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{sort}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; nie mają żadnej funkcji, a wszystkie parametry, które wcześniej wpływały na kolumnę, będą teraz wpływać na wiersz.&lt;br /&gt;
&lt;br /&gt;
Tryb ten jest przeznaczony do wyświetlania tabeli w artykułach blokowych, takich jak [[Kamień]].&lt;br /&gt;
&lt;br /&gt;
== Przykłady ==&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Wydobywanie|Głowa|horyzontalny=1}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Wydobywanie|Głowa|horyzontalny=1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Wydobywanie|Deski|Siekiera|horyzontalny=1}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Wydobywanie|Deski|Siekiera|horyzontalny=1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Wydobywanie|Liście|Motyka|łupy=0|nożyce=1|miecz=0|horyzontalny=1}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Wydobywanie|Liście|Motyka|łupy=0|nożyce=1|miecz=0|horyzontalny=1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Wydobywanie|Złoże żelaza;Łupkowe złoże żelaza|Kilof;Kilof|Kamienny;Kamienny|horyzontalny=1}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Wydobywanie|Złoże żelaza;Łupkowe złoże żelaza|Kilof;Kilof|Kamienny;Kamienny|horyzontalny=1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Wydobywanie|Złoże żelaza|Kamienny|simple=1|horyzontalny=1}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
(ustawiony horyzontalny, tylko po to, żeby nie zepsuć kolejnego przykładu)&lt;br /&gt;
{{Wydobywanie|Złoże żelaza|Kamienny|simple=1|horyzontalny=1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Wydobywanie|Liście|Motyka|łupy=0|nożyce=1|miecz=0}}&lt;br /&gt;
{{Wydobywanie|Piorunochron|Kilof|Kamienny|foot=1}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Wydobywanie|Liście|Motyka|łupy=0|nożyce=1|miecz=0}}&lt;br /&gt;
{{Wydobywanie|Piorunochron|Kilof|Kamienny|foot=1}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
Kategorie i interwiki szablonu muszą być umieszone w tym miejscu --&amp;gt;&lt;br /&gt;
[[Category:Table templates]]&lt;br /&gt;
&lt;br /&gt;
[[cs:Šablona:Breaking row]]&lt;br /&gt;
[[de:Vorlage:Abbauen]]&lt;br /&gt;
[[es:Plantilla:Breaking row]]&lt;br /&gt;
[[fr:Modèle:Tableau de minage]]&lt;br /&gt;
[[it:Template:Breaking row]]&lt;br /&gt;
[[ja:テンプレート:Breaking row]]&lt;br /&gt;
[[ko:틀:Breaking row]]&lt;br /&gt;
[[lzh:模板:Breaking row]]&lt;br /&gt;
[[nl:Sjabloon:Breektabel]]&lt;br /&gt;
[[pt:Predefinição:Linha de quebra]]&lt;br /&gt;
[[ru:Шаблон:Таблица разрушаемости]]&lt;br /&gt;
[[th:แม่แบบ:Breaking row]]&lt;br /&gt;
[[uk:Шаблон:Таблиця руйнування]]&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
Kategorie i interwiki dokumentacji muszą być umieszone w tym miejscu --&amp;gt;&lt;br /&gt;
[[cs:Šablona:Breaking row/doc]]&lt;br /&gt;
[[de:Vorlage:Abbauen/Dokumentation]]&lt;br /&gt;
[[es:Plantilla:Breaking row/doc]]&lt;br /&gt;
[[fr:Modèle:Tableau de minage/doc]]&lt;br /&gt;
[[it:Template:Breaking row/doc]]&lt;br /&gt;
[[ja:テンプレート:Breaking row/doc]]&lt;br /&gt;
[[ko:틀:Breaking row/doc]]&lt;br /&gt;
[[lzh:模板:Breaking row/doc]]&lt;br /&gt;
[[nl:Sjabloon:Breektabel/doc]]&lt;br /&gt;
[[pt:Predefinição:Linha de quebra/doc]]&lt;br /&gt;
[[ru:Шаблон:Таблица разрушаемости/док]]&lt;br /&gt;
[[th:แม่แบบ:Breaking row/doc]]&lt;br /&gt;
[[uk:Шаблон:Таблиця руйнування/док]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Modu%C5%82:Breaking_row&amp;diff=122998</id>
		<title>Moduł:Breaking row</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Modu%C5%82:Breaking_row&amp;diff=122998"/>
		<updated>2025-07-21T00:18:01Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {}&lt;br /&gt;
local polish = mw.language.new(&#039;pl&#039;)&lt;br /&gt;
&lt;br /&gt;
local breakingTimeHeader;&lt;br /&gt;
local function getBreakingTimeHeader( f )&lt;br /&gt;
	if breakingTimeHeader == nil then&lt;br /&gt;
		breakingTimeHeader = &#039;Czas wydobycia (sekundy)&#039; .. f:preprocess( &#039;&amp;lt;ref group=&amp;quot;FN&amp;quot; name=&amp;quot;breakingtimenote&amp;quot;&amp;gt;Czasy nie biorą pod uwagę [[Zaklinanie|zaklęć]], [[efekt]]ów i innych czynników, jak np. zanurzenie w wodzie.&amp;lt;/ref&amp;gt;&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	return breakingTimeHeader&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function p.row( f )&lt;br /&gt;
	local args = require( [[Moduł:ProcessArgs]] ).norm()&lt;br /&gt;
	&lt;br /&gt;
	local function getDplVar( var )&lt;br /&gt;
		local val = f:callParserFunction( &#039;#dplvar&#039;, &#039;breaking &#039; .. var )&lt;br /&gt;
		if val == &#039;&#039; then&lt;br /&gt;
			val = false&lt;br /&gt;
		end&lt;br /&gt;
		return val&lt;br /&gt;
	end&lt;br /&gt;
	local dplVars = {}&lt;br /&gt;
	local function setDplVar( var, val )&lt;br /&gt;
		table.insert( dplVars, &#039;breaking &#039; .. var )&lt;br /&gt;
		table.insert( dplVars, val or &#039;1&#039; )&lt;br /&gt;
	end&lt;br /&gt;
		&lt;br /&gt;
	local rows = {}&lt;br /&gt;
	local tableParts = {}&lt;br /&gt;
	local categories = {}&lt;br /&gt;
	local showOptions = false&lt;br /&gt;
	&lt;br /&gt;
	local horizontal&lt;br /&gt;
	if args[&#039;horyzontalny&#039;] or args[1]:match( &#039;;&#039; ) then&lt;br /&gt;
		horizontal = true&lt;br /&gt;
	end&lt;br /&gt;
	local showTool = true&lt;br /&gt;
	local showShears = true&lt;br /&gt;
	local showSword = true&lt;br /&gt;
	local header, sortable, simple&lt;br /&gt;
	if horizontal or not getDplVar( &#039;header&#039; ) then&lt;br /&gt;
		if args.hidetool or horizontal and ( not args[2] or args[2]:lower() == &#039;dowolny&#039; or args[2]:lower() == &#039;brak&#039; ) then&lt;br /&gt;
			showTool = false&lt;br /&gt;
			setDplVar( &#039;hidetool&#039; )&lt;br /&gt;
    		breakingTimeHeader = &#039;Czas wydobycia (sekundy)&#039;&lt;br /&gt;
		end&lt;br /&gt;
		if args.hideshears or horizontal and not args[&#039;nożyce&#039;] then&lt;br /&gt;
			showShears = false&lt;br /&gt;
			setDplVar( &#039;hideshears&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		if args.hidesword or horizontal and not args[&#039;miecz&#039;] then&lt;br /&gt;
			showSword = false&lt;br /&gt;
			setDplVar( &#039;hidesword&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		sortable = not horizontal and args.sort&lt;br /&gt;
		if sortable then&lt;br /&gt;
			setDplVar( &#039;sortable&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		simple = args.simple&lt;br /&gt;
		if simple and not horizontal then&lt;br /&gt;
			setDplVar( &#039;simple&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local tableClasses = { &#039;wikitable&#039; }&lt;br /&gt;
		if sortable then&lt;br /&gt;
			table.insert( tableClasses, &#039;sortable&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039; {| class=&amp;quot;&#039; .. table.concat( tableClasses, &#039; &#039; ) .. &#039;&amp;quot; style=&amp;quot;text-align: center; margin: 0;&amp;quot;&#039; )&lt;br /&gt;
		&lt;br /&gt;
		local sortType = &#039;&#039;&lt;br /&gt;
		if sortable then&lt;br /&gt;
			sortType = &#039;data-sort-type=&amp;quot;number&amp;quot;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		local rowspan = &#039;&#039;&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			rowspan = &#039;rowspan=&amp;quot;2&amp;quot; &#039;&lt;br /&gt;
		end&lt;br /&gt;
		header = {&lt;br /&gt;
			&#039;! &#039; .. rowspan .. &#039; | Blok&#039;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		if not simple then&lt;br /&gt;
			table.insert( header, &#039;! &#039; .. rowspan .. sortType .. &#039; | Twardość&#039; )&lt;br /&gt;
			if showTool then&lt;br /&gt;
				table.insert( header, &#039;! &#039; .. rowspan .. &#039; | Narzędzie&#039; )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local toolColumns = {}&lt;br /&gt;
		if showTool then&lt;br /&gt;
			toolColumns = { &#039;Drewniany&#039;, &#039;Kamienny&#039;, &#039;Miedziany&#039;, &#039;Żelazny&#039;, &#039;Diamentowy&#039;, &#039;Netherytowy&#039;, &#039;Złoty&#039;}&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( toolColumns, 1, &#039;Domyślne&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if not simple then&lt;br /&gt;
			if showShears then&lt;br /&gt;
				table.insert( toolColumns, &#039;Nożyce&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if showSword then&lt;br /&gt;
				table.insert( toolColumns, &#039;Miecz&#039; )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			table.insert( header, &#039;! colspan=&amp;quot;&#039; .. #toolColumns .. &#039;&amp;quot; |&#039; .. getBreakingTimeHeader( f ) )&lt;br /&gt;
			table.insert( header, &#039;|-&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local toolSprites = {&lt;br /&gt;
			[&#039;Drewniany&#039;] = { &#039;Block&#039;, &#039;dębowe-deski&#039; },&lt;br /&gt;
			[&#039;Kamienny&#039;] = { &#039;Block&#039;, &#039;bruk&#039; },&lt;br /&gt;
			[&#039;Miedziany&#039;] = { &#039;Item&#039;, &#039;sztabka-miedzi&#039; },&lt;br /&gt;
			[&#039;Żelazny&#039;] = { &#039;Item&#039;, &#039;sztabka-żelaza&#039; },&lt;br /&gt;
			[&#039;Diamentowy&#039;] = { &#039;Item&#039;, &#039;diament&#039; },&lt;br /&gt;
			[&#039;Netherytowy&#039;] = { &#039;Item&#039;, &#039;sztabka-netherytu&#039; },&lt;br /&gt;
			[&#039;Złoty&#039;] = { &#039;Item&#039;, &#039;sztabka-złota&#039; },&lt;br /&gt;
			[&#039;Nożyce&#039;] = { &#039;Item&#039;, &#039;nożyce&#039; },&lt;br /&gt;
			[&#039;Miecz&#039;] = { &#039;Item&#039;, &#039;drewniany-miecz&#039; }&lt;br /&gt;
		}&lt;br /&gt;
		for _, tool in ipairs( toolColumns ) do&lt;br /&gt;
			if toolSprites[tool] then&lt;br /&gt;
				local image = f:expandTemplate({title = toolSprites[tool][1]..&#039;Sprite&#039;, args = {[&#039;1&#039;]=toolSprites[tool][2]}}).. &#039; &#039; .. tool&lt;br /&gt;
				table.insert( header, &#039;! style=&amp;quot;text-align:left&amp;quot; &#039; .. sortType .. &#039; | &#039; .. image )&lt;br /&gt;
				table.insert( categories, spriteCat )&lt;br /&gt;
			else&lt;br /&gt;
				table.insert( header, &#039;! &#039; .. sortType .. &#039; | &#039; .. tool )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			header = table.concat( header, &#039;\n&#039; )&lt;br /&gt;
			setDplVar( &#039;header&#039;, header )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( tableParts, header )&lt;br /&gt;
	else&lt;br /&gt;
		showTool = not getDplVar( &#039;hidetool&#039; )&lt;br /&gt;
		showShears = not getDplVar( &#039;hideshears&#039; )&lt;br /&gt;
		showSword = not getDplVar( &#039;hidesword&#039; )&lt;br /&gt;
		sortable = getDplVar( &#039;sortable&#039; )&lt;br /&gt;
		simple = getDplVar( &#039;simple&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local hardness = require( [[Moduł:Block value]] ).value&lt;br /&gt;
	&lt;br /&gt;
	local function fillCells( cellsTable, text, num )&lt;br /&gt;
		for i = 1, num do&lt;br /&gt;
			table.insert( cellsTable, text )&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local materialGrade = {&lt;br /&gt;
		Any = 0,&lt;br /&gt;
		Wooden = 1, Wood = 1,&lt;br /&gt;
		Golden = 1,&lt;br /&gt;
		Stone = 2,&lt;br /&gt;
		Copper = 2,&lt;br /&gt;
		Iron = 3,&lt;br /&gt;
		Diamond = 4,&lt;br /&gt;
        Netherite = 5,&lt;br /&gt;
		None = 6,&lt;br /&gt;
		[&#039;Dowolny&#039;] = 0,&lt;br /&gt;
		[&#039;Drewniany&#039;] = 1, [&#039;Drewniana&#039;] = 1,&lt;br /&gt;
		[&#039;Złoty&#039;] = 1, [&#039;Złota&#039;] = 1,&lt;br /&gt;
		[&#039;Kamienny&#039;] = 2, [&#039;Kamienna&#039;] = 2,&lt;br /&gt;
		[&#039;Miedziany&#039;] = 2, [&#039;Miedziana&#039;] = 2,&lt;br /&gt;
		[&#039;Żelazny&#039;] = 3, [&#039;Żelazna&#039;] = 3,&lt;br /&gt;
		[&#039;Diamentowy&#039;] = 4, [&#039;Diamentowa&#039;] = 4,&lt;br /&gt;
        [&#039;Netherytowy&#039;] = 5, [&#039;Netherytowa&#039;] = 5,&lt;br /&gt;
		[&#039;Brak&#039;] = 6&lt;br /&gt;
	}&lt;br /&gt;
	local materialSpeed = {&lt;br /&gt;
		None = 1,&lt;br /&gt;
		Any = 1,&lt;br /&gt;
		Wooden = 2, Wood = 2,&lt;br /&gt;
		Stone = 4,&lt;br /&gt;
		Copper = 5,&lt;br /&gt;
		Iron = 6,&lt;br /&gt;
		Diamond = 8,&lt;br /&gt;
        Netherite = 9,&lt;br /&gt;
		Golden = 12,&lt;br /&gt;
		[&#039;Dowolny&#039;] = 1,&lt;br /&gt;
		[&#039;Drewniany&#039;] = 2, [&#039;Drewnianf&#039;] = 2,&lt;br /&gt;
		[&#039;Złoty&#039;] = 12, [&#039;Złota&#039;] = 12,&lt;br /&gt;
		[&#039;Kamienny&#039;] = 4, [&#039;Kamienna&#039;] = 4,&lt;br /&gt;
		[&#039;Miedziany&#039;] = 5, [&#039;Miedziana&#039;] = 5,&lt;br /&gt;
		[&#039;Żelazny&#039;] = 6, [&#039;Żelazna&#039;] = 6,&lt;br /&gt;
		[&#039;Diamentowy&#039;] = 8, [&#039;Diamentowa&#039;] = 8,&lt;br /&gt;
        [&#039;Netherytowy&#039;] = 9, [&#039;Netherytowa&#039;] = 9,&lt;br /&gt;
		[&#039;Brak&#039;] = 1&lt;br /&gt;
	}&lt;br /&gt;
	local numberMaterials = 6&lt;br /&gt;
	&lt;br /&gt;
	local function insertBlock( blockArgs )&lt;br /&gt;
		local cells = {}&lt;br /&gt;
		local blocks = mw.text.split( blockArgs[1], &#039;%s*,%s*&#039; )&lt;br /&gt;
		local hardnessVal = tonumber( hardness{ blocks[1], type = &#039;Twardość&#039; } )&lt;br /&gt;
		if not hardnessVal then&lt;br /&gt;
			hardnessVal = &#039;?&#039;&lt;br /&gt;
			local title = mw.title.getCurrentTitle()&lt;br /&gt;
			if title.namespace == 0 and not title.isSubpage then&lt;br /&gt;
				table.insert(categories, &#039;[[Category:Brakujące twardość]]&#039;)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		local unbreakable&lt;br /&gt;
		if hardnessVal == -1 or blockArgs.liquid then&lt;br /&gt;
			unbreakable = true&lt;br /&gt;
		elseif hardnessVal ~= 0 then&lt;br /&gt;
			showOptions = true&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local blockSprites = {}&lt;br /&gt;
		local links = mw.text.split( blockArgs.link or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		local ids = mw.text.split( blockArgs.sprite or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		local items = mw.text.split( blockArgs.item or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		for i, block in ipairs( blocks ) do&lt;br /&gt;
			local link&lt;br /&gt;
			if not links[i] and links[1] ~= &#039;&#039; then&lt;br /&gt;
				link = links[1]&lt;br /&gt;
			elseif links[i] ~= &#039;&#039; then&lt;br /&gt;
				link = links[i]&lt;br /&gt;
			end&lt;br /&gt;
			mw.log(link)&lt;br /&gt;
			local id&lt;br /&gt;
			if not ids[i] and ids[1] ~= &#039;&#039; then&lt;br /&gt;
				id = ids[1]&lt;br /&gt;
			elseif ids[i] ~= &#039;&#039; then&lt;br /&gt;
				id = ids[i]&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			local blockText&lt;br /&gt;
			if args.textTrim then&lt;br /&gt;
				blockText = block:gsub( args.textTrim .. &#039;$&#039;, &#039;&#039; )&lt;br /&gt;
			else&lt;br /&gt;
				blockText = block&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			local image = f:expandTemplate({title=&#039;BlockLink&#039;, args = {[&#039;1&#039;]=block,text=blockText,[&#039;2&#039;]=link,id=id}})&lt;br /&gt;
			table.insert( blockSprites, image )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( cells,&lt;br /&gt;
			&#039;!&#039; .. (horizontal and &#039;&#039; or &#039; style=&amp;quot;text-align:left&amp;quot; | &#039;) .. table.concat( blockSprites, &#039;&amp;lt;br&amp;gt;&#039; ) .. ( blockArgs.note or &#039;&#039; )&lt;br /&gt;
		)&lt;br /&gt;
		&lt;br /&gt;
		local tool = mw.text.trim( simple and &#039;Narzędzie&#039; or blockArgs[2] or &#039;Dowolny&#039; ):gsub( &#039;^%l&#039;, string.upper )&lt;br /&gt;
		local material = mw.text.trim( simple and blockArgs[2] or blockArgs[3] or &#039;Dowolny&#039; ):gsub( &#039;^%l&#039;, string.upper )&lt;br /&gt;
		if tool == &#039;Brak&#039; then&lt;br /&gt;
			material = tool&lt;br /&gt;
		end&lt;br /&gt;
		if not simple then&lt;br /&gt;
			local hardnessText = hardnessVal&lt;br /&gt;
			if hardnessVal == -1 then&lt;br /&gt;
				hardnessText = ( sortable and &#039;data-sort-value=&amp;quot;9999&amp;quot; | &#039; or &#039;&#039; ) .. &amp;quot;&amp;amp;#45;1 (infinite)&amp;quot;&lt;br /&gt;
			end&lt;br /&gt;
			table.insert( cells, &#039;|&#039; .. hardnessText )&lt;br /&gt;
			&lt;br /&gt;
			if showTool then&lt;br /&gt;
				local toolCell = &#039;—&#039;&lt;br /&gt;
				if tool ~= &#039;Dowolny&#039; and tool ~= &#039;Brak&#039; then&lt;br /&gt;
					if material == &#039;Wood&#039; then&lt;br /&gt;
						material = &#039;Wooden&#039;&lt;br /&gt;
					end&lt;br /&gt;
					local isMaterialSpecified = (material ~= &#039;Dowolny&#039;) and (material ~= &#039;Brak&#039;)&lt;br /&gt;
					local toolName = polish:lc(( isMaterialSpecified and material .. &#039;-&#039; or &#039;&#039; ) .. tool)&lt;br /&gt;
					local toolSpriteName = ( (isMaterialSpecified) and &#039;&#039; or &#039;&#039; ) .. toolName&lt;br /&gt;
					local image = f:expandTemplate({title=&#039;ItemSprite&#039;, args = {[&#039;1&#039;]=toolSpriteName,title=toolName,link=tool,keepcase = not isMaterialSpecified}})&lt;br /&gt;
					&lt;br /&gt;
					toolCell = ( sortable and &#039;data-sort-value=&amp;quot;&#039; .. toolName .. &#039;&amp;quot; |&#039; or &#039;&#039; ) .. image&lt;br /&gt;
					table.insert( categories, spriteCat )&lt;br /&gt;
				end&lt;br /&gt;
				table.insert( cells, &#039;|&#039; .. toolCell )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local choices = {}&lt;br /&gt;
		local function getChoice( choice, text )&lt;br /&gt;
			if not choices[choice] then&lt;br /&gt;
				choices[choice] = f:expandTemplate{ title = &#039;Tc&#039;, args = { choice, &#039;&#039; } }&lt;br /&gt;
			end&lt;br /&gt;
			return choices[choice] .. text&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local function processTime( actualHardness, baseSpeed, tool )&lt;br /&gt;
			-- the number passed in has been multiplied by 100&lt;br /&gt;
			local num = actualHardness / baseSpeed&lt;br /&gt;
			if num &amp;lt;= 5 then	   -- Blocks with a breaking time &amp;lt;= 1 game tick (0.05 seconds) are instant mined (no delay after each block broken)&lt;br /&gt;
				num = &amp;quot;&#039;&#039;0.05&#039;&#039;&amp;quot;    -- Blocks have a minimum breaking time of 1 game tick&lt;br /&gt;
			else					-- And they must be broken in multiples of 1 game tick&lt;br /&gt;
				num = math.ceil( num / 5 ) / 20&lt;br /&gt;
			end&lt;br /&gt;
			return num&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if hardnessVal == &#039;?&#039; then&lt;br /&gt;
			fillCells( cells, &#039;|?&#039;, numberMaterials + 1 )&lt;br /&gt;
		else&lt;br /&gt;
			if unbreakable then&lt;br /&gt;
				table.insert( cells, &#039;| &#039; .. ( sortable and &#039;data-sort-value=&amp;quot;9999&amp;quot; &#039; or &#039;&#039; ) .. getChoice( &#039;nie&#039;, &#039;∞&#039; ) )&lt;br /&gt;
				if showTool then&lt;br /&gt;
					fillCells( cells, &#039;|—&#039;, numberMaterials )&lt;br /&gt;
				end&lt;br /&gt;
			else&lt;br /&gt;
				local drop = &#039;tak&#039;&lt;br /&gt;
				local forceDrop = false&lt;br /&gt;
				if blockArgs[&#039;łupy&#039;] == &#039;0&#039; then&lt;br /&gt;
					drop = &#039;częściowo&#039;&lt;br /&gt;
				elseif blockArgs[&#039;łupy&#039;] == &#039;1&#039; then&lt;br /&gt;
					forceDrop = &#039;tak&#039;&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				local requiredLevel = unbreakable and 999 or materialGrade[material]&lt;br /&gt;
				local function insertMaterialCell( material )&lt;br /&gt;
					local shouldDrop = drop&lt;br /&gt;
					if materialGrade[material] &amp;lt; requiredLevel then&lt;br /&gt;
						shouldDrop = &#039;nie&#039;&lt;br /&gt;
					end&lt;br /&gt;
					-- prevent float number precision loss, multiply by 100 and divide it in processTime function&lt;br /&gt;
					local breakTime = processTime( hardnessVal * (shouldDrop == &#039;nie&#039; and 500 or 150), materialSpeed[material], material )&lt;br /&gt;
					table.insert( cells, &#039;|&#039; .. getChoice( forceDrop or shouldDrop, breakTime ) )&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				if not showTool or tool == &#039;Any&#039; or tool == &#039;None&#039; then&lt;br /&gt;
					insertMaterialCell( &#039;Any&#039; )&lt;br /&gt;
					if showTool then&lt;br /&gt;
						fillCells( cells, &#039;|—&#039;, numberMaterials )&lt;br /&gt;
					end&lt;br /&gt;
				else&lt;br /&gt;
					for _, material in ipairs{ &#039;Any&#039;, &#039;Wooden&#039;, &#039;Stone&#039;, &#039;Copper&#039;, &#039;Iron&#039;, &#039;Diamond&#039;, &#039;Netherite&#039;, &#039;Golden&#039; } do&lt;br /&gt;
						insertMaterialCell( material )&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not simple and ( showShears or showSword ) then&lt;br /&gt;
			local tools = {}&lt;br /&gt;
			if showShears then&lt;br /&gt;
				table.insert( tools, &#039;Nożyce&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if showSword then&lt;br /&gt;
				table.insert( tools, &#039;Miecz&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if hardnessVal == &#039;?&#039; then&lt;br /&gt;
				fillCells( cells, &#039;|?&#039;, #tools )&lt;br /&gt;
			else&lt;br /&gt;
				local toolSpeed = {&lt;br /&gt;
					[&#039;Nożyce&#039;] = 1,&lt;br /&gt;
					[&#039;Miecz&#039;] = 1.5&lt;br /&gt;
				}&lt;br /&gt;
				if blocks[1] == &#039;Wełna&#039; then&lt;br /&gt;
					toolSpeed[&#039;Nożyce&#039;] = 5&lt;br /&gt;
				elseif blocks[1] == &#039;Liście&#039; then&lt;br /&gt;
					toolSpeed[&#039;Nożyce&#039;] = 15&lt;br /&gt;
				elseif blocks[1] == &#039;Pajęczyna&#039; then&lt;br /&gt;
					toolSpeed[&#039;Miecz&#039;] = 15&lt;br /&gt;
					toolSpeed[&#039;Nożyce&#039;] = 15&lt;br /&gt;
				elseif blocks[1] == &#039;Bambus&#039; or blocks[1] == &#039;Pęd bambusu&#039; then&lt;br /&gt;
					toolSpeed[&#039;Miecz&#039;] = 5000&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				for _, tool in ipairs( tools ) do&lt;br /&gt;
					local toolDrop = blockArgs[mw.ustring.lower( tool )]&lt;br /&gt;
					if not toolDrop then&lt;br /&gt;
						table.insert( cells, &#039;|—&#039; )&lt;br /&gt;
					else&lt;br /&gt;
						local willDrop = &#039;tak&#039;&lt;br /&gt;
						if toolDrop == &#039;0&#039; then&lt;br /&gt;
							willDrop = &#039;częściowo&#039;&lt;br /&gt;
						end&lt;br /&gt;
						-- prevent float number precision loss, multiply by 100 and divide it in processTime function&lt;br /&gt;
						local breakTime = processTime( hardnessVal * 150, toolSpeed[tool], tool )&lt;br /&gt;
						table.insert( cells, &#039;|&#039; .. getChoice( willDrop, breakTime ) )&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			cells = table.concat( cells, &#039;\n&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( tableParts, cells )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if horizontal then&lt;br /&gt;
		local blocksArgs = {}&lt;br /&gt;
		for _, arg in ipairs{ 1, &#039;note&#039;, &#039;sprite&#039;, &#039;link&#039;, &#039;item&#039;, &#039;łupy&#039;, 2, 3, &#039;nożyce&#039;, &#039;miecz&#039; } do&lt;br /&gt;
			if args[arg] then&lt;br /&gt;
				local col = 0&lt;br /&gt;
				for colVal in mw.text.gsplit( args[arg], &#039;%s*;%s*&#039; ) do&lt;br /&gt;
					col = col + 1&lt;br /&gt;
					if colVal ~= &#039;&#039; then&lt;br /&gt;
						if not blocksArgs[col] then&lt;br /&gt;
							blocksArgs[col] = {}&lt;br /&gt;
						end&lt;br /&gt;
						&lt;br /&gt;
						blocksArgs[col][arg] = colVal&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		for _, block in ipairs( blocksArgs ) do&lt;br /&gt;
			insertBlock( block )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local columns = #tableParts&lt;br /&gt;
		for row = 1, #tableParts[1] do&lt;br /&gt;
			local cells = {}&lt;br /&gt;
			for col = 1, columns do&lt;br /&gt;
				table.insert( cells, tableParts[col][row] )&lt;br /&gt;
			end&lt;br /&gt;
			table.insert( rows, table.concat( cells, &#039;\n&#039; ) )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- Insert breaking time header after block row when simple, or after tool or hardness row when not&lt;br /&gt;
		table.insert( rows, simple and 3 or showTool and 5 or 4, &#039;! colspan=&amp;quot;&#039; .. columns + 1 .. &#039;&amp;quot; |&#039; .. getBreakingTimeHeader( f ) )&lt;br /&gt;
	else&lt;br /&gt;
		insertBlock( args )&lt;br /&gt;
		for _, row in ipairs( tableParts ) do&lt;br /&gt;
			table.insert( rows, row )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039;&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local note = &#039;&#039;&lt;br /&gt;
	if args.foot or horizontal then&lt;br /&gt;
		note = f:preprocess( &#039;&amp;lt;references group=&amp;quot;FN&amp;quot;/&amp;gt;&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if args.foot == &#039;2&#039; then&lt;br /&gt;
			table.insert( rows, header or getDplVar( &#039;header&#039; ) )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039;|}&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			f:callParserFunction( &#039;#dplvar:set&#039;,&lt;br /&gt;
				&#039;breaking header&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hidetool&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hideshears&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hidesword&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking simple&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking sortable&#039;, &#039;&#039;&lt;br /&gt;
			)&lt;br /&gt;
		end&lt;br /&gt;
	elseif #dplVars &amp;gt; 0 then&lt;br /&gt;
		f:callParserFunction( &#039;#dplvar:set&#039;, dplVars )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local result = table.concat( rows, &#039;\n|-\n&#039; )&lt;br /&gt;
	return result .. note .. table.concat( categories )&lt;br /&gt;
end&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=U%C5%BCytkownik:MetroKopUA/Test&amp;diff=122997</id>
		<title>Użytkownik:MetroKopUA/Test</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=U%C5%BCytkownik:MetroKopUA/Test&amp;diff=122997"/>
		<updated>2025-07-21T00:15:24Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Wydobywanie|Głowa|horyzontalny=1|link=Deski|sprite=blok-miedzi}}&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=U%C5%BCytkownik:MetroKopUA/Test&amp;diff=122996</id>
		<title>Użytkownik:MetroKopUA/Test</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=U%C5%BCytkownik:MetroKopUA/Test&amp;diff=122996"/>
		<updated>2025-07-21T00:14:21Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Wydobywanie|Głowa|horyzontalny=1|link=Deski|sprite=Blok miedzi}}&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Modu%C5%82:Block_value&amp;diff=122995</id>
		<title>Moduł:Block value</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Modu%C5%82:Block_value&amp;diff=122995"/>
		<updated>2025-07-20T23:47:57Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: w przeciwnym razie słowa zaczynające się od liter unikalnych dla polskiego z angielskiego nie będą działać&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {}&lt;br /&gt;
local polish = mw.language.new(&#039;pl&#039;)&lt;br /&gt;
&lt;br /&gt;
function p.value( f )&lt;br /&gt;
	local args = f&lt;br /&gt;
	if f == mw.getCurrentFrame() then &lt;br /&gt;
		args = require( &#039;Module:ProcessArgs&#039; ).merge( true )&lt;br /&gt;
	end&lt;br /&gt;
	local block = polish:lc(mw.text.trim( args[1] or &#039;&#039; ))&lt;br /&gt;
	local argType = args.type&lt;br /&gt;
	&lt;br /&gt;
	local values = mw.loadData( &#039;Module:&#039; .. argType .. &#039; values&#039; )&lt;br /&gt;
	local value = values[block]&lt;br /&gt;
	local category = &#039;&#039;&lt;br /&gt;
	if not value then&lt;br /&gt;
		value = values[block:gsub( &#039;s$&#039;, &#039;&#039; )]&lt;br /&gt;
		&lt;br /&gt;
		if not value then&lt;br /&gt;
			value = &#039;?&#039;&lt;br /&gt;
			local title = mw.title.getCurrentTitle()&lt;br /&gt;
			if not args.nocat and title.namespace == 0 and not title.isSubpage then&lt;br /&gt;
				category = &#039;[[Category:Brakujące &#039; .. polish:lc(argType) .. &#039;]]&#039;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return value .. category&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Szablon:Wydobywanie/opis&amp;diff=122994</id>
		<title>Szablon:Wydobywanie/opis</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Szablon:Wydobywanie/opis&amp;diff=122994"/>
		<updated>2025-07-20T23:36:17Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Dokumentacja/Nagłówek}}&lt;br /&gt;
{{lua|Breaking_row}}&lt;br /&gt;
&amp;lt;!-- Dokumentacja powinna być umieszczona w tym miejscu --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ten szablon jest używany do tworzenia tabeli czasu potrzebnego na wydobycie bloków.&lt;br /&gt;
&lt;br /&gt;
== Podstawowe użycie ==&lt;br /&gt;
&lt;br /&gt;
=== Parametry ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;background-color: transparent;&amp;quot;&lt;br /&gt;
! Parametr&lt;br /&gt;
! Funkcja&lt;br /&gt;
! Domyślna wartość&lt;br /&gt;
! Opcjonalny?&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; || Nazwa bloku || || Nie&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;link&amp;lt;/code&amp;gt; || Ustawia link || &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{1}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sprite&amp;lt;/code&amp;gt; || Ustawia ID sprite&#039;a || &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{1}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt; || Jeśli jest ustawiona, wiersz używa {{t|itemSprite}} zamiast {{t|blockSprite}}. || || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;note&amp;lt;/code&amp;gt; || Służy do dodawania notatki po tytule, zwykle przy użyciu &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;ref&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. || || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;textTrim&amp;lt;/code&amp;gt; || Obcina podany tekst od końca tytułu. Zaprojektowany do użytku z funkcją [[#Horyzontalny|horyzontalny]]. || || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; || Odpowiednie narzędzie. Może być ustawione na &amp;lt;code&amp;gt;Kilof&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Siekiera&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Łopata&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Motyka&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Brak&amp;lt;/code&amp;gt;, lub &amp;lt;code&amp;gt;Dowolny&amp;lt;/code&amp;gt;. || &amp;lt;code&amp;gt;Dowolny&amp;lt;/code&amp;gt; || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt; || Minimalny wymagany poziom/materiał narzędzia. Może być ustawione na &amp;lt;code&amp;gt;Drewniany&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;Drewniana&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Kamienny&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;Kamienna&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Żelazny&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;Żelazna&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Diamentowy&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;Diamentowa&amp;lt;/code&amp;gt;, lub &amp;lt;code&amp;gt;Dowolny&amp;lt;/code&amp;gt;. Określi czas wydobywania i kiedy tło zmieni kolor na czerwony. || &amp;lt;code&amp;gt;Dowolny&amp;lt;/code&amp;gt; || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;łupy&amp;lt;/code&amp;gt; || Jeśli ustawione na &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, zmienia tło kolumn, które powinny wypaść, na żółte, oznaczając, że nie wypadają, ale są wydobyte odpowiednim narzędziem.&amp;lt;br&amp;gt;Jeśli ustawione na &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, kolumny nie zmienią koloru na czerwony, gdy będą poniżej poziomu narzędzia. Używany, ponieważ [[Education Edition]] ma bloki, które obliczają czas tak, jakby wymagany był kilof (w tym kara za brak kilofa), ale nadal spadają, gdy zostaną złamane ręcznie. || || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nożyce&amp;lt;/code&amp;gt; || Ustawia kolumnę nożyc. Jeśli jest ustawiona na &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, zmienia tło głównych kolumn na żółte, oznaczając, że nie wypadają. || || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;miecz&amp;lt;/code&amp;gt; || Ustawia kolumnę miecza. Jeśli ustawiona na &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, zmienia tło głównych kolumn na żółte, oznaczając, że nie wypadają. || || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;foot&amp;lt;/code&amp;gt; || Jeśli jest ustawione, dodaje stopkę. Jeśli ustawione na &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;, dodaje również kolumny nagłówka na dole. || || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sort&amp;lt;/code&amp;gt; || Jeśli ustawione, tabela będzie sortowalna. || || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;hidetool&amp;lt;/code&amp;gt; || Jeśli ustawione, główna kolumna narzędzi zostanie usunięta. || || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;hideshears&amp;lt;/code&amp;gt; || Jeśli ustawione, kolumna nożyc zostanie usunięta. || || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;hidesword&amp;lt;/code&amp;gt; || Jeśli ustawione, kolumna miecza zostanie usunięta. || || Tak&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;hideoptions&amp;lt;/code&amp;gt; || Jeśli ustawione, opcje w trybie horyzontalnym zostaną usunięte. || || Tak&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Wiele nazw ===&lt;br /&gt;
&lt;br /&gt;
Parametr &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{1}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; może być listą oddzieloną średnikami, aby wyświetlić wiele bloków.&lt;br /&gt;
&lt;br /&gt;
== Tryby ==&lt;br /&gt;
&lt;br /&gt;
Tabela obsługuje dwa alternatywne tryby.&lt;br /&gt;
&lt;br /&gt;
=== Simple ===&lt;br /&gt;
&lt;br /&gt;
Jeśli ustawione jest &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{simple}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, tabela nie będzie pokazywać kolumn &amp;quot;Twardość&amp;quot;, &amp;quot;Narzędzie&amp;quot;, &amp;quot;Nożyce&amp;quot; lub &amp;quot;Miecz&amp;quot;. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{2}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; przejmie również funkcję poprzednio wykonywaną przez &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{3}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Tryb ten jest przeznaczony do użycia w artykułach narzędziowych, takich jak [[Kilof]], gdzie dostępne narzędzie jest już podane.&lt;br /&gt;
&lt;br /&gt;
=== Horyzontalny ===&lt;br /&gt;
&lt;br /&gt;
Jeśli ustawione jest &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{horyzontalny}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, tabela będzie się obracać, wyświetlając kolumny poszczególnych bloków zamiast wierszy. W tym trybie cała tabela jest budowana przy użyciu jednego wywołania szablonu. Poszczególne kolumny są określane za pomocą listy oddzielonej średnikami w parametrach. Jeśli odpowiednia część parametru jest tylko białą spacją, parametr użyje wartości domyślnej.&lt;br /&gt;
&lt;br /&gt;
Podczas korzystania z tego trybu parametry &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{foot}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{sort}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; nie mają żadnej funkcji, a wszystkie parametry, które wcześniej wpływały na kolumnę, będą teraz wpływać na wiersz.&lt;br /&gt;
&lt;br /&gt;
Tryb ten jest przeznaczony do wyświetlania tabeli w artykułach blokowych, takich jak [[Kamień]].&lt;br /&gt;
&lt;br /&gt;
== Przykłady ==&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Wydobywanie|Głowa|horyzontalny=1}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Wydobywanie|Głowa|horyzontalny=1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Wydobywanie|Deski|Siekiera|horyzontalny=1}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Wydobywanie|Deski|Siekiera|horyzontalny=1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Wydobywanie|Liście|Motyka|łupy=0|nożyce=1|miecz=0|horyzontalny=1}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Wydobywanie|Liście|Motyka|łupy=0|nożyce=1|miecz=0|horyzontalny=1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Wydobywanie|Złoże żelaza;Łupkowe złoże żelaza|Kilof;Kilof|Kamienny;Kamienny|horyzontalny=1}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Wydobywanie|Złoże żelaza;Łupkowe złoże żelaza|Kilof;Kilof|Kamienny;Kamienny|horyzontalny=1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Wydobywanie|Złoże żelaza|Kamienny|simple=1|horyzontalny=1}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
(ustawiony horyzontalny, tylko po to, żeby nie zepsuć kolejnego przykładu)&lt;br /&gt;
{{Wydobywanie|Złoże żelaza|Kamienny|simple=1|horyzontalny=1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Wydobywanie|Liście|Motyka|łupy=0|nożyce=1|miecz=0}}&lt;br /&gt;
{{Wydobywanie|Piorunochron|Kilof|Kamienny}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Wydobywanie|Liście|Motyka|łupy=0|nożyce=1|miecz=0}}&lt;br /&gt;
{{Wydobywanie|Piorunochron|Kilof|Kamienny}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
Kategorie i interwiki szablonu muszą być umieszone w tym miejscu --&amp;gt;&lt;br /&gt;
[[Category:Table templates]]&lt;br /&gt;
&lt;br /&gt;
[[cs:Šablona:Breaking row]]&lt;br /&gt;
[[de:Vorlage:Abbauen]]&lt;br /&gt;
[[es:Plantilla:Breaking row]]&lt;br /&gt;
[[fr:Modèle:Tableau de minage]]&lt;br /&gt;
[[it:Template:Breaking row]]&lt;br /&gt;
[[ja:テンプレート:Breaking row]]&lt;br /&gt;
[[ko:틀:Breaking row]]&lt;br /&gt;
[[lzh:模板:Breaking row]]&lt;br /&gt;
[[nl:Sjabloon:Breektabel]]&lt;br /&gt;
[[pt:Predefinição:Linha de quebra]]&lt;br /&gt;
[[ru:Шаблон:Таблица разрушаемости]]&lt;br /&gt;
[[th:แม่แบบ:Breaking row]]&lt;br /&gt;
[[uk:Шаблон:Таблиця руйнування]]&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
Kategorie i interwiki dokumentacji muszą być umieszone w tym miejscu --&amp;gt;&lt;br /&gt;
[[cs:Šablona:Breaking row/doc]]&lt;br /&gt;
[[de:Vorlage:Abbauen/Dokumentation]]&lt;br /&gt;
[[es:Plantilla:Breaking row/doc]]&lt;br /&gt;
[[fr:Modèle:Tableau de minage/doc]]&lt;br /&gt;
[[it:Template:Breaking row/doc]]&lt;br /&gt;
[[ja:テンプレート:Breaking row/doc]]&lt;br /&gt;
[[ko:틀:Breaking row/doc]]&lt;br /&gt;
[[lzh:模板:Breaking row/doc]]&lt;br /&gt;
[[nl:Sjabloon:Breektabel/doc]]&lt;br /&gt;
[[pt:Predefinição:Linha de quebra/doc]]&lt;br /&gt;
[[ru:Шаблон:Таблица разрушаемости/док]]&lt;br /&gt;
[[th:แม่แบบ:Breaking row/doc]]&lt;br /&gt;
[[uk:Шаблон:Таблиця руйнування/док]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Modu%C5%82:Breaking_row&amp;diff=122993</id>
		<title>Moduł:Breaking row</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Modu%C5%82:Breaking_row&amp;diff=122993"/>
		<updated>2025-07-20T23:34:14Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {}&lt;br /&gt;
local polish = mw.language.new(&#039;pl&#039;)&lt;br /&gt;
&lt;br /&gt;
local breakingTimeHeader;&lt;br /&gt;
local function getBreakingTimeHeader( f )&lt;br /&gt;
	if breakingTimeHeader == nil then&lt;br /&gt;
		breakingTimeHeader = &#039;Czas wydobycia (sekundy)&#039; .. f:preprocess( &#039;&amp;lt;ref group=&amp;quot;FN&amp;quot; name=&amp;quot;breakingtimenote&amp;quot;&amp;gt;Czasy nie biorą pod uwagę [[Zaklinanie|zaklęć]], [[efekt]]ów i innych czynników, jak np. zanurzenie w wodzie.&amp;lt;/ref&amp;gt;&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	return breakingTimeHeader&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function p.row( f )&lt;br /&gt;
	local args = require( [[Moduł:ProcessArgs]] ).norm()&lt;br /&gt;
	&lt;br /&gt;
	local function getDplVar( var )&lt;br /&gt;
		local val = f:callParserFunction( &#039;#dplvar&#039;, &#039;breaking &#039; .. var )&lt;br /&gt;
		if val == &#039;&#039; then&lt;br /&gt;
			val = false&lt;br /&gt;
		end&lt;br /&gt;
		return val&lt;br /&gt;
	end&lt;br /&gt;
	local dplVars = {}&lt;br /&gt;
	local function setDplVar( var, val )&lt;br /&gt;
		table.insert( dplVars, &#039;breaking &#039; .. var )&lt;br /&gt;
		table.insert( dplVars, val or &#039;1&#039; )&lt;br /&gt;
	end&lt;br /&gt;
		&lt;br /&gt;
	local rows = {}&lt;br /&gt;
	local tableParts = {}&lt;br /&gt;
	local categories = {}&lt;br /&gt;
	local showOptions = false&lt;br /&gt;
	&lt;br /&gt;
	local horizontal&lt;br /&gt;
	if args[&#039;horyzontalny&#039;] or args[1]:match( &#039;;&#039; ) then&lt;br /&gt;
		horizontal = true&lt;br /&gt;
	end&lt;br /&gt;
	local showTool = true&lt;br /&gt;
	local showShears = true&lt;br /&gt;
	local showSword = true&lt;br /&gt;
	local header, sortable, simple&lt;br /&gt;
	if horizontal or not getDplVar( &#039;header&#039; ) then&lt;br /&gt;
		if args.hidetool or horizontal and ( not args[2] or args[2]:lower() == &#039;dowolny&#039; or args[2]:lower() == &#039;brak&#039; ) then&lt;br /&gt;
			showTool = false&lt;br /&gt;
			setDplVar( &#039;hidetool&#039; )&lt;br /&gt;
    		breakingTimeHeader = &#039;Czas wydobycia (sekundy)&#039;&lt;br /&gt;
		end&lt;br /&gt;
		if args.hideshears or horizontal and not args[&#039;nożyce&#039;] then&lt;br /&gt;
			showShears = false&lt;br /&gt;
			setDplVar( &#039;hideshears&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		if args.hidesword or horizontal and not args[&#039;miecz&#039;] then&lt;br /&gt;
			showSword = false&lt;br /&gt;
			setDplVar( &#039;hidesword&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		sortable = not horizontal and args.sort&lt;br /&gt;
		if sortable then&lt;br /&gt;
			setDplVar( &#039;sortable&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		simple = args.simple&lt;br /&gt;
		if simple and not horizontal then&lt;br /&gt;
			setDplVar( &#039;simple&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local tableClasses = { &#039;wikitable&#039; }&lt;br /&gt;
		if sortable then&lt;br /&gt;
			table.insert( tableClasses, &#039;sortable&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039; {| class=&amp;quot;&#039; .. table.concat( tableClasses, &#039; &#039; ) .. &#039;&amp;quot; style=&amp;quot;text-align: center; margin: 0;&amp;quot;&#039; )&lt;br /&gt;
		&lt;br /&gt;
		local sortType = &#039;&#039;&lt;br /&gt;
		if sortable then&lt;br /&gt;
			sortType = &#039;data-sort-type=&amp;quot;number&amp;quot;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		local rowspan = &#039;&#039;&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			rowspan = &#039;rowspan=&amp;quot;2&amp;quot; &#039;&lt;br /&gt;
		end&lt;br /&gt;
		header = {&lt;br /&gt;
			&#039;! &#039; .. rowspan .. &#039; | Blok&#039;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		if not simple then&lt;br /&gt;
			table.insert( header, &#039;! &#039; .. rowspan .. sortType .. &#039; | Twardość&#039; )&lt;br /&gt;
			if showTool then&lt;br /&gt;
				table.insert( header, &#039;! &#039; .. rowspan .. &#039; | Narzędzie&#039; )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local toolColumns = {}&lt;br /&gt;
		if showTool then&lt;br /&gt;
			toolColumns = { &#039;Drewniany&#039;, &#039;Kamienny&#039;, &#039;Miedziany&#039;, &#039;Żelazny&#039;, &#039;Diamentowy&#039;, &#039;Netherytowy&#039;, &#039;Złoty&#039;}&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( toolColumns, 1, &#039;Domyślne&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if not simple then&lt;br /&gt;
			if showShears then&lt;br /&gt;
				table.insert( toolColumns, &#039;Nożyce&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if showSword then&lt;br /&gt;
				table.insert( toolColumns, &#039;Miecz&#039; )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			table.insert( header, &#039;! colspan=&amp;quot;&#039; .. #toolColumns .. &#039;&amp;quot; |&#039; .. getBreakingTimeHeader( f ) )&lt;br /&gt;
			table.insert( header, &#039;|-&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local toolSprites = {&lt;br /&gt;
			[&#039;Drewniany&#039;] = { &#039;Block&#039;, &#039;dębowe-deski&#039; },&lt;br /&gt;
			[&#039;Kamienny&#039;] = { &#039;Block&#039;, &#039;bruk&#039; },&lt;br /&gt;
			[&#039;Miedziany&#039;] = { &#039;Item&#039;, &#039;sztabka-miedzi&#039; },&lt;br /&gt;
			[&#039;Żelazny&#039;] = { &#039;Item&#039;, &#039;sztabka-żelaza&#039; },&lt;br /&gt;
			[&#039;Diamentowy&#039;] = { &#039;Item&#039;, &#039;diament&#039; },&lt;br /&gt;
			[&#039;Netherytowy&#039;] = { &#039;Item&#039;, &#039;sztabka-netherytu&#039; },&lt;br /&gt;
			[&#039;Złoty&#039;] = { &#039;Item&#039;, &#039;sztabka-złota&#039; },&lt;br /&gt;
			[&#039;Nożyce&#039;] = { &#039;Item&#039;, &#039;nożyce&#039; },&lt;br /&gt;
			[&#039;Miecz&#039;] = { &#039;Item&#039;, &#039;drewniany-miecz&#039; }&lt;br /&gt;
		}&lt;br /&gt;
		for _, tool in ipairs( toolColumns ) do&lt;br /&gt;
			if toolSprites[tool] then&lt;br /&gt;
				local image = f:expandTemplate({title = toolSprites[tool][1]..&#039;Sprite&#039;, args = {[&#039;1&#039;]=toolSprites[tool][2]}}).. &#039; &#039; .. tool&lt;br /&gt;
				table.insert( header, &#039;! style=&amp;quot;text-align:left&amp;quot; &#039; .. sortType .. &#039; | &#039; .. image )&lt;br /&gt;
				table.insert( categories, spriteCat )&lt;br /&gt;
			else&lt;br /&gt;
				table.insert( header, &#039;! &#039; .. sortType .. &#039; | &#039; .. tool )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			header = table.concat( header, &#039;\n&#039; )&lt;br /&gt;
			setDplVar( &#039;header&#039;, header )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( tableParts, header )&lt;br /&gt;
	else&lt;br /&gt;
		showTool = not getDplVar( &#039;hidetool&#039; )&lt;br /&gt;
		showShears = not getDplVar( &#039;hideshears&#039; )&lt;br /&gt;
		showSword = not getDplVar( &#039;hidesword&#039; )&lt;br /&gt;
		sortable = getDplVar( &#039;sortable&#039; )&lt;br /&gt;
		simple = getDplVar( &#039;simple&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local hardness = require( [[Moduł:Block value]] ).value&lt;br /&gt;
	&lt;br /&gt;
	local function fillCells( cellsTable, text, num )&lt;br /&gt;
		for i = 1, num do&lt;br /&gt;
			table.insert( cellsTable, text )&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local materialGrade = {&lt;br /&gt;
		Any = 0,&lt;br /&gt;
		Wooden = 1, Wood = 1,&lt;br /&gt;
		Golden = 1,&lt;br /&gt;
		Stone = 2,&lt;br /&gt;
		Copper = 2,&lt;br /&gt;
		Iron = 3,&lt;br /&gt;
		Diamond = 4,&lt;br /&gt;
        Netherite = 5,&lt;br /&gt;
		None = 6,&lt;br /&gt;
		[&#039;Dowolny&#039;] = 0,&lt;br /&gt;
		[&#039;Drewniany&#039;] = 1, [&#039;Drewniana&#039;] = 1,&lt;br /&gt;
		[&#039;Złoty&#039;] = 1, [&#039;Złota&#039;] = 1,&lt;br /&gt;
		[&#039;Kamienny&#039;] = 2, [&#039;Kamienna&#039;] = 2,&lt;br /&gt;
		[&#039;Miedziany&#039;] = 2, [&#039;Miedziana&#039;] = 2,&lt;br /&gt;
		[&#039;Żelazny&#039;] = 3, [&#039;Żelazna&#039;] = 3,&lt;br /&gt;
		[&#039;Diamentowy&#039;] = 4, [&#039;Diamentowa&#039;] = 4,&lt;br /&gt;
        [&#039;Netherytowy&#039;] = 5, [&#039;Netherytowa&#039;] = 5,&lt;br /&gt;
		[&#039;Brak&#039;] = 6&lt;br /&gt;
	}&lt;br /&gt;
	local materialSpeed = {&lt;br /&gt;
		None = 1,&lt;br /&gt;
		Any = 1,&lt;br /&gt;
		Wooden = 2, Wood = 2,&lt;br /&gt;
		Stone = 4,&lt;br /&gt;
		Copper = 5,&lt;br /&gt;
		Iron = 6,&lt;br /&gt;
		Diamond = 8,&lt;br /&gt;
        Netherite = 9,&lt;br /&gt;
		Golden = 12,&lt;br /&gt;
		[&#039;Dowolny&#039;] = 1,&lt;br /&gt;
		[&#039;Drewniany&#039;] = 2, [&#039;Drewnianf&#039;] = 2,&lt;br /&gt;
		[&#039;Złoty&#039;] = 12, [&#039;Złota&#039;] = 12,&lt;br /&gt;
		[&#039;Kamienny&#039;] = 4, [&#039;Kamienna&#039;] = 4,&lt;br /&gt;
		[&#039;Miedziany&#039;] = 5, [&#039;Miedziana&#039;] = 5,&lt;br /&gt;
		[&#039;Żelazny&#039;] = 6, [&#039;Żelazna&#039;] = 6,&lt;br /&gt;
		[&#039;Diamentowy&#039;] = 8, [&#039;Diamentowa&#039;] = 8,&lt;br /&gt;
        [&#039;Netherytowy&#039;] = 9, [&#039;Netherytowa&#039;] = 9,&lt;br /&gt;
		[&#039;Brak&#039;] = 1&lt;br /&gt;
	}&lt;br /&gt;
	local numberMaterials = 6&lt;br /&gt;
	&lt;br /&gt;
	local function insertBlock( blockArgs )&lt;br /&gt;
		local cells = {}&lt;br /&gt;
		local blocks = mw.text.split( blockArgs[1], &#039;%s*,%s*&#039; )&lt;br /&gt;
		local hardnessVal = tonumber( hardness{ blocks[1], type = &#039;Twardość&#039; } )&lt;br /&gt;
		if not hardnessVal then&lt;br /&gt;
			hardnessVal = &#039;?&#039;&lt;br /&gt;
			local title = mw.title.getCurrentTitle()&lt;br /&gt;
			if title.namespace == 0 and not title.isSubpage then&lt;br /&gt;
				table.insert(categories, &#039;[[Category:Brakujące twardość]]&#039;)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		local unbreakable&lt;br /&gt;
		if hardnessVal == -1 or blockArgs.liquid then&lt;br /&gt;
			unbreakable = true&lt;br /&gt;
		elseif hardnessVal ~= 0 then&lt;br /&gt;
			showOptions = true&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local blockSprites = {}&lt;br /&gt;
		local links = mw.text.split( blockArgs.link or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		local ids = mw.text.split( blockArgs.sprite or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		local items = mw.text.split( blockArgs.item or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		for i, block in ipairs( blocks ) do&lt;br /&gt;
			local link&lt;br /&gt;
			if not links[i] and links[1] ~= &#039;&#039; then&lt;br /&gt;
				link = links[1]&lt;br /&gt;
			elseif links[i] ~= &#039;&#039; then&lt;br /&gt;
				link = links[i]&lt;br /&gt;
			end&lt;br /&gt;
			local id&lt;br /&gt;
			if not ids[i] and ids[1] ~= &#039;&#039; then&lt;br /&gt;
				id = ids[1]&lt;br /&gt;
			elseif ids[i] ~= &#039;&#039; then&lt;br /&gt;
				id = ids[i]&lt;br /&gt;
			end&lt;br /&gt;
			local blockText&lt;br /&gt;
			if args.textTrim then&lt;br /&gt;
				blockText = block:gsub( args.textTrim .. &#039;$&#039;, &#039;&#039; )&lt;br /&gt;
			else&lt;br /&gt;
				blockText = block&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			local image = f:expandTemplate({title=&#039;BlockLink&#039;, args = {[&#039;1&#039;]=block,text=blockText,link=link,id=id}})&lt;br /&gt;
			table.insert( blockSprites, image )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( cells,&lt;br /&gt;
			&#039;!&#039; .. (horizontal and &#039;&#039; or &#039; style=&amp;quot;text-align:left&amp;quot; | &#039;) .. table.concat( blockSprites, &#039;&amp;lt;br&amp;gt;&#039; ) .. ( blockArgs.note or &#039;&#039; )&lt;br /&gt;
		)&lt;br /&gt;
		&lt;br /&gt;
		local tool = mw.text.trim( simple and &#039;Narzędzie&#039; or blockArgs[2] or &#039;Dowolny&#039; ):gsub( &#039;^%l&#039;, string.upper )&lt;br /&gt;
		local material = mw.text.trim( simple and blockArgs[2] or blockArgs[3] or &#039;Dowolny&#039; ):gsub( &#039;^%l&#039;, string.upper )&lt;br /&gt;
		if tool == &#039;Brak&#039; then&lt;br /&gt;
			material = tool&lt;br /&gt;
		end&lt;br /&gt;
		if not simple then&lt;br /&gt;
			local hardnessText = hardnessVal&lt;br /&gt;
			if hardnessVal == -1 then&lt;br /&gt;
				hardnessText = ( sortable and &#039;data-sort-value=&amp;quot;9999&amp;quot; | &#039; or &#039;&#039; ) .. &amp;quot;&amp;amp;#45;1 (infinite)&amp;quot;&lt;br /&gt;
			end&lt;br /&gt;
			table.insert( cells, &#039;|&#039; .. hardnessText )&lt;br /&gt;
			&lt;br /&gt;
			if showTool then&lt;br /&gt;
				local toolCell = &#039;—&#039;&lt;br /&gt;
				if tool ~= &#039;Dowolny&#039; and tool ~= &#039;Brak&#039; then&lt;br /&gt;
					if material == &#039;Wood&#039; then&lt;br /&gt;
						material = &#039;Wooden&#039;&lt;br /&gt;
					end&lt;br /&gt;
					local isMaterialSpecified = (material ~= &#039;Dowolny&#039;) and (material ~= &#039;Brak&#039;)&lt;br /&gt;
					local toolName = polish:lc(( isMaterialSpecified and material .. &#039;-&#039; or &#039;&#039; ) .. tool)&lt;br /&gt;
					local toolSpriteName = ( (isMaterialSpecified) and &#039;&#039; or &#039;&#039; ) .. toolName&lt;br /&gt;
					local image = f:expandTemplate({title=&#039;ItemSprite&#039;, args = {[&#039;1&#039;]=toolSpriteName,title=toolName,link=tool,keepcase = not isMaterialSpecified}})&lt;br /&gt;
					&lt;br /&gt;
					toolCell = ( sortable and &#039;data-sort-value=&amp;quot;&#039; .. toolName .. &#039;&amp;quot; |&#039; or &#039;&#039; ) .. image&lt;br /&gt;
					table.insert( categories, spriteCat )&lt;br /&gt;
				end&lt;br /&gt;
				table.insert( cells, &#039;|&#039; .. toolCell )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local choices = {}&lt;br /&gt;
		local function getChoice( choice, text )&lt;br /&gt;
			if not choices[choice] then&lt;br /&gt;
				choices[choice] = f:expandTemplate{ title = &#039;Tc&#039;, args = { choice, &#039;&#039; } }&lt;br /&gt;
			end&lt;br /&gt;
			return choices[choice] .. text&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local function processTime( actualHardness, baseSpeed, tool )&lt;br /&gt;
			-- the number passed in has been multiplied by 100&lt;br /&gt;
			local num = actualHardness / baseSpeed&lt;br /&gt;
			if num &amp;lt;= 5 then	   -- Blocks with a breaking time &amp;lt;= 1 game tick (0.05 seconds) are instant mined (no delay after each block broken)&lt;br /&gt;
				num = &amp;quot;&#039;&#039;0.05&#039;&#039;&amp;quot;    -- Blocks have a minimum breaking time of 1 game tick&lt;br /&gt;
			else					-- And they must be broken in multiples of 1 game tick&lt;br /&gt;
				num = math.ceil( num / 5 ) / 20&lt;br /&gt;
			end&lt;br /&gt;
			return num&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if hardnessVal == &#039;?&#039; then&lt;br /&gt;
			fillCells( cells, &#039;|?&#039;, numberMaterials + 1 )&lt;br /&gt;
		else&lt;br /&gt;
			if unbreakable then&lt;br /&gt;
				table.insert( cells, &#039;| &#039; .. ( sortable and &#039;data-sort-value=&amp;quot;9999&amp;quot; &#039; or &#039;&#039; ) .. getChoice( &#039;nie&#039;, &#039;∞&#039; ) )&lt;br /&gt;
				if showTool then&lt;br /&gt;
					fillCells( cells, &#039;|—&#039;, numberMaterials )&lt;br /&gt;
				end&lt;br /&gt;
			else&lt;br /&gt;
				local drop = &#039;tak&#039;&lt;br /&gt;
				local forceDrop = false&lt;br /&gt;
				if blockArgs[&#039;łupy&#039;] == &#039;0&#039; then&lt;br /&gt;
					drop = &#039;częściowo&#039;&lt;br /&gt;
				elseif blockArgs[&#039;łupy&#039;] == &#039;1&#039; then&lt;br /&gt;
					forceDrop = &#039;tak&#039;&lt;br /&gt;
				end&lt;br /&gt;
				mw.log(material)&lt;br /&gt;
				local requiredLevel = unbreakable and 999 or materialGrade[material]&lt;br /&gt;
				local function insertMaterialCell( material )&lt;br /&gt;
					local shouldDrop = drop&lt;br /&gt;
					if materialGrade[material] &amp;lt; requiredLevel then&lt;br /&gt;
						shouldDrop = &#039;nie&#039;&lt;br /&gt;
					end&lt;br /&gt;
					-- prevent float number precision loss, multiply by 100 and divide it in processTime function&lt;br /&gt;
					local breakTime = processTime( hardnessVal * (shouldDrop == &#039;nie&#039; and 500 or 150), materialSpeed[material], material )&lt;br /&gt;
					table.insert( cells, &#039;|&#039; .. getChoice( forceDrop or shouldDrop, breakTime ) )&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				if not showTool or tool == &#039;Any&#039; or tool == &#039;None&#039; then&lt;br /&gt;
					insertMaterialCell( &#039;Any&#039; )&lt;br /&gt;
					if showTool then&lt;br /&gt;
						fillCells( cells, &#039;|—&#039;, numberMaterials )&lt;br /&gt;
					end&lt;br /&gt;
				else&lt;br /&gt;
					for _, material in ipairs{ &#039;Any&#039;, &#039;Wooden&#039;, &#039;Stone&#039;, &#039;Copper&#039;, &#039;Iron&#039;, &#039;Diamond&#039;, &#039;Netherite&#039;, &#039;Golden&#039; } do&lt;br /&gt;
						insertMaterialCell( material )&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not simple and ( showShears or showSword ) then&lt;br /&gt;
			local tools = {}&lt;br /&gt;
			if showShears then&lt;br /&gt;
				table.insert( tools, &#039;Nożyce&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if showSword then&lt;br /&gt;
				table.insert( tools, &#039;Miecz&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if hardnessVal == &#039;?&#039; then&lt;br /&gt;
				fillCells( cells, &#039;|?&#039;, #tools )&lt;br /&gt;
			else&lt;br /&gt;
				local toolSpeed = {&lt;br /&gt;
					[&#039;Nożyce&#039;] = 1,&lt;br /&gt;
					[&#039;Miecz&#039;] = 1.5&lt;br /&gt;
				}&lt;br /&gt;
				if blocks[1] == &#039;Wełna&#039; then&lt;br /&gt;
					toolSpeed[&#039;Nożyce&#039;] = 5&lt;br /&gt;
				elseif blocks[1] == &#039;Liście&#039; then&lt;br /&gt;
					toolSpeed[&#039;Nożyce&#039;] = 15&lt;br /&gt;
				elseif blocks[1] == &#039;Pajęczyna&#039; then&lt;br /&gt;
					toolSpeed[&#039;Miecz&#039;] = 15&lt;br /&gt;
					toolSpeed[&#039;Nożyce&#039;] = 15&lt;br /&gt;
				elseif blocks[1] == &#039;Bambus&#039; or blocks[1] == &#039;Pęd bambusu&#039; then&lt;br /&gt;
					toolSpeed[&#039;Miecz&#039;] = 5000&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				for _, tool in ipairs( tools ) do&lt;br /&gt;
					local toolDrop = blockArgs[mw.ustring.lower( tool )]&lt;br /&gt;
					if not toolDrop then&lt;br /&gt;
						table.insert( cells, &#039;|—&#039; )&lt;br /&gt;
					else&lt;br /&gt;
						local willDrop = &#039;tak&#039;&lt;br /&gt;
						if toolDrop == &#039;0&#039; then&lt;br /&gt;
							willDrop = &#039;częściowo&#039;&lt;br /&gt;
						end&lt;br /&gt;
						-- prevent float number precision loss, multiply by 100 and divide it in processTime function&lt;br /&gt;
						local breakTime = processTime( hardnessVal * 150, toolSpeed[tool], tool )&lt;br /&gt;
						table.insert( cells, &#039;|&#039; .. getChoice( willDrop, breakTime ) )&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			cells = table.concat( cells, &#039;\n&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( tableParts, cells )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if horizontal then&lt;br /&gt;
		local blocksArgs = {}&lt;br /&gt;
		for _, arg in ipairs{ 1, &#039;note&#039;, &#039;sprite&#039;, &#039;link&#039;, &#039;item&#039;, &#039;łupy&#039;, 2, 3, &#039;nożyce&#039;, &#039;miecz&#039; } do&lt;br /&gt;
			if args[arg] then&lt;br /&gt;
				local col = 0&lt;br /&gt;
				for colVal in mw.text.gsplit( args[arg], &#039;%s*;%s*&#039; ) do&lt;br /&gt;
					col = col + 1&lt;br /&gt;
					if colVal ~= &#039;&#039; then&lt;br /&gt;
						if not blocksArgs[col] then&lt;br /&gt;
							blocksArgs[col] = {}&lt;br /&gt;
						end&lt;br /&gt;
						&lt;br /&gt;
						blocksArgs[col][arg] = colVal&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		for _, block in ipairs( blocksArgs ) do&lt;br /&gt;
			insertBlock( block )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local columns = #tableParts&lt;br /&gt;
		for row = 1, #tableParts[1] do&lt;br /&gt;
			local cells = {}&lt;br /&gt;
			for col = 1, columns do&lt;br /&gt;
				table.insert( cells, tableParts[col][row] )&lt;br /&gt;
			end&lt;br /&gt;
			table.insert( rows, table.concat( cells, &#039;\n&#039; ) )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- Insert breaking time header after block row when simple, or after tool or hardness row when not&lt;br /&gt;
		table.insert( rows, simple and 3 or showTool and 5 or 4, &#039;! colspan=&amp;quot;&#039; .. columns + 1 .. &#039;&amp;quot; |&#039; .. getBreakingTimeHeader( f ) )&lt;br /&gt;
	else&lt;br /&gt;
		insertBlock( args )&lt;br /&gt;
		for _, row in ipairs( tableParts ) do&lt;br /&gt;
			table.insert( rows, row )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039;&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local note = &#039;&#039;&lt;br /&gt;
	if args.foot or horizontal then&lt;br /&gt;
		note = f:preprocess( &#039;&amp;lt;references group=&amp;quot;FN&amp;quot;/&amp;gt;&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if args.foot == &#039;2&#039; then&lt;br /&gt;
			table.insert( rows, header or getDplVar( &#039;header&#039; ) )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039;|}&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			f:callParserFunction( &#039;#dplvar:set&#039;,&lt;br /&gt;
				&#039;breaking header&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hidetool&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hideshears&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hidesword&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking simple&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking sortable&#039;, &#039;&#039;&lt;br /&gt;
			)&lt;br /&gt;
		end&lt;br /&gt;
	elseif #dplVars &amp;gt; 0 then&lt;br /&gt;
		f:callParserFunction( &#039;#dplvar:set&#039;, dplVars )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local result = table.concat( rows, &#039;\n|-\n&#039; )&lt;br /&gt;
	return result .. note .. table.concat( categories )&lt;br /&gt;
end&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Szablon:Twardo%C5%9B%C4%87&amp;diff=122992</id>
		<title>Szablon:Twardość</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Szablon:Twardo%C5%9B%C4%87&amp;diff=122992"/>
		<updated>2025-07-20T23:31:01Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: Utworzono nową stronę &amp;quot;&amp;lt;includeonly&amp;gt;{{#invoke: Block value | value | type=Twardość }}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt; {{Dokumentacja}} &amp;lt;/noinclude&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#invoke: Block value | value | type=Twardość }}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Dokumentacja}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Modu%C5%82:Block_value&amp;diff=122991</id>
		<title>Moduł:Block value</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Modu%C5%82:Block_value&amp;diff=122991"/>
		<updated>2025-07-20T23:30:49Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.value( f )&lt;br /&gt;
	local args = f&lt;br /&gt;
	if f == mw.getCurrentFrame() then &lt;br /&gt;
		args = require( &#039;Module:ProcessArgs&#039; ).merge( true )&lt;br /&gt;
	end&lt;br /&gt;
	local block = mw.text.trim( args[1] or &#039;&#039; ):lower()&lt;br /&gt;
	local argType = args.type&lt;br /&gt;
	&lt;br /&gt;
	local values = mw.loadData( &#039;Module:&#039; .. argType .. &#039; values&#039; )&lt;br /&gt;
	local value = values[block]&lt;br /&gt;
	local category = &#039;&#039;&lt;br /&gt;
	if not value then&lt;br /&gt;
		value = values[block:gsub( &#039;s$&#039;, &#039;&#039; )]&lt;br /&gt;
		&lt;br /&gt;
		if not value then&lt;br /&gt;
			value = &#039;?&#039;&lt;br /&gt;
			local title = mw.title.getCurrentTitle()&lt;br /&gt;
			if not args.nocat and title.namespace == 0 and not title.isSubpage then&lt;br /&gt;
				category = &#039;[[Category:Brakujące &#039; .. argType:lower() .. &#039;]]&#039;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return value .. category&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Modu%C5%82:Twardo%C5%9B%C4%87_values&amp;diff=122990</id>
		<title>Moduł:Twardość values</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Modu%C5%82:Twardo%C5%9B%C4%87_values&amp;diff=122990"/>
		<updated>2025-07-20T23:23:10Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;return {&lt;br /&gt;
	--Arranged from greatest hardness to lowest hardness.&lt;br /&gt;
	[&#039;lawa&#039;] = 100,&lt;br /&gt;
	[&#039;woda&#039;] = 100,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;zbrojony łupek&#039;] = 55,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;blok netherytu&#039;] = 50,&lt;br /&gt;
	[&#039;płaczący obsydian&#039;] = 50,&lt;br /&gt;
	[&#039;obsydian&#039;] = 50,&lt;br /&gt;
	[&#039;ominous przyzywacz prób&#039;] = 50,&lt;br /&gt;
	[&#039;ominous skarbiec&#039;] = 50,&lt;br /&gt;
	[&#039;kotwica odrodzenia&#039;] = 50,&lt;br /&gt;
	[&#039;swaggiest stpowietrzes ever&#039;] = 50,&lt;br /&gt;
	[&#039;przyzywacz prób&#039;] = 50,&lt;br /&gt;
	[&#039;skarbiec&#039;] = 50,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;pradawne zgliszcza&#039;] = 30,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;skrzynia endu&#039;] = 22.5,&lt;br /&gt;
&lt;br /&gt;
	[&#039;trzeszczące serce&#039;] = 10,&lt;br /&gt;
	[&#039;ciężki rdzeń&#039;] = 10,&lt;br /&gt;
&lt;br /&gt;
	[&#039;kowadło&#039;] = 5,&lt;br /&gt;
	[&#039;dzwon&#039;] = 5,&lt;br /&gt;
	[&#039;blok węgla&#039;] = 5,&lt;br /&gt;
	[&#039;blok diamentu&#039;] = 5,&lt;br /&gt;
	[&#039;blok szmaragdu&#039;] = 5,&lt;br /&gt;
	[&#039;blok żelaza&#039;] = 5,&lt;br /&gt;
	[&#039;blok rudy żelaza&#039;] = 5,&lt;br /&gt;
	[&#039;blok surowego złota&#039;] = 5,&lt;br /&gt;
	[&#039;blok rudy miedzi&#039;] = 5,&lt;br /&gt;
	[&#039;blok redstone&#039;] = 5,&lt;br /&gt;
	[&#039;łańcuch&#039;] = 5,&lt;br /&gt;
	[&#039;stół do zaklinania&#039;] = 5,&lt;br /&gt;
	[&#039;zaklnijment table&#039;] = 5,&lt;br /&gt;
	[&#039;żelazne kraty&#039;] = 5,&lt;br /&gt;
	[&#039;żelazne drzwi&#039;] = 5,&lt;br /&gt;
	[&#039;żelazna klapa&#039;] = 5,&lt;br /&gt;
	[&#039;przyzywacz potworów&#039;] = 5,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;łupkowe złoże węgla&#039;] = 4.5,&lt;br /&gt;
	[&#039;łupkowe złoże miedzi&#039;] = 4.5,&lt;br /&gt;
	[&#039;łupkowe złoże diamentu&#039;] = 4.5,&lt;br /&gt;
	[&#039;łupkowe złoże szmaragdu&#039;] = 4.5,&lt;br /&gt;
	[&#039;łupkowe złoże złota&#039;] = 4.5,&lt;br /&gt;
	[&#039;łupkowe złoże żelaza&#039;] = 4.5,&lt;br /&gt;
	[&#039;łupkowe złoże lazurytu&#039;] = 4.5,&lt;br /&gt;
	[&#039;łupkowe złoże redstone&#039;] = 4.5,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;pajęczyna&#039;] = 4,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;piec hutniczy&#039;] = 3.5,&lt;br /&gt;
	[&#039;rzeźbiony łupek&#039;] = 3.5,&lt;br /&gt;
	[&#039;łupkowy bruk&#039;] = 3.5,&lt;br /&gt;
	[&#039;łupkowa brukowa płyta&#039;] = 3.5,&lt;br /&gt;
	[&#039;łupkowe brukowe schody&#039;] = 3.5,&lt;br /&gt;
	[&#039;łupkowy brukowy murek&#039;] = 3.5,&lt;br /&gt;
	[&#039;popękane łupkowe cegły&#039;] = 3.5,&lt;br /&gt;
  	[&#039;popękane łupkowe kafelki&#039;] = 3.5,&lt;br /&gt;
  	[&#039;łupkowa ceglana płyta&#039;] = 3.5,&lt;br /&gt;
  	[&#039;łupkowe ceglane schody&#039;] = 3.5,&lt;br /&gt;
  	[&#039;łupkowy ceglany murek&#039;] = 3.5,&lt;br /&gt;
   	[&#039;łupkowe cegły&#039;] = 3.5,&lt;br /&gt;
   	[&#039;łupkowe kafelki&#039;] = 3.5,&lt;br /&gt;
  	[&#039;łupkowa kafelkowa płyta&#039;] = 3.5,&lt;br /&gt;
  	[&#039;łupkowe kafelkowe schody&#039;] = 3.5,&lt;br /&gt;
  	[&#039;łupkowy kafelkowy murek&#039;] = 3.5,&lt;br /&gt;
  	[&#039;dozownik&#039;] = 3.5,&lt;br /&gt;
	[&#039;podajnik&#039;] = 3.5,&lt;br /&gt;
  	[&#039;piec&#039;] = 3.5,&lt;br /&gt;
	[&#039;latarenka&#039;] = 3.5,&lt;br /&gt;
	[&#039;magnetyt&#039;] = 3.5,&lt;br /&gt;
	[&#039;wypolerowany łupek&#039;] = 3.5,&lt;br /&gt;
	[&#039;wypolerowana łupkowa płyta&#039;] = 3.5,&lt;br /&gt;
	[&#039;wypolerowane łupkowe schody&#039;] = 3.5,&lt;br /&gt;
	[&#039;wypolerowany łupkowy murek&#039;] = 3.5,&lt;br /&gt;
	[&#039;wędzarka&#039;] = 3.5,&lt;br /&gt;
	[&#039;latarenka dusz&#039;] = 3.5,&lt;br /&gt;
	[&#039;przecinarka&#039;] = 3.5,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;akacjowe drzwi&#039;] = 3,&lt;br /&gt;
	[&#039;magiczna latarnia&#039;] = 3,&lt;br /&gt;
	[&#039;brzozowe drzwi&#039;] = 3,&lt;br /&gt;
	[&#039;blok złota&#039;] = 3,&lt;br /&gt;
	[&#039;blok lazurytu&#039;] = 3,&lt;br /&gt;
	[&#039;blok miedzi&#039;] = 3,&lt;br /&gt;
	[&#039;złoże węgla&#039;] = 3,&lt;br /&gt;
	[&#039;przewodnia&#039;] = 3,&lt;br /&gt;
	[&#039;blok miedzi&#039;] = 3,&lt;br /&gt;
	[&#039;miedzna skrzynia&#039;] = 3,&lt;br /&gt;
	[&#039;miedziana krata&#039;] = 3,&lt;br /&gt;
	[&#039;miedziane drzwi&#039;] = 3,&lt;br /&gt;
	[&#039;miedziana klapa&#039;] = 3,&lt;br /&gt;
	[&#039;miedziana lampa&#039;] = 3,&lt;br /&gt;
	[&#039;złoże miedzi&#039;] = 3,&lt;br /&gt;
	[&#039;rzeźbiona miedź&#039;] = 3,&lt;br /&gt;
	[&#039;żłobiona miedź&#039;] = 3,&lt;br /&gt;
	[&#039;żłobiona miedziana płyta&#039;] = 3,&lt;br /&gt;
	[&#039;żłobione miedziane schody&#039;] = 3,&lt;br /&gt;
	[&#039;szkarłatne drzwi&#039;] = 3,&lt;br /&gt;
	[&#039;ciemnodębowe drzwi&#039;] = 3,&lt;br /&gt;
	[&#039;łupek&#039;] = 3,&lt;br /&gt;
	[&#039;złoże diamentu&#039;] = 3,&lt;br /&gt;
	[&#039;smocze jajo&#039;] = 3,&lt;br /&gt;
	[&#039;złoże szmaragdu&#039;] = 3,&lt;br /&gt;
	[&#039;kamień endu&#039;] = 3,&lt;br /&gt;
	[&#039;endowa kamienna ceglana płyta&#039;] = 3,&lt;br /&gt;
	[&#039;endowe kamienne ceglane schody&#039;] = 3,&lt;br /&gt;
	[&#039;endowy kamienny ceglany murek&#039;] = 3,&lt;br /&gt;
	[&#039;endowe kamienne cegły&#039;] = 3,&lt;br /&gt;
	[&#039;gstara&#039;] = 3,&lt;br /&gt;
	[&#039;złoże złota&#039;] = 3,&lt;br /&gt;
	[&#039;lej&#039;] = 3,&lt;br /&gt;
	[&#039;złoże żelaza&#039;] = 3,&lt;br /&gt;
	[&#039;tropikalne drzwi&#039;] = 3,&lt;br /&gt;
	[&#039;złoże lazurytu&#039;] = 3,&lt;br /&gt;
	[&#039;piorunochron&#039;] = 3,&lt;br /&gt;
	[&#039;namorzynowe drzwi&#039;] = 3,&lt;br /&gt;
	[&#039;netherowe złoże złota&#039;] = 3,&lt;br /&gt;
	[&#039;złoże netherowego kwarcu&#039;] = 3,&lt;br /&gt;
	[&#039;dębowe drzwi&#039;] = 3,&lt;br /&gt;
	[&#039;detektor&#039;] = 3,&lt;br /&gt;
	[&#039;złoże redstone&#039;] = 3,&lt;br /&gt;
	[&#039;sculkowy katalizator&#039;] = 3,&lt;br /&gt;
	[&#039;sculkowe wrzeszczydło&#039;] = 3,&lt;br /&gt;
	[&#039;świerkowe drzwi&#039;] = 3,&lt;br /&gt;
	[&#039;spaczone drzwi&#039;] = 3,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;niebieski lód lodowcowy&#039;] = 2.8,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;beczka&#039;] = 2.5,&lt;br /&gt;
	[&#039;stół kartograficzny&#039;] = 2.5,&lt;br /&gt;
	[&#039;skrzynia&#039;] = 2.5,&lt;br /&gt;
	[&#039;stół rzemieślniczy&#039;] = 2.5,&lt;br /&gt;
	[&#039;stół łuczarski&#039;] = 2.5,&lt;br /&gt;
	[&#039;krosno&#039;] = 2.5,&lt;br /&gt;
	[&#039;stół kowalski&#039;] = 2.5,&lt;br /&gt;
	[&#039;skrzynia-pułapka&#039;] = 2.5,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;bambusowa mozaika&#039;] = 2,&lt;br /&gt;
	[&#039;bambusowe mozaikowe schody&#039;] = 2,&lt;br /&gt;
	[&#039;bambusowa mozaikowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;czernitowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;blok bambusu&#039;] = 2,&lt;br /&gt;
	[&#039;blok ociosanego bambusu&#039;] = 2,&lt;br /&gt;
	[&#039;blok kości&#039;] = 2,&lt;br /&gt;
	[&#039;ceglana płyta&#039;] = 2,&lt;br /&gt;
	[&#039;ceglane schody&#039;] = 2,&lt;br /&gt;
	[&#039;ceglany murek&#039;] = 2,&lt;br /&gt;
	[&#039;cegły&#039;] = 2,&lt;br /&gt;
	[&#039;ognisko&#039;] = 2,&lt;br /&gt;
	[&#039;kocioł&#039;] = 2,&lt;br /&gt;
	[&#039;rzeźbione netherowe cegły&#039;] = 2,&lt;br /&gt;
	[&#039;bruk&#039;] = 2,&lt;br /&gt;
	[&#039;brukowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;brukowe schody&#039;] = 2,&lt;br /&gt;
	[&#039;brukowy murek&#039;] = 2,&lt;br /&gt;
	[&#039;coloczerwona shulkerowa skrzynia&#039;] = 2,&lt;br /&gt;
	[&#039;popękane netherowe cegły&#039;] = 2,&lt;br /&gt;
	[&#039;przycięta czerwona piaskowcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;przycięta piaskowcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;kamień szlifierski&#039;] = 2,&lt;br /&gt;
	[&#039;szafa grająca&#039;] = 2,&lt;br /&gt;
	[&#039;pień&#039;] = 2,&lt;br /&gt;
	[&#039;zamszony bruk&#039;] = 2,&lt;br /&gt;
	[&#039;zamszona brukowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;zamszone brukowe schody&#039;] = 2,&lt;br /&gt;
	[&#039;zamszony brukowy murek&#039;] = 2,&lt;br /&gt;
	[&#039;netherowy ceglany płot&#039;] = 2,&lt;br /&gt;
	[&#039;netherowa ceglana płyta&#039;] = 2,&lt;br /&gt;
	[&#039;netherowe ceglane schody&#039;] = 2,&lt;br /&gt;
	[&#039;netherowy ceglany murek&#039;] = 2,&lt;br /&gt;
	[&#039;netherowe cegły&#039;] = 2,&lt;br /&gt;
	[&#039;skamieniała dębowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;deski&#039;] = 2,&lt;br /&gt;
	[&#039;wypolerowany czernit&#039;] = 2,&lt;br /&gt;
	[&#039;wypolerowana czernitowa ceglana płyta&#039;] = 2,&lt;br /&gt;
	[&#039;wypolerowana czernitowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;wypolerowane czernitowe schody&#039;] = 2,&lt;br /&gt;
	[&#039;wypolerowany czernitowy murek&#039;] = 2,&lt;br /&gt;
	[&#039;purpurowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;kwarcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;czerwona netherowa ceglana płyta&#039;] = 2,&lt;br /&gt;
	[&#039;czerwone netherowe ceglane schody&#039;] = 2,&lt;br /&gt;
	[&#039;czerwony netherowy ceglany murek&#039;] = 2,&lt;br /&gt;
	[&#039;czerwone netherowe cegły&#039;] = 2,&lt;br /&gt;
	[&#039;czerwona piaskowcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;piaskowcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;shulkerowa skrzynia&#039;] = 2,&lt;br /&gt;
	[&#039;gładki blok kwarcu&#039;] = 2,&lt;br /&gt;
	[&#039;gładka kwarcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;gładkie kwarcowe schody&#039;] = 2,&lt;br /&gt;
	[&#039;gładki czerwony piaskowiec&#039;] = 2,&lt;br /&gt;
	[&#039;gładka czerwona piaskowcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;gładkie czerwone piaskowcowe schody&#039;] = 2,&lt;br /&gt;
	[&#039;gładki piaskowiec&#039;] = 2,&lt;br /&gt;
	[&#039;gładka piaskowcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;gładkie piaskowcowe schody&#039;] = 2,&lt;br /&gt;
	[&#039;gładki kamień&#039;] = 2,&lt;br /&gt;
	[&#039;gładka kamienna płyta&#039;] = 2,&lt;br /&gt;
	[&#039;ognisko dusz&#039;] = 2,&lt;br /&gt;
	[&#039;kamienna płyta&#039;] = 2,&lt;br /&gt;
	[&#039;kamienna ceglana płyta&#039;] = 2,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;zarodek ametystu&#039;] = 1.5,&lt;br /&gt;
  	[&#039;skupisko ametystu&#039;] = 1.5,&lt;br /&gt;
	[&#039;andezyt&#039;] = 1.5,&lt;br /&gt;
  	[&#039;andezytowa płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;andezytowe schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;andezytowy murek&#039;] = 1.5,&lt;br /&gt;
  	[&#039;czernit&#039;] = 1.5,&lt;br /&gt;
  	[&#039;czernitowe schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;czernitowy murek&#039;] = 1.5,&lt;br /&gt;
  	[&#039;blok ametystu&#039;] = 1.5,&lt;br /&gt;
	[&#039;biblioteczka&#039;] = 1.5,&lt;br /&gt;
	[&#039;box of infinite książkas&#039;] = 1.5,&lt;br /&gt;
	[&#039;kiełkujący ametyst&#039;] = 1.5,&lt;br /&gt;
	[&#039;skalibrowany sculkowy czujnik&#039;] = 1.5,&lt;br /&gt;
	[&#039;rzeźbiona biblioteczka&#039;] = 1.5,&lt;br /&gt;
  	[&#039;rzeźbiony wypolerowany czernit&#039;] = 1.5,&lt;br /&gt;
  	[&#039;rzeźbione żywicowe cegły&#039;] = 1.5,&lt;br /&gt;
  	[&#039;rzeźbione kamienne cegły&#039;] = 1.5,&lt;br /&gt;
	[&#039;rzeźbiony tuf&#039;] = 1.5,&lt;br /&gt;
	[&#039;rzeźbione tufowe cegły&#039;] = 1.5,&lt;br /&gt;
  	[&#039;popękane wypolerowane czernitowe cegły&#039;] = 1.5,&lt;br /&gt;
  	[&#039;popękane kamienne cegły&#039;] = 1.5,&lt;br /&gt;
  	[&#039;wytwarzacz&#039;] = 1.5,&lt;br /&gt;
	[&#039;ciemny pryzmaryn&#039;] = 1.5,&lt;br /&gt;
  	[&#039;ciemna pryzmarynowa płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;ciemne pryzmarynowe schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;dead coral block&#039;] = 1.5,&lt;br /&gt;
	[&#039;deprecated blok purpuru 2&#039;] = 1.5,&lt;br /&gt;
	[&#039;deprekoted_purpur_block_2&#039;] = 1.5,&lt;br /&gt;
	[&#039;dioryt&#039;] = 1.5,&lt;br /&gt;
  	[&#039;diorytowa płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;diorytowe schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;diorytowy murek&#039;] = 1.5,&lt;br /&gt;
  	[&#039;blok nacieku&#039;] = 1.5,&lt;br /&gt;
  	[&#039;złocony czernit&#039;] = 1.5,&lt;br /&gt;
	[&#039;granit&#039;] = 1.5,&lt;br /&gt;
  	[&#039;granitowa płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;granitowe schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;granitowy murek&#039;] = 1.5,&lt;br /&gt;
	[&#039;zarobaczony łupek&#039;] = 1.5,&lt;br /&gt;
	[&#039;duży zarodek ametystu&#039;] = 1.5,&lt;br /&gt;
	[&#039;średni zarodek ametystu&#039;] = 1.5,&lt;br /&gt;
  	[&#039;zamszona kamienna ceglana płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;zamszone kamienne ceglane schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;zamszony kamienny ceglany murek&#039;] = 1.5,&lt;br /&gt;
  	[&#039;zamszone kamienne cegły&#039;] = 1.5,&lt;br /&gt;
	[&#039;błotna ceglana płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;błotne ceglane schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;błotny ceglany murek&#039;] = 1.5,&lt;br /&gt;
  	[&#039;błotne cegły&#039;] = 1.5,&lt;br /&gt;
  	[&#039;tłok&#039;] = 1.5,&lt;br /&gt;
	[&#039;głowica tłoka&#039;] = 1.5,&lt;br /&gt;
	[&#039;spiczasty naciek&#039;] = 1.5,&lt;br /&gt;
	[&#039;wypolerowany andezyt&#039;] = 1.5,&lt;br /&gt;
  	[&#039;wypolerowana andezytowa płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;wypolerowane andezytowe schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;wypolerowane czernitowe ceglane schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;wypolerowany czernitowy ceglany murek&#039;] = 1.5,&lt;br /&gt;
  	[&#039;wypolerowane czernitowe cegły&#039;] = 1.5,&lt;br /&gt;
	[&#039;wypolerowany dioryt&#039;] = 1.5,&lt;br /&gt;
  	[&#039;wypolerowana diorytowa płyta&#039;] = 1.5,&lt;br /&gt;
    [&#039;wypolerowane diorytowe schody&#039;] = 1.5,&lt;br /&gt;
	[&#039;wypolerowany granit&#039;] = 1.5,&lt;br /&gt;
  	[&#039;wypolerowana granitowa płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;wypolerowane granitowe schody&#039;] = 1.5,&lt;br /&gt;
	[&#039;wypolerowany tuf&#039;] = 1.5,&lt;br /&gt;
	[&#039;wypolerowana tufowa płyta&#039;] = 1.5,&lt;br /&gt;
	[&#039;wypolerowane tufowe schody&#039;] = 1.5,&lt;br /&gt;
	[&#039;wypolerowany tufowy murek&#039;] = 1.5,&lt;br /&gt;
	[&#039;pryzmaryn&#039;] = 1.5,&lt;br /&gt;
  	[&#039;pryzmarynowa ceglana płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;pryzmarynowe ceglane schody&#039;] = 1.5,&lt;br /&gt;
	[&#039;pryzmarynowe cegły&#039;] = 1.5,&lt;br /&gt;
  	[&#039;pryzmarynowa płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;pryzmarynowe schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;pryzmarynowy murek&#039;] = 1.5,&lt;br /&gt;
	[&#039;blok purpuru&#039;] = 1.5,&lt;br /&gt;
	[&#039;purpurowy filar&#039;] = 1.5,&lt;br /&gt;
  	[&#039;purpurowe schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;żywicowa ceglana płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;żywicowe ceglane schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;żywicowy ceglany murek&#039;] = 1.5,&lt;br /&gt;
	[&#039;żywicowe cegły&#039;] = 1.5,&lt;br /&gt;
  	[&#039;sculkowy czujnik&#039;] = 1.5,&lt;br /&gt;
  	[&#039;six-sided tłok&#039;] = 1.5,&lt;br /&gt;
  	[&#039;mały zarodek ametystu&#039;] = 1.5,&lt;br /&gt;
	[&#039;gładki kamień bricks&#039;] = 1.5,&lt;br /&gt;
	[&#039;lepki tłok&#039;] = 1.5,&lt;br /&gt;
	[&#039;kamień&#039;] = 1.5,&lt;br /&gt;
	[&#039;kamienne ceglane schody&#039;] = 1.5,&lt;br /&gt;
	[&#039;kamienny ceglany murek&#039;] = 1.5,&lt;br /&gt;
	[&#039;kamienne cegły&#039;] = 1.5,&lt;br /&gt;
  	[&#039;kamienne schody&#039;] = 1.5,&lt;br /&gt;
	[&#039;tile.deprecated_purpur_block_2.name&#039;] = 1.5,&lt;br /&gt;
	[&#039;tuf&#039;] = 1.5,&lt;br /&gt;
	[&#039;tufowe cegły&#039;] = 1.5,&lt;br /&gt;
	[&#039;tufowa ceglana płyta&#039;] = 1.5,&lt;br /&gt;
	[&#039;tufowe ceglane schody&#039;] = 1.5,&lt;br /&gt;
	[&#039;tufowy ceglany murek&#039;] = 1.5,&lt;br /&gt;
	[&#039;tufowa płyta&#039;] = 1.5,&lt;br /&gt;
	[&#039;tufowe schody&#039;] = 1.5,&lt;br /&gt;
	[&#039;tufowy murek&#039;] = 1.5,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;glazurowana terakota&#039;] = 1.4,&lt;br /&gt;
&lt;br /&gt;
	[&#039;bazalt&#039;] = 1.25,&lt;br /&gt;
	[&#039;coloczerwona terakota&#039;] = 1.25,&lt;br /&gt;
	[&#039;wypolerowany bazalt&#039;] = 1.25,&lt;br /&gt;
	[&#039;gładki bazalt&#039;] = 1.25,&lt;br /&gt;
	[&#039;terakota&#039;] = 1.25,&lt;br /&gt;
		&lt;br /&gt;
	[&#039;bambus&#039;] = 1,&lt;br /&gt;
	[&#039;pęd bambusa&#039;] = 1,&lt;br /&gt;
	[&#039;sztandar&#039;] = 1,&lt;br /&gt;
	[&#039;wykrawana dynia&#039;] = 1,&lt;br /&gt;
	[&#039;głowa creepera&#039;] = 1,&lt;br /&gt;
	[&#039;głowa smoka&#039;] = 1,&lt;br /&gt;
	[&#039;głowa&#039;] = 1,&lt;br /&gt;
	[&#039;zarobaczony bruk&#039;] = 1,&lt;br /&gt;
	[&amp;quot;latarnia dyniowa&amp;quot;] = 1,&lt;br /&gt;
	[&#039;arbuz&#039;] = 1,&lt;br /&gt;
	[&#039;arbuz block&#039;] = 1,&lt;br /&gt;
	[&#039;blok netherowych brodawek&#039;] = 1,&lt;br /&gt;
	[&#039;złowieszczy sztandar&#039;] = 1,&lt;br /&gt;
	[&#039;utwardzone błoto&#039;] = 1,&lt;br /&gt;
	[&#039;głowa piglina&#039;] = 1,&lt;br /&gt;
	[&#039;głowa gracza&#039;] = 1,&lt;br /&gt;
	[&#039;dynia&#039;] = 1,&lt;br /&gt;
	[&#039;światłogrzyb&#039;] = 1,&lt;br /&gt;
	[&#039;podpisz&#039;] = 1,&lt;br /&gt;
	[&#039;czaszka szkieleta&#039;] = 1,&lt;br /&gt;
	[&#039;blok spaczonych brodawek&#039;] = 1,&lt;br /&gt;
	[&#039;czaszka witherowego szkieleta&#039;] = 1,&lt;br /&gt;
	[&#039;głowa zombie&#039;] = 1,&lt;br /&gt;
&lt;br /&gt;
	[&#039;blok kwarcu&#039;] = 0.8,&lt;br /&gt;
	[&#039;rzeźbiony czerwony piaskowiec&#039;] = 0.8,&lt;br /&gt;
	[&#039;rzeźbiony piaskowiec&#039;] = 0.8,&lt;br /&gt;
	[&#039;przycięty czerwony piaskowiec&#039;] = 0.8,&lt;br /&gt;
	[&#039;przycięty piaskowiec&#039;] = 0.8,&lt;br /&gt;
	[&#039;blok dźwiękowy&#039;] = 0.8,&lt;br /&gt;
	[&#039;rzeźbiony blok kwarcu&#039;] = 0.8,&lt;br /&gt;
	[&#039;kwarcowe cegły&#039;] = 0.8,&lt;br /&gt;
	[&#039;kwarcowy filar&#039;] = 0.8,&lt;br /&gt;
	[&#039;kwarcowe schody&#039;] = 0.8,&lt;br /&gt;
	[&#039;czerwony piaskowiec&#039;] = 0.8,&lt;br /&gt;
	[&#039;czerwone piaskowcowe schody&#039;] = 0.8,&lt;br /&gt;
	[&#039;czerwony piaskowcowy murek&#039;] = 0.8,&lt;br /&gt;
	[&#039;piaskowiec&#039;] = 0.8,&lt;br /&gt;
	[&#039;piaskowcowe schody&#039;] = 0.8,&lt;br /&gt;
	[&#039;piaskowcowy murek&#039;] = 0.8,&lt;br /&gt;
	[&#039;wełna&#039;] = 0.8,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;kalcyt&#039;] = 0.75,&lt;br /&gt;
	[&#039;zarobaczony kamień&#039;] = 0.75,&lt;br /&gt;
	[&#039;zarobaczone kamienne cegły&#039;] = 0.75,&lt;br /&gt;
	[&#039;zarobaczone popękane kamienne cegły&#039;] = 0.75,&lt;br /&gt;
	[&#039;zarobaczone zamszone kamienne cegły&#039;] = 0.75,&lt;br /&gt;
	[&#039;zarobaczone rzeźbione kamienne cegły&#039;] = 0.75,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;tory aktywacyjne&#039;] = 0.7,&lt;br /&gt;
	[&#039;tory z czujnikiem&#039;] = 0.7,&lt;br /&gt;
	[&#039;namorzynowe korzenie&#039;] = 0.7,&lt;br /&gt;
	[&#039;zabłocone namorzynowe korzenie&#039;] = 0.7,&lt;br /&gt;
	[&#039;zasilane tory&#039;] = 0.7,&lt;br /&gt;
	[&#039;tory&#039;] = 0.7,&lt;br /&gt;
&lt;br /&gt;
	[&#039;ścieżka&#039;] = 0.65,&lt;br /&gt;
	[&#039;zatrucie path&#039;] = 0.65,&lt;br /&gt;
&lt;br /&gt;
	[&#039;ul&#039;] = 0.6,&lt;br /&gt;
	[&#039;glina&#039;] = 0.6,&lt;br /&gt;
	[&#039;kompostownik&#039;] = 0.6,&lt;br /&gt;
	[&#039;pole uprawne&#039;] = 0.6,&lt;br /&gt;
	[&#039;blok trawy&#039;] = 0.6,&lt;br /&gt;
	[&#039;żwir&#039;] = 0.6,&lt;br /&gt;
	[&#039;gravtater&#039;] = 0.6,&lt;br /&gt;
	[&#039;blok plastra miodu&#039;] = 0.6,&lt;br /&gt;
	[&#039;grzybnia&#039;] = 0.6,&lt;br /&gt;
	[&#039;peelblok trawy&#039;] = 0.6,&lt;br /&gt;
	[&#039;poison pole uprawne&#039;] = 0.6,&lt;br /&gt;
	[&#039;gąbka&#039;] = 0.6,&lt;br /&gt;
	[&#039;mokra gąbka&#039;] = 0.6,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;statyw alchemiczny&#039;] = 0.5,&lt;br /&gt;
	[&#039;przycisk&#039;] = 0.5,&lt;br /&gt;
	[&#039;ciasto&#039;] = 0.5,&lt;br /&gt;
	[&#039;twarda ziemia&#039;] = 0.5,&lt;br /&gt;
	[&#039;ziemia&#039;] = 0.5,&lt;br /&gt;
	[&#039;blok suszonych wodorostów&#039;] = 0.5,&lt;br /&gt;
	[&#039;oszroniony lód&#039;] = 0.5,&lt;br /&gt;
	[&#039;snop siana&#039;] = 0.5,&lt;br /&gt;
	[&#039;ciężka wagowa płytka naciskowa&#039;] = 0.5,&lt;br /&gt;
	[&#039;lód&#039;] = 0.5,&lt;br /&gt;
	[&#039;dźwignia&#039;] = 0.5,&lt;br /&gt;
	[&#039;lekka wagowa płytka naciskowa&#039;] = 0.5,&lt;br /&gt;
	[&#039;blok magmy&#039;] = 0.5,&lt;br /&gt;
	[&#039;błoto&#039;] = 0.5,&lt;br /&gt;
	[&#039;zbity lód&#039;] = 0.5,&lt;br /&gt;
	[&#039;bielica&#039;] = 0.5,&lt;br /&gt;
	[&#039;wypolerowany czernitowy przycisk&#039;] = 0.5,&lt;br /&gt;
	[&#039;wypolerowana czernitowa płytka naciskowa&#039;] = 0.5,&lt;br /&gt;
	[&#039;płytka naciskowa&#039;] = 0.5,&lt;br /&gt;
	[&#039;czerwony piasek&#039;] = 0.5,&lt;br /&gt;
	[&#039;zakorzeniona ziemia&#039;] = 0.5,&lt;br /&gt;
	[&#039;piasek&#039;] = 0.5,&lt;br /&gt;
	[&#039;jajo niuchacza&#039;] = 0.5,&lt;br /&gt;
	[&#039;piasek dusz&#039;] = 0.5,&lt;br /&gt;
	[&#039;gleba dusz&#039;] = 0.5,&lt;br /&gt;
	[&#039;kamienny przycisk&#039;] = 0.5,&lt;br /&gt;
	[&#039;kamienna płytka naciskowa&#039;] = 0.5,&lt;br /&gt;
	[&#039;tarcza strzelecka&#039;] = 0.5,&lt;br /&gt;
	[&#039;terre de pomme&#039;] = 0.5,&lt;br /&gt;
	[&#039;żółwie jajko&#039;] = 0.5,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;kaktus&#039;] = 0.4,&lt;br /&gt;
	[&#039;kwiat refrenusu&#039;] = 0.4,&lt;br /&gt;
	[&#039;łodyga refrenusu&#039;] = 0.4,&lt;br /&gt;
	[&#039;szkarłatne nylium&#039;] = 0.4,&lt;br /&gt;
	[&#039;drabina&#039;] = 0.4,&lt;br /&gt;
	[&#039;netherrack&#039;] = 0.4,&lt;br /&gt;
	[&#039;nylium&#039;] = 0.4,&lt;br /&gt;
	[&#039;spaczone nylium&#039;] = 0.4,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;gniazdo pszczół&#039;] = 0.3,&lt;br /&gt;
	[&#039;frogświatło&#039;] = 0.3,&lt;br /&gt;
	[&#039;szkło&#039;] = 0.3,&lt;br /&gt;
	[&#039;szyba&#039;] = 0.3,&lt;br /&gt;
	[&#039;jasnogłaz&#039;] = 0.3,&lt;br /&gt;
	[&#039;złocista żabia lampa&#039;] = 0.3,&lt;br /&gt;
	[&#039;perłowa żabia lampa&#039;] = 0.3,&lt;br /&gt;
	[&#039;lampa redstone&#039;] = 0.3,&lt;br /&gt;
	[&#039;latarnia morska&#039;] = 0.3,&lt;br /&gt;
	[&#039;przyciemnione szkło&#039;] = 0.3,&lt;br /&gt;
	[&#039;zielenista żabia lampa&#039;] = 0.3,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;sypki śnieg&#039;] = 0.25,&lt;br /&gt;
	[&#039;podejrzany piasek&#039;] = 0.25,&lt;br /&gt;
	[&#039;podejrzany żwir&#039;] = 0.25,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;łóżko&#039;] = 0.2,&lt;br /&gt;
	[&#039;kakao&#039;] = 0.2,&lt;br /&gt;
	[&#039;ziarna kakaowe&#039;] = 0.2,&lt;br /&gt;
	[&#039;dayświatło sensor&#039;] = 0.2,&lt;br /&gt;
	[&#039;detektor światła dziennego&#039;] = 0.2,&lt;br /&gt;
	[&#039;świecący porost&#039;] = 0.2,&lt;br /&gt;
	[&#039;liście&#039;] = 0.2,&lt;br /&gt;
	[&#039;sculk&#039;] = 0.2,&lt;br /&gt;
	[&#039;żyły sculku&#039;] = 0.2,&lt;br /&gt;
	[&#039;blok śniegu&#039;] = 0.2,&lt;br /&gt;
	[&#039;pnącza&#039;] = 0.2,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;wielki spadkoliść&#039;] = 0.1,&lt;br /&gt;
	[&#039;łodyga wielkiego spadkoliścia&#039;] = 0.1,&lt;br /&gt;
	[&#039;świeca&#039;] = 0.1,&lt;br /&gt;
	[&#039;coloczerwona świeca&#039;] = 0.1,&lt;br /&gt;
	[&#039;dywan&#039;] = 0.1,&lt;br /&gt;
	[&#039;blok mchu&#039;] = 0.1,&lt;br /&gt;
	[&#039;blok bladego mchu&#039;] = 0.1,&lt;br /&gt;
	[&#039;warstwa mchu&#039;] = 0.1,&lt;br /&gt;
	[&#039;warstwa bladego mchu&#039;] = 0.1,&lt;br /&gt;
	[&#039;śnieg&#039;] = 0.1,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;powietrze&#039;] = 0,&lt;br /&gt;
	[&#039;czosnek&#039;] = 0,&lt;br /&gt;
	[&#039;azalia&#039;] = 0,&lt;br /&gt;
	[&#039;houstonia błękitna&#039;] = 0,&lt;br /&gt;
	[&#039;burak seed&#039;] = 0,&lt;br /&gt;
	[&#039;buraki&#039;] = 0,&lt;br /&gt;
	[&#039;blok żywicy&#039;] = 0,&lt;br /&gt;
	[&#039;niebieska orchidea&#039;] = 0,&lt;br /&gt;
	[&#039;borowik&#039;] = 0,&lt;br /&gt;
	[&#039;kolumna bąbelków&#039;] = 0,&lt;br /&gt;
	[&#039;krzew&#039;] = 0,&lt;br /&gt;
	[&#039;kwiat kaktusa&#039;] = 0,&lt;br /&gt;
	[&#039;camera&#039;] = 0,&lt;br /&gt;
	[&#039;camera block&#039;] = 0,&lt;br /&gt;
	[&#039;marchewka&#039;] = 0,&lt;br /&gt;
	[&#039;powietrze jaskiniowe&#039;] = 0,&lt;br /&gt;
	[&#039;jaskiniowe pnącza&#039;] = 0,&lt;br /&gt;
	[&#039;jaskiniowe pnącza body&#039;] = 0,&lt;br /&gt;
	[&#039;jaskiniowe pnącza head&#039;] = 0,&lt;br /&gt;
	[&#039;zamknięta okrotka&#039;] = 0,&lt;br /&gt;
	[&#039;komparator&#039;] = 0,&lt;br /&gt;
	[&#039;szkarłatny grzyb&#039;] = 0,&lt;br /&gt;
	[&#039;wyschnięty ghast&#039;] = 0,&lt;br /&gt;
	[&#039;chaber&#039;] = 0,&lt;br /&gt;
	[&#039;mlecz&#039;] = 0,&lt;br /&gt;
	[&#039;uschnięty krzak&#039;] = 0,&lt;br /&gt;
	[&#039;dekorowany garniec&#039;] = 0,&lt;br /&gt;
	[&#039;endowy słupek&#039;] = 0,&lt;br /&gt;
	[&#039;okrotka&#039;] = 0,&lt;br /&gt;
	[&#039;ogień&#039;] = 0,&lt;br /&gt;
	[&#039;krzew świetlików&#039;] = 0,&lt;br /&gt;
	[&#039;nurter&#039;] = 0,&lt;br /&gt;
	[&#039;doniczka&#039;] = 0,&lt;br /&gt;
	[&#039;kwitnąca azalia&#039;] = 0,&lt;br /&gt;
	[&#039;foundatiwł. block&#039;] = 0,&lt;br /&gt;
	[&#039;żabi skrzek&#039;] = 0,&lt;br /&gt;
	[&#039;świecące jagody&#039;] = 0,&lt;br /&gt;
	[&#039;paproć&#039;] = 0,&lt;br /&gt;
	[&#039;duża paproć&#039;] = 0,&lt;br /&gt;
	[&#039;wysoka trawa&#039;] = 0,&lt;br /&gt;
	[&#039;trawa&#039;] = 0,&lt;br /&gt;
	[&#039;niska trawa&#039;] = 0,&lt;br /&gt;
	[&#039;trawa_carried&#039;] = 0,&lt;br /&gt;
	[&#039;zielony shrub&#039;] = 0,&lt;br /&gt;
	[&#039;zwisające korzenie&#039;] = 0,&lt;br /&gt;
	[&#039;blok miodu&#039;] = 0,&lt;br /&gt;
	[&#039;wodorost&#039;] = 0,&lt;br /&gt;
	[&#039;ściółka&#039;] = 0,&lt;br /&gt;
	[&#039;leaves_carried&#039;] = 0,&lt;br /&gt;
	[&#039;bez&#039;] = 0,&lt;br /&gt;
	[&#039;konwalia&#039;] = 0,&lt;br /&gt;
	[&#039;lilia wodna&#039;] = 0,&lt;br /&gt;
	[&#039;zablokowana chest&#039;] = 0,&lt;br /&gt;
	[&#039;siewka namorzynu&#039;] = 0,&lt;br /&gt;
	[&#039;arbuz seed&#039;] = 0,&lt;br /&gt;
	[&#039;łodyga arbuza&#039;] = 0,&lt;br /&gt;
	[&#039;netherowe kiełki&#039;] = 0,&lt;br /&gt;
	[&#039;netherowa brodawka&#039;] = 0,&lt;br /&gt;
	[&#039;otwarta okrotka&#039;] = 0,&lt;br /&gt;
	[&#039;pomarańczowy tulipan&#039;] = 0,&lt;br /&gt;
	[&#039;margaretka&#039;] = 0,&lt;br /&gt;
	[&#039;packed powietrze&#039;] = 0,&lt;br /&gt;
	[&#039;zwisający blady mech&#039;] = 0,&lt;br /&gt;
	[&#039;piwonia&#039;] = 0,&lt;br /&gt;
	[&#039;różowe kwiatki&#039;] = 0,&lt;br /&gt;
	[&#039;różowy tulipan&#039;] = 0,&lt;br /&gt;
	[&#039;dzbanecznik&#039;] = 0,&lt;br /&gt;
	[&#039;plon dzbanecznika&#039;] = 0,&lt;br /&gt;
	[&#039;strąk dzbanecznika&#039;] = 0,&lt;br /&gt;
	[&#039;mak&#039;] = 0,&lt;br /&gt;
	[&#039;łodyga dyni&#039;] = 0,&lt;br /&gt;
	[&#039;muchomor&#039;] = 0,&lt;br /&gt;
	[&#039;czerwony tulipan&#039;] = 0,&lt;br /&gt;
	[&#039;redkamień&#039;] = 0,&lt;br /&gt;
	[&#039;komparator redstone&#039;] = 0,&lt;br /&gt;
	[&#039;sproszkowany redstone&#039;] = 0,&lt;br /&gt;
	[&#039;przekaźnik redstone&#039;] = 0,&lt;br /&gt;
	[&#039;pochodnia redstone&#039;] = 0,&lt;br /&gt;
	[&#039;przewód redstone&#039;] = 0,&lt;br /&gt;
	[&#039;powtarzającyer&#039;] = 0,&lt;br /&gt;
	[&#039;spaczone korzenie&#039;] = 0,&lt;br /&gt;
	[&#039;szkarłatne korzenie&#039;] = 0,&lt;br /&gt;
	[&#039;gruda żywicy&#039;] = 0,&lt;br /&gt;
	[&#039;krzew róży&#039;] = 0,&lt;br /&gt;
	[&#039;rusztowanie&#039;] = 0,&lt;br /&gt;
	[&#039;iskrzyłuda&#039;] = 0,&lt;br /&gt;
	[&#039;trawa morska&#039;] = 0,&lt;br /&gt;
	[&#039;ziarno&#039;] = 0,&lt;br /&gt;
	[&#039;niska sucha trawa&#039;] = 0,&lt;br /&gt;
	[&#039;blok szlamu&#039;] = 0,&lt;br /&gt;
	[&#039;mały spadkoliść&#039;] = 0,&lt;br /&gt;
	[&#039;ogień dusz&#039;] = 0,&lt;br /&gt;
	[&#039;pochodnia dusz&#039;] = 0,&lt;br /&gt;
	[&#039;pylikwiat&#039;] = 0,&lt;br /&gt;
	[&#039;nić&#039;] = 0,&lt;br /&gt;
	[&#039;pustka strukturalna&#039;] = 0,&lt;br /&gt;
	[&#039;trzcina cukrowa&#039;] = 0,&lt;br /&gt;
	[&#039;słonecznik&#039;] = 0,&lt;br /&gt;
	[&#039;słodkie jagody&#039;] = 0,&lt;br /&gt;
	[&#039;wysoka sucha trawa&#039;] = 0,&lt;br /&gt;
	[&#039;wysoka trawa&#039;] = 0,&lt;br /&gt;
	[&#039;tnt&#039;] = 0,&lt;br /&gt;
	[&#039;pochodnia&#039;] = 0,&lt;br /&gt;
	[&#039;pochodnia (burnt-out)&#039;] = 0,&lt;br /&gt;
	[&#039;ognisty kwiat&#039;] = 0,&lt;br /&gt;
	[&#039;ognisty kwiat&#039;] = 0,&lt;br /&gt;
	[&#039;nasiona ognistego kwiatu&#039;] = 0,&lt;br /&gt;
	[&#039;linka&#039;] = 0,&lt;br /&gt;
	[&#039;zaczep na linkę&#039;] = 0,&lt;br /&gt;
	[&#039;tulipan&#039;] = 0,&lt;br /&gt;
	[&#039;spaczone pnącza&#039;] = 0,&lt;br /&gt;
	[&#039;nieznany&#039;] = 0,&lt;br /&gt;
	[&#039;próżniowe powietrze&#039;] = 0,&lt;br /&gt;
	[&#039;spaczony grzyb&#039;] = 0,&lt;br /&gt;
	[&#039;płaczące pnącza&#039;] = 0,&lt;br /&gt;
	[&#039;pszenica&#039;] = 0,&lt;br /&gt;
	[&#039;nasiona pszenicy&#039;] = 0,&lt;br /&gt;
	[&#039;biały tulipan&#039;] = 0,&lt;br /&gt;
	[&#039;polne kwiaty&#039;] = 0,&lt;br /&gt;
	[&#039;witherowa róża&#039;] = 0,&lt;br /&gt;
	&lt;br /&gt;
-- BLOCKS BELOW THIS LINE ARE UNBREAKABLE IN SURVIVAL &amp;amp; ADVENTURE MODE --&lt;br /&gt;
	[&#039;wszystkieow and deny&#039;] = -1,&lt;br /&gt;
	[&#039;wszystkieow&#039;] = -1,&lt;br /&gt;
	[&#039;bariera&#039;] = -1,&lt;br /&gt;
	[&#039;skała macierzysta&#039;] = -1,&lt;br /&gt;
	[&#039;build wszystkieow block&#039;] = -1,&lt;br /&gt;
	[&#039;build diswszystkieow block&#039;] = -1,&lt;br /&gt;
	[&#039;łańcuchowy blok poleceń&#039;] = -1,&lt;br /&gt;
	[&#039;blok poleceń&#039;] = -1,&lt;br /&gt;
	[&#039;brama endu&#039;] = -1,&lt;br /&gt;
	[&#039;brama endu block&#039;] = -1,&lt;br /&gt;
	[&#039;portal do endu&#039;] = -1,&lt;br /&gt;
	[&#039;rama portalu do endu&#039;] = -1,&lt;br /&gt;
	[&#039;portal do endu block&#039;] = -1,&lt;br /&gt;
	[&#039;impulse blok poleceń&#039;] = -1,&lt;br /&gt;
	[&#039;blok konstrukcyjny&#039;] = -1,&lt;br /&gt;
	[&#039;światło&#039;] = -1,&lt;br /&gt;
	[&#039;poruszany blok&#039;] = -1,&lt;br /&gt;
	[&#039;netherowy portal&#039;] = -1,&lt;br /&gt;
	[&#039;powtarzający blok poleceń&#039;] = -1,&lt;br /&gt;
	[&#039;blok struktur&#039;] = -1,&lt;br /&gt;
	[&#039;blok testowy&#039;] = -1,&lt;br /&gt;
	[&#039;blok instancji testowej&#039;] = -1,&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Modu%C5%82:Twardo%C5%9B%C4%87_values&amp;diff=122989</id>
		<title>Moduł:Twardość values</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Modu%C5%82:Twardo%C5%9B%C4%87_values&amp;diff=122989"/>
		<updated>2025-07-20T23:22:43Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: Utworzono nową stronę &amp;quot;return { 	--Arranged from greatest trudnyness to lowest hardness. 	[&amp;#039;lawa&amp;#039;] = 100, 	[&amp;#039;woda&amp;#039;] = 100, 	 	[&amp;#039;zbrojony łupek&amp;#039;] = 55, 	 	[&amp;#039;blok netherytu&amp;#039;] = 50, 	[&amp;#039;płaczący obsydian&amp;#039;] = 50, 	[&amp;#039;obsydian&amp;#039;] = 50, 	[&amp;#039;ominous przyzywacz prób&amp;#039;] = 50, 	[&amp;#039;ominous skarbiec&amp;#039;] = 50, 	[&amp;#039;kotwica odrodzenia&amp;#039;] = 50, 	[&amp;#039;swaggiest stpowietrzes ever&amp;#039;] = 50, 	[&amp;#039;przyzywacz prób&amp;#039;] = 50, 	[&amp;#039;skarbiec&amp;#039;] = 50, 	 	[&amp;#039;pradawne zgliszcza&amp;#039;] = 30, 	 	[&amp;#039;skrzynia endu&amp;#039;] = 22.5,  	[&amp;#039;trzeszczące se…&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;return {&lt;br /&gt;
	--Arranged from greatest trudnyness to lowest hardness.&lt;br /&gt;
	[&#039;lawa&#039;] = 100,&lt;br /&gt;
	[&#039;woda&#039;] = 100,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;zbrojony łupek&#039;] = 55,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;blok netherytu&#039;] = 50,&lt;br /&gt;
	[&#039;płaczący obsydian&#039;] = 50,&lt;br /&gt;
	[&#039;obsydian&#039;] = 50,&lt;br /&gt;
	[&#039;ominous przyzywacz prób&#039;] = 50,&lt;br /&gt;
	[&#039;ominous skarbiec&#039;] = 50,&lt;br /&gt;
	[&#039;kotwica odrodzenia&#039;] = 50,&lt;br /&gt;
	[&#039;swaggiest stpowietrzes ever&#039;] = 50,&lt;br /&gt;
	[&#039;przyzywacz prób&#039;] = 50,&lt;br /&gt;
	[&#039;skarbiec&#039;] = 50,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;pradawne zgliszcza&#039;] = 30,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;skrzynia endu&#039;] = 22.5,&lt;br /&gt;
&lt;br /&gt;
	[&#039;trzeszczące serce&#039;] = 10,&lt;br /&gt;
	[&#039;ciężki rdzeń&#039;] = 10,&lt;br /&gt;
&lt;br /&gt;
	[&#039;kowadło&#039;] = 5,&lt;br /&gt;
	[&#039;dzwon&#039;] = 5,&lt;br /&gt;
	[&#039;blok węgla&#039;] = 5,&lt;br /&gt;
	[&#039;blok diamentu&#039;] = 5,&lt;br /&gt;
	[&#039;blok szmaragdu&#039;] = 5,&lt;br /&gt;
	[&#039;blok żelaza&#039;] = 5,&lt;br /&gt;
	[&#039;blok rudy żelaza&#039;] = 5,&lt;br /&gt;
	[&#039;blok surowego złota&#039;] = 5,&lt;br /&gt;
	[&#039;blok rudy miedzi&#039;] = 5,&lt;br /&gt;
	[&#039;blok redstone&#039;] = 5,&lt;br /&gt;
	[&#039;łańcuch&#039;] = 5,&lt;br /&gt;
	[&#039;stół do zaklinania&#039;] = 5,&lt;br /&gt;
	[&#039;zaklnijment table&#039;] = 5,&lt;br /&gt;
	[&#039;żelazne kraty&#039;] = 5,&lt;br /&gt;
	[&#039;żelazne drzwi&#039;] = 5,&lt;br /&gt;
	[&#039;żelazna klapa&#039;] = 5,&lt;br /&gt;
	[&#039;przyzywacz potworów&#039;] = 5,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;łupkowe złoże węgla&#039;] = 4.5,&lt;br /&gt;
	[&#039;łupkowe złoże miedzi&#039;] = 4.5,&lt;br /&gt;
	[&#039;łupkowe złoże diamentu&#039;] = 4.5,&lt;br /&gt;
	[&#039;łupkowe złoże szmaragdu&#039;] = 4.5,&lt;br /&gt;
	[&#039;łupkowe złoże złota&#039;] = 4.5,&lt;br /&gt;
	[&#039;łupkowe złoże żelaza&#039;] = 4.5,&lt;br /&gt;
	[&#039;łupkowe złoże lazurytu&#039;] = 4.5,&lt;br /&gt;
	[&#039;łupkowe złoże redstone&#039;] = 4.5,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;pajęczyna&#039;] = 4,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;piec hutniczy&#039;] = 3.5,&lt;br /&gt;
	[&#039;rzeźbiony łupek&#039;] = 3.5,&lt;br /&gt;
	[&#039;łupkowy bruk&#039;] = 3.5,&lt;br /&gt;
	[&#039;łupkowa brukowa płyta&#039;] = 3.5,&lt;br /&gt;
	[&#039;łupkowe brukowe schody&#039;] = 3.5,&lt;br /&gt;
	[&#039;łupkowy brukowy murek&#039;] = 3.5,&lt;br /&gt;
	[&#039;popękane łupkowe cegły&#039;] = 3.5,&lt;br /&gt;
  	[&#039;popękane łupkowe kafelki&#039;] = 3.5,&lt;br /&gt;
  	[&#039;łupkowa ceglana płyta&#039;] = 3.5,&lt;br /&gt;
  	[&#039;łupkowe ceglane schody&#039;] = 3.5,&lt;br /&gt;
  	[&#039;łupkowy ceglany murek&#039;] = 3.5,&lt;br /&gt;
   	[&#039;łupkowe cegły&#039;] = 3.5,&lt;br /&gt;
   	[&#039;łupkowe kafelki&#039;] = 3.5,&lt;br /&gt;
  	[&#039;łupkowa kafelkowa płyta&#039;] = 3.5,&lt;br /&gt;
  	[&#039;łupkowe kafelkowe schody&#039;] = 3.5,&lt;br /&gt;
  	[&#039;łupkowy kafelkowy murek&#039;] = 3.5,&lt;br /&gt;
  	[&#039;dozownik&#039;] = 3.5,&lt;br /&gt;
	[&#039;podajnik&#039;] = 3.5,&lt;br /&gt;
  	[&#039;piec&#039;] = 3.5,&lt;br /&gt;
	[&#039;latarenka&#039;] = 3.5,&lt;br /&gt;
	[&#039;magnetyt&#039;] = 3.5,&lt;br /&gt;
	[&#039;wypolerowany łupek&#039;] = 3.5,&lt;br /&gt;
	[&#039;wypolerowana łupkowa płyta&#039;] = 3.5,&lt;br /&gt;
	[&#039;wypolerowane łupkowe schody&#039;] = 3.5,&lt;br /&gt;
	[&#039;wypolerowany łupkowy murek&#039;] = 3.5,&lt;br /&gt;
	[&#039;wędzarka&#039;] = 3.5,&lt;br /&gt;
	[&#039;latarenka dusz&#039;] = 3.5,&lt;br /&gt;
	[&#039;przecinarka&#039;] = 3.5,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;akacjowe drzwi&#039;] = 3,&lt;br /&gt;
	[&#039;magiczna latarnia&#039;] = 3,&lt;br /&gt;
	[&#039;brzozowe drzwi&#039;] = 3,&lt;br /&gt;
	[&#039;blok złota&#039;] = 3,&lt;br /&gt;
	[&#039;blok lazurytu&#039;] = 3,&lt;br /&gt;
	[&#039;blok miedzi&#039;] = 3,&lt;br /&gt;
	[&#039;złoże węgla&#039;] = 3,&lt;br /&gt;
	[&#039;przewodnia&#039;] = 3,&lt;br /&gt;
	[&#039;blok miedzi&#039;] = 3,&lt;br /&gt;
	[&#039;miedzna skrzynia&#039;] = 3,&lt;br /&gt;
	[&#039;miedziana krata&#039;] = 3,&lt;br /&gt;
	[&#039;miedziane drzwi&#039;] = 3,&lt;br /&gt;
	[&#039;miedziana klapa&#039;] = 3,&lt;br /&gt;
	[&#039;miedziana lampa&#039;] = 3,&lt;br /&gt;
	[&#039;złoże miedzi&#039;] = 3,&lt;br /&gt;
	[&#039;rzeźbiona miedź&#039;] = 3,&lt;br /&gt;
	[&#039;żłobiona miedź&#039;] = 3,&lt;br /&gt;
	[&#039;żłobiona miedziana płyta&#039;] = 3,&lt;br /&gt;
	[&#039;żłobione miedziane schody&#039;] = 3,&lt;br /&gt;
	[&#039;szkarłatne drzwi&#039;] = 3,&lt;br /&gt;
	[&#039;ciemnodębowe drzwi&#039;] = 3,&lt;br /&gt;
	[&#039;łupek&#039;] = 3,&lt;br /&gt;
	[&#039;złoże diamentu&#039;] = 3,&lt;br /&gt;
	[&#039;smocze jajo&#039;] = 3,&lt;br /&gt;
	[&#039;złoże szmaragdu&#039;] = 3,&lt;br /&gt;
	[&#039;kamień endu&#039;] = 3,&lt;br /&gt;
	[&#039;endowa kamienna ceglana płyta&#039;] = 3,&lt;br /&gt;
	[&#039;endowe kamienne ceglane schody&#039;] = 3,&lt;br /&gt;
	[&#039;endowy kamienny ceglany murek&#039;] = 3,&lt;br /&gt;
	[&#039;endowe kamienne cegły&#039;] = 3,&lt;br /&gt;
	[&#039;gstara&#039;] = 3,&lt;br /&gt;
	[&#039;złoże złota&#039;] = 3,&lt;br /&gt;
	[&#039;lej&#039;] = 3,&lt;br /&gt;
	[&#039;złoże żelaza&#039;] = 3,&lt;br /&gt;
	[&#039;tropikalne drzwi&#039;] = 3,&lt;br /&gt;
	[&#039;złoże lazurytu&#039;] = 3,&lt;br /&gt;
	[&#039;piorunochron&#039;] = 3,&lt;br /&gt;
	[&#039;namorzynowe drzwi&#039;] = 3,&lt;br /&gt;
	[&#039;netherowe złoże złota&#039;] = 3,&lt;br /&gt;
	[&#039;złoże netherowego kwarcu&#039;] = 3,&lt;br /&gt;
	[&#039;dębowe drzwi&#039;] = 3,&lt;br /&gt;
	[&#039;detektor&#039;] = 3,&lt;br /&gt;
	[&#039;złoże redstone&#039;] = 3,&lt;br /&gt;
	[&#039;sculkowy katalizator&#039;] = 3,&lt;br /&gt;
	[&#039;sculkowe wrzeszczydło&#039;] = 3,&lt;br /&gt;
	[&#039;świerkowe drzwi&#039;] = 3,&lt;br /&gt;
	[&#039;spaczone drzwi&#039;] = 3,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;niebieski lód lodowcowy&#039;] = 2.8,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;beczka&#039;] = 2.5,&lt;br /&gt;
	[&#039;stół kartograficzny&#039;] = 2.5,&lt;br /&gt;
	[&#039;skrzynia&#039;] = 2.5,&lt;br /&gt;
	[&#039;stół rzemieślniczy&#039;] = 2.5,&lt;br /&gt;
	[&#039;stół łuczarski&#039;] = 2.5,&lt;br /&gt;
	[&#039;krosno&#039;] = 2.5,&lt;br /&gt;
	[&#039;stół kowalski&#039;] = 2.5,&lt;br /&gt;
	[&#039;skrzynia-pułapka&#039;] = 2.5,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;bambusowa mozaika&#039;] = 2,&lt;br /&gt;
	[&#039;bambusowe mozaikowe schody&#039;] = 2,&lt;br /&gt;
	[&#039;bambusowa mozaikowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;czernitowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;blok bambusu&#039;] = 2,&lt;br /&gt;
	[&#039;blok ociosanego bambusu&#039;] = 2,&lt;br /&gt;
	[&#039;blok kości&#039;] = 2,&lt;br /&gt;
	[&#039;ceglana płyta&#039;] = 2,&lt;br /&gt;
	[&#039;ceglane schody&#039;] = 2,&lt;br /&gt;
	[&#039;ceglany murek&#039;] = 2,&lt;br /&gt;
	[&#039;cegły&#039;] = 2,&lt;br /&gt;
	[&#039;ognisko&#039;] = 2,&lt;br /&gt;
	[&#039;kocioł&#039;] = 2,&lt;br /&gt;
	[&#039;rzeźbione netherowe cegły&#039;] = 2,&lt;br /&gt;
	[&#039;bruk&#039;] = 2,&lt;br /&gt;
	[&#039;brukowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;brukowe schody&#039;] = 2,&lt;br /&gt;
	[&#039;brukowy murek&#039;] = 2,&lt;br /&gt;
	[&#039;coloczerwona shulkerowa skrzynia&#039;] = 2,&lt;br /&gt;
	[&#039;popękane netherowe cegły&#039;] = 2,&lt;br /&gt;
	[&#039;przycięta czerwona piaskowcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;przycięta piaskowcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;kamień szlifierski&#039;] = 2,&lt;br /&gt;
	[&#039;szafa grająca&#039;] = 2,&lt;br /&gt;
	[&#039;pień&#039;] = 2,&lt;br /&gt;
	[&#039;zamszony bruk&#039;] = 2,&lt;br /&gt;
	[&#039;zamszona brukowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;zamszone brukowe schody&#039;] = 2,&lt;br /&gt;
	[&#039;zamszony brukowy murek&#039;] = 2,&lt;br /&gt;
	[&#039;netherowy ceglany płot&#039;] = 2,&lt;br /&gt;
	[&#039;netherowa ceglana płyta&#039;] = 2,&lt;br /&gt;
	[&#039;netherowe ceglane schody&#039;] = 2,&lt;br /&gt;
	[&#039;netherowy ceglany murek&#039;] = 2,&lt;br /&gt;
	[&#039;netherowe cegły&#039;] = 2,&lt;br /&gt;
	[&#039;skamieniała dębowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;deski&#039;] = 2,&lt;br /&gt;
	[&#039;wypolerowany czernit&#039;] = 2,&lt;br /&gt;
	[&#039;wypolerowana czernitowa ceglana płyta&#039;] = 2,&lt;br /&gt;
	[&#039;wypolerowana czernitowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;wypolerowane czernitowe schody&#039;] = 2,&lt;br /&gt;
	[&#039;wypolerowany czernitowy murek&#039;] = 2,&lt;br /&gt;
	[&#039;purpurowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;kwarcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;czerwona netherowa ceglana płyta&#039;] = 2,&lt;br /&gt;
	[&#039;czerwone netherowe ceglane schody&#039;] = 2,&lt;br /&gt;
	[&#039;czerwony netherowy ceglany murek&#039;] = 2,&lt;br /&gt;
	[&#039;czerwone netherowe cegły&#039;] = 2,&lt;br /&gt;
	[&#039;czerwona piaskowcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;piaskowcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;shulkerowa skrzynia&#039;] = 2,&lt;br /&gt;
	[&#039;gładki blok kwarcu&#039;] = 2,&lt;br /&gt;
	[&#039;gładka kwarcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;gładkie kwarcowe schody&#039;] = 2,&lt;br /&gt;
	[&#039;gładki czerwony piaskowiec&#039;] = 2,&lt;br /&gt;
	[&#039;gładka czerwona piaskowcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;gładkie czerwone piaskowcowe schody&#039;] = 2,&lt;br /&gt;
	[&#039;gładki piaskowiec&#039;] = 2,&lt;br /&gt;
	[&#039;gładka piaskowcowa płyta&#039;] = 2,&lt;br /&gt;
	[&#039;gładkie piaskowcowe schody&#039;] = 2,&lt;br /&gt;
	[&#039;gładki kamień&#039;] = 2,&lt;br /&gt;
	[&#039;gładka kamienna płyta&#039;] = 2,&lt;br /&gt;
	[&#039;ognisko dusz&#039;] = 2,&lt;br /&gt;
	[&#039;kamienna płyta&#039;] = 2,&lt;br /&gt;
	[&#039;kamienna ceglana płyta&#039;] = 2,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;zarodek ametystu&#039;] = 1.5,&lt;br /&gt;
  	[&#039;skupisko ametystu&#039;] = 1.5,&lt;br /&gt;
	[&#039;andezyt&#039;] = 1.5,&lt;br /&gt;
  	[&#039;andezytowa płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;andezytowe schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;andezytowy murek&#039;] = 1.5,&lt;br /&gt;
  	[&#039;czernit&#039;] = 1.5,&lt;br /&gt;
  	[&#039;czernitowe schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;czernitowy murek&#039;] = 1.5,&lt;br /&gt;
  	[&#039;blok ametystu&#039;] = 1.5,&lt;br /&gt;
	[&#039;biblioteczka&#039;] = 1.5,&lt;br /&gt;
	[&#039;box of infinite książkas&#039;] = 1.5,&lt;br /&gt;
	[&#039;kiełkujący ametyst&#039;] = 1.5,&lt;br /&gt;
	[&#039;skalibrowany sculkowy czujnik&#039;] = 1.5,&lt;br /&gt;
	[&#039;rzeźbiona biblioteczka&#039;] = 1.5,&lt;br /&gt;
  	[&#039;rzeźbiony wypolerowany czernit&#039;] = 1.5,&lt;br /&gt;
  	[&#039;rzeźbione żywicowe cegły&#039;] = 1.5,&lt;br /&gt;
  	[&#039;rzeźbione kamienne cegły&#039;] = 1.5,&lt;br /&gt;
	[&#039;rzeźbiony tuf&#039;] = 1.5,&lt;br /&gt;
	[&#039;rzeźbione tufowe cegły&#039;] = 1.5,&lt;br /&gt;
  	[&#039;popękane wypolerowane czernitowe cegły&#039;] = 1.5,&lt;br /&gt;
  	[&#039;popękane kamienne cegły&#039;] = 1.5,&lt;br /&gt;
  	[&#039;wytwarzacz&#039;] = 1.5,&lt;br /&gt;
	[&#039;ciemny pryzmaryn&#039;] = 1.5,&lt;br /&gt;
  	[&#039;ciemna pryzmarynowa płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;ciemne pryzmarynowe schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;dead coral block&#039;] = 1.5,&lt;br /&gt;
	[&#039;deprecated blok purpuru 2&#039;] = 1.5,&lt;br /&gt;
	[&#039;deprekoted_purpur_block_2&#039;] = 1.5,&lt;br /&gt;
	[&#039;dioryt&#039;] = 1.5,&lt;br /&gt;
  	[&#039;diorytowa płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;diorytowe schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;diorytowy murek&#039;] = 1.5,&lt;br /&gt;
  	[&#039;blok nacieku&#039;] = 1.5,&lt;br /&gt;
  	[&#039;złocony czernit&#039;] = 1.5,&lt;br /&gt;
	[&#039;granit&#039;] = 1.5,&lt;br /&gt;
  	[&#039;granitowa płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;granitowe schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;granitowy murek&#039;] = 1.5,&lt;br /&gt;
	[&#039;zarobaczony łupek&#039;] = 1.5,&lt;br /&gt;
	[&#039;duży zarodek ametystu&#039;] = 1.5,&lt;br /&gt;
	[&#039;średni zarodek ametystu&#039;] = 1.5,&lt;br /&gt;
  	[&#039;zamszona kamienna ceglana płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;zamszone kamienne ceglane schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;zamszony kamienny ceglany murek&#039;] = 1.5,&lt;br /&gt;
  	[&#039;zamszone kamienne cegły&#039;] = 1.5,&lt;br /&gt;
	[&#039;błotna ceglana płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;błotne ceglane schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;błotny ceglany murek&#039;] = 1.5,&lt;br /&gt;
  	[&#039;błotne cegły&#039;] = 1.5,&lt;br /&gt;
  	[&#039;tłok&#039;] = 1.5,&lt;br /&gt;
	[&#039;głowica tłoka&#039;] = 1.5,&lt;br /&gt;
	[&#039;spiczasty naciek&#039;] = 1.5,&lt;br /&gt;
	[&#039;wypolerowany andezyt&#039;] = 1.5,&lt;br /&gt;
  	[&#039;wypolerowana andezytowa płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;wypolerowane andezytowe schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;wypolerowane czernitowe ceglane schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;wypolerowany czernitowy ceglany murek&#039;] = 1.5,&lt;br /&gt;
  	[&#039;wypolerowane czernitowe cegły&#039;] = 1.5,&lt;br /&gt;
	[&#039;wypolerowany dioryt&#039;] = 1.5,&lt;br /&gt;
  	[&#039;wypolerowana diorytowa płyta&#039;] = 1.5,&lt;br /&gt;
    [&#039;wypolerowane diorytowe schody&#039;] = 1.5,&lt;br /&gt;
	[&#039;wypolerowany granit&#039;] = 1.5,&lt;br /&gt;
  	[&#039;wypolerowana granitowa płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;wypolerowane granitowe schody&#039;] = 1.5,&lt;br /&gt;
	[&#039;wypolerowany tuf&#039;] = 1.5,&lt;br /&gt;
	[&#039;wypolerowana tufowa płyta&#039;] = 1.5,&lt;br /&gt;
	[&#039;wypolerowane tufowe schody&#039;] = 1.5,&lt;br /&gt;
	[&#039;wypolerowany tufowy murek&#039;] = 1.5,&lt;br /&gt;
	[&#039;pryzmaryn&#039;] = 1.5,&lt;br /&gt;
  	[&#039;pryzmarynowa ceglana płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;pryzmarynowe ceglane schody&#039;] = 1.5,&lt;br /&gt;
	[&#039;pryzmarynowe cegły&#039;] = 1.5,&lt;br /&gt;
  	[&#039;pryzmarynowa płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;pryzmarynowe schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;pryzmarynowy murek&#039;] = 1.5,&lt;br /&gt;
	[&#039;blok purpuru&#039;] = 1.5,&lt;br /&gt;
	[&#039;purpurowy filar&#039;] = 1.5,&lt;br /&gt;
  	[&#039;purpurowe schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;żywicowa ceglana płyta&#039;] = 1.5,&lt;br /&gt;
  	[&#039;żywicowe ceglane schody&#039;] = 1.5,&lt;br /&gt;
  	[&#039;żywicowy ceglany murek&#039;] = 1.5,&lt;br /&gt;
	[&#039;żywicowe cegły&#039;] = 1.5,&lt;br /&gt;
  	[&#039;sculkowy czujnik&#039;] = 1.5,&lt;br /&gt;
  	[&#039;six-sided tłok&#039;] = 1.5,&lt;br /&gt;
  	[&#039;mały zarodek ametystu&#039;] = 1.5,&lt;br /&gt;
	[&#039;gładki kamień bricks&#039;] = 1.5,&lt;br /&gt;
	[&#039;lepki tłok&#039;] = 1.5,&lt;br /&gt;
	[&#039;kamień&#039;] = 1.5,&lt;br /&gt;
	[&#039;kamienne ceglane schody&#039;] = 1.5,&lt;br /&gt;
	[&#039;kamienny ceglany murek&#039;] = 1.5,&lt;br /&gt;
	[&#039;kamienne cegły&#039;] = 1.5,&lt;br /&gt;
  	[&#039;kamienne schody&#039;] = 1.5,&lt;br /&gt;
	[&#039;tile.deprecated_purpur_block_2.name&#039;] = 1.5,&lt;br /&gt;
	[&#039;tuf&#039;] = 1.5,&lt;br /&gt;
	[&#039;tufowe cegły&#039;] = 1.5,&lt;br /&gt;
	[&#039;tufowa ceglana płyta&#039;] = 1.5,&lt;br /&gt;
	[&#039;tufowe ceglane schody&#039;] = 1.5,&lt;br /&gt;
	[&#039;tufowy ceglany murek&#039;] = 1.5,&lt;br /&gt;
	[&#039;tufowa płyta&#039;] = 1.5,&lt;br /&gt;
	[&#039;tufowe schody&#039;] = 1.5,&lt;br /&gt;
	[&#039;tufowy murek&#039;] = 1.5,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;glazurowana terakota&#039;] = 1.4,&lt;br /&gt;
&lt;br /&gt;
	[&#039;bazalt&#039;] = 1.25,&lt;br /&gt;
	[&#039;coloczerwona terakota&#039;] = 1.25,&lt;br /&gt;
	[&#039;wypolerowany bazalt&#039;] = 1.25,&lt;br /&gt;
	[&#039;gładki bazalt&#039;] = 1.25,&lt;br /&gt;
	[&#039;terakota&#039;] = 1.25,&lt;br /&gt;
		&lt;br /&gt;
	[&#039;bambus&#039;] = 1,&lt;br /&gt;
	[&#039;pęd bambusa&#039;] = 1,&lt;br /&gt;
	[&#039;sztandar&#039;] = 1,&lt;br /&gt;
	[&#039;wykrawana dynia&#039;] = 1,&lt;br /&gt;
	[&#039;głowa creepera&#039;] = 1,&lt;br /&gt;
	[&#039;głowa smoka&#039;] = 1,&lt;br /&gt;
	[&#039;głowa&#039;] = 1,&lt;br /&gt;
	[&#039;zarobaczony bruk&#039;] = 1,&lt;br /&gt;
	[&amp;quot;latarnia dyniowa&amp;quot;] = 1,&lt;br /&gt;
	[&#039;arbuz&#039;] = 1,&lt;br /&gt;
	[&#039;arbuz block&#039;] = 1,&lt;br /&gt;
	[&#039;blok netherowych brodawek&#039;] = 1,&lt;br /&gt;
	[&#039;złowieszczy sztandar&#039;] = 1,&lt;br /&gt;
	[&#039;utwardzone błoto&#039;] = 1,&lt;br /&gt;
	[&#039;głowa piglina&#039;] = 1,&lt;br /&gt;
	[&#039;głowa gracza&#039;] = 1,&lt;br /&gt;
	[&#039;dynia&#039;] = 1,&lt;br /&gt;
	[&#039;światłogrzyb&#039;] = 1,&lt;br /&gt;
	[&#039;podpisz&#039;] = 1,&lt;br /&gt;
	[&#039;czaszka szkieleta&#039;] = 1,&lt;br /&gt;
	[&#039;blok spaczonych brodawek&#039;] = 1,&lt;br /&gt;
	[&#039;czaszka witherowego szkieleta&#039;] = 1,&lt;br /&gt;
	[&#039;głowa zombie&#039;] = 1,&lt;br /&gt;
&lt;br /&gt;
	[&#039;blok kwarcu&#039;] = 0.8,&lt;br /&gt;
	[&#039;rzeźbiony czerwony piaskowiec&#039;] = 0.8,&lt;br /&gt;
	[&#039;rzeźbiony piaskowiec&#039;] = 0.8,&lt;br /&gt;
	[&#039;przycięty czerwony piaskowiec&#039;] = 0.8,&lt;br /&gt;
	[&#039;przycięty piaskowiec&#039;] = 0.8,&lt;br /&gt;
	[&#039;blok dźwiękowy&#039;] = 0.8,&lt;br /&gt;
	[&#039;rzeźbiony blok kwarcu&#039;] = 0.8,&lt;br /&gt;
	[&#039;kwarcowe cegły&#039;] = 0.8,&lt;br /&gt;
	[&#039;kwarcowy filar&#039;] = 0.8,&lt;br /&gt;
	[&#039;kwarcowe schody&#039;] = 0.8,&lt;br /&gt;
	[&#039;czerwony piaskowiec&#039;] = 0.8,&lt;br /&gt;
	[&#039;czerwone piaskowcowe schody&#039;] = 0.8,&lt;br /&gt;
	[&#039;czerwony piaskowcowy murek&#039;] = 0.8,&lt;br /&gt;
	[&#039;piaskowiec&#039;] = 0.8,&lt;br /&gt;
	[&#039;piaskowcowe schody&#039;] = 0.8,&lt;br /&gt;
	[&#039;piaskowcowy murek&#039;] = 0.8,&lt;br /&gt;
	[&#039;wełna&#039;] = 0.8,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;kalcyt&#039;] = 0.75,&lt;br /&gt;
	[&#039;zarobaczony kamień&#039;] = 0.75,&lt;br /&gt;
	[&#039;zarobaczone kamienne cegły&#039;] = 0.75,&lt;br /&gt;
	[&#039;zarobaczone popękane kamienne cegły&#039;] = 0.75,&lt;br /&gt;
	[&#039;zarobaczone zamszone kamienne cegły&#039;] = 0.75,&lt;br /&gt;
	[&#039;zarobaczone rzeźbione kamienne cegły&#039;] = 0.75,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;tory aktywacyjne&#039;] = 0.7,&lt;br /&gt;
	[&#039;tory z czujnikiem&#039;] = 0.7,&lt;br /&gt;
	[&#039;namorzynowe korzenie&#039;] = 0.7,&lt;br /&gt;
	[&#039;zabłocone namorzynowe korzenie&#039;] = 0.7,&lt;br /&gt;
	[&#039;zasilane tory&#039;] = 0.7,&lt;br /&gt;
	[&#039;tory&#039;] = 0.7,&lt;br /&gt;
&lt;br /&gt;
	[&#039;ścieżka&#039;] = 0.65,&lt;br /&gt;
	[&#039;zatrucie path&#039;] = 0.65,&lt;br /&gt;
&lt;br /&gt;
	[&#039;ul&#039;] = 0.6,&lt;br /&gt;
	[&#039;glina&#039;] = 0.6,&lt;br /&gt;
	[&#039;kompostownik&#039;] = 0.6,&lt;br /&gt;
	[&#039;pole uprawne&#039;] = 0.6,&lt;br /&gt;
	[&#039;blok trawy&#039;] = 0.6,&lt;br /&gt;
	[&#039;żwir&#039;] = 0.6,&lt;br /&gt;
	[&#039;gravtater&#039;] = 0.6,&lt;br /&gt;
	[&#039;blok plastra miodu&#039;] = 0.6,&lt;br /&gt;
	[&#039;grzybnia&#039;] = 0.6,&lt;br /&gt;
	[&#039;peelblok trawy&#039;] = 0.6,&lt;br /&gt;
	[&#039;poison pole uprawne&#039;] = 0.6,&lt;br /&gt;
	[&#039;gąbka&#039;] = 0.6,&lt;br /&gt;
	[&#039;mokra gąbka&#039;] = 0.6,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;statyw alchemiczny&#039;] = 0.5,&lt;br /&gt;
	[&#039;przycisk&#039;] = 0.5,&lt;br /&gt;
	[&#039;ciasto&#039;] = 0.5,&lt;br /&gt;
	[&#039;twarda ziemia&#039;] = 0.5,&lt;br /&gt;
	[&#039;ziemia&#039;] = 0.5,&lt;br /&gt;
	[&#039;blok suszonych wodorostów&#039;] = 0.5,&lt;br /&gt;
	[&#039;oszroniony lód&#039;] = 0.5,&lt;br /&gt;
	[&#039;snop siana&#039;] = 0.5,&lt;br /&gt;
	[&#039;ciężka wagowa płytka naciskowa&#039;] = 0.5,&lt;br /&gt;
	[&#039;lód&#039;] = 0.5,&lt;br /&gt;
	[&#039;dźwignia&#039;] = 0.5,&lt;br /&gt;
	[&#039;lekka wagowa płytka naciskowa&#039;] = 0.5,&lt;br /&gt;
	[&#039;blok magmy&#039;] = 0.5,&lt;br /&gt;
	[&#039;błoto&#039;] = 0.5,&lt;br /&gt;
	[&#039;zbity lód&#039;] = 0.5,&lt;br /&gt;
	[&#039;bielica&#039;] = 0.5,&lt;br /&gt;
	[&#039;wypolerowany czernitowy przycisk&#039;] = 0.5,&lt;br /&gt;
	[&#039;wypolerowana czernitowa płytka naciskowa&#039;] = 0.5,&lt;br /&gt;
	[&#039;płytka naciskowa&#039;] = 0.5,&lt;br /&gt;
	[&#039;czerwony piasek&#039;] = 0.5,&lt;br /&gt;
	[&#039;zakorzeniona ziemia&#039;] = 0.5,&lt;br /&gt;
	[&#039;piasek&#039;] = 0.5,&lt;br /&gt;
	[&#039;jajo niuchacza&#039;] = 0.5,&lt;br /&gt;
	[&#039;piasek dusz&#039;] = 0.5,&lt;br /&gt;
	[&#039;gleba dusz&#039;] = 0.5,&lt;br /&gt;
	[&#039;kamienny przycisk&#039;] = 0.5,&lt;br /&gt;
	[&#039;kamienna płytka naciskowa&#039;] = 0.5,&lt;br /&gt;
	[&#039;tarcza strzelecka&#039;] = 0.5,&lt;br /&gt;
	[&#039;terre de pomme&#039;] = 0.5,&lt;br /&gt;
	[&#039;żółwie jajko&#039;] = 0.5,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;kaktus&#039;] = 0.4,&lt;br /&gt;
	[&#039;kwiat refrenusu&#039;] = 0.4,&lt;br /&gt;
	[&#039;łodyga refrenusu&#039;] = 0.4,&lt;br /&gt;
	[&#039;szkarłatne nylium&#039;] = 0.4,&lt;br /&gt;
	[&#039;drabina&#039;] = 0.4,&lt;br /&gt;
	[&#039;netherrack&#039;] = 0.4,&lt;br /&gt;
	[&#039;nylium&#039;] = 0.4,&lt;br /&gt;
	[&#039;spaczone nylium&#039;] = 0.4,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;gniazdo pszczół&#039;] = 0.3,&lt;br /&gt;
	[&#039;frogświatło&#039;] = 0.3,&lt;br /&gt;
	[&#039;szkło&#039;] = 0.3,&lt;br /&gt;
	[&#039;szyba&#039;] = 0.3,&lt;br /&gt;
	[&#039;jasnogłaz&#039;] = 0.3,&lt;br /&gt;
	[&#039;złocista żabia lampa&#039;] = 0.3,&lt;br /&gt;
	[&#039;perłowa żabia lampa&#039;] = 0.3,&lt;br /&gt;
	[&#039;lampa redstone&#039;] = 0.3,&lt;br /&gt;
	[&#039;latarnia morska&#039;] = 0.3,&lt;br /&gt;
	[&#039;przyciemnione szkło&#039;] = 0.3,&lt;br /&gt;
	[&#039;zielenista żabia lampa&#039;] = 0.3,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;sypki śnieg&#039;] = 0.25,&lt;br /&gt;
	[&#039;podejrzany piasek&#039;] = 0.25,&lt;br /&gt;
	[&#039;podejrzany żwir&#039;] = 0.25,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;łóżko&#039;] = 0.2,&lt;br /&gt;
	[&#039;kakao&#039;] = 0.2,&lt;br /&gt;
	[&#039;ziarna kakaowe&#039;] = 0.2,&lt;br /&gt;
	[&#039;dayświatło sensor&#039;] = 0.2,&lt;br /&gt;
	[&#039;detektor światła dziennego&#039;] = 0.2,&lt;br /&gt;
	[&#039;świecący porost&#039;] = 0.2,&lt;br /&gt;
	[&#039;liście&#039;] = 0.2,&lt;br /&gt;
	[&#039;sculk&#039;] = 0.2,&lt;br /&gt;
	[&#039;żyły sculku&#039;] = 0.2,&lt;br /&gt;
	[&#039;blok śniegu&#039;] = 0.2,&lt;br /&gt;
	[&#039;pnącza&#039;] = 0.2,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;wielki spadkoliść&#039;] = 0.1,&lt;br /&gt;
	[&#039;łodyga wielkiego spadkoliścia&#039;] = 0.1,&lt;br /&gt;
	[&#039;świeca&#039;] = 0.1,&lt;br /&gt;
	[&#039;coloczerwona świeca&#039;] = 0.1,&lt;br /&gt;
	[&#039;dywan&#039;] = 0.1,&lt;br /&gt;
	[&#039;blok mchu&#039;] = 0.1,&lt;br /&gt;
	[&#039;blok bladego mchu&#039;] = 0.1,&lt;br /&gt;
	[&#039;warstwa mchu&#039;] = 0.1,&lt;br /&gt;
	[&#039;warstwa bladego mchu&#039;] = 0.1,&lt;br /&gt;
	[&#039;śnieg&#039;] = 0.1,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;powietrze&#039;] = 0,&lt;br /&gt;
	[&#039;czosnek&#039;] = 0,&lt;br /&gt;
	[&#039;azalia&#039;] = 0,&lt;br /&gt;
	[&#039;houstonia błękitna&#039;] = 0,&lt;br /&gt;
	[&#039;burak seed&#039;] = 0,&lt;br /&gt;
	[&#039;buraki&#039;] = 0,&lt;br /&gt;
	[&#039;blok żywicy&#039;] = 0,&lt;br /&gt;
	[&#039;niebieska orchidea&#039;] = 0,&lt;br /&gt;
	[&#039;borowik&#039;] = 0,&lt;br /&gt;
	[&#039;kolumna bąbelków&#039;] = 0,&lt;br /&gt;
	[&#039;krzew&#039;] = 0,&lt;br /&gt;
	[&#039;kwiat kaktusa&#039;] = 0,&lt;br /&gt;
	[&#039;camera&#039;] = 0,&lt;br /&gt;
	[&#039;camera block&#039;] = 0,&lt;br /&gt;
	[&#039;marchewka&#039;] = 0,&lt;br /&gt;
	[&#039;powietrze jaskiniowe&#039;] = 0,&lt;br /&gt;
	[&#039;jaskiniowe pnącza&#039;] = 0,&lt;br /&gt;
	[&#039;jaskiniowe pnącza body&#039;] = 0,&lt;br /&gt;
	[&#039;jaskiniowe pnącza head&#039;] = 0,&lt;br /&gt;
	[&#039;zamknięta okrotka&#039;] = 0,&lt;br /&gt;
	[&#039;komparator&#039;] = 0,&lt;br /&gt;
	[&#039;szkarłatny grzyb&#039;] = 0,&lt;br /&gt;
	[&#039;wyschnięty ghast&#039;] = 0,&lt;br /&gt;
	[&#039;chaber&#039;] = 0,&lt;br /&gt;
	[&#039;mlecz&#039;] = 0,&lt;br /&gt;
	[&#039;uschnięty krzak&#039;] = 0,&lt;br /&gt;
	[&#039;dekorowany garniec&#039;] = 0,&lt;br /&gt;
	[&#039;endowy słupek&#039;] = 0,&lt;br /&gt;
	[&#039;okrotka&#039;] = 0,&lt;br /&gt;
	[&#039;ogień&#039;] = 0,&lt;br /&gt;
	[&#039;krzew świetlików&#039;] = 0,&lt;br /&gt;
	[&#039;nurter&#039;] = 0,&lt;br /&gt;
	[&#039;doniczka&#039;] = 0,&lt;br /&gt;
	[&#039;kwitnąca azalia&#039;] = 0,&lt;br /&gt;
	[&#039;foundatiwł. block&#039;] = 0,&lt;br /&gt;
	[&#039;żabi skrzek&#039;] = 0,&lt;br /&gt;
	[&#039;świecące jagody&#039;] = 0,&lt;br /&gt;
	[&#039;paproć&#039;] = 0,&lt;br /&gt;
	[&#039;duża paproć&#039;] = 0,&lt;br /&gt;
	[&#039;wysoka trawa&#039;] = 0,&lt;br /&gt;
	[&#039;trawa&#039;] = 0,&lt;br /&gt;
	[&#039;niska trawa&#039;] = 0,&lt;br /&gt;
	[&#039;trawa_carried&#039;] = 0,&lt;br /&gt;
	[&#039;zielony shrub&#039;] = 0,&lt;br /&gt;
	[&#039;zwisające korzenie&#039;] = 0,&lt;br /&gt;
	[&#039;blok miodu&#039;] = 0,&lt;br /&gt;
	[&#039;wodorost&#039;] = 0,&lt;br /&gt;
	[&#039;ściółka&#039;] = 0,&lt;br /&gt;
	[&#039;leaves_carried&#039;] = 0,&lt;br /&gt;
	[&#039;bez&#039;] = 0,&lt;br /&gt;
	[&#039;konwalia&#039;] = 0,&lt;br /&gt;
	[&#039;lilia wodna&#039;] = 0,&lt;br /&gt;
	[&#039;zablokowana chest&#039;] = 0,&lt;br /&gt;
	[&#039;siewka namorzynu&#039;] = 0,&lt;br /&gt;
	[&#039;arbuz seed&#039;] = 0,&lt;br /&gt;
	[&#039;łodyga arbuza&#039;] = 0,&lt;br /&gt;
	[&#039;netherowe kiełki&#039;] = 0,&lt;br /&gt;
	[&#039;netherowa brodawka&#039;] = 0,&lt;br /&gt;
	[&#039;otwarta okrotka&#039;] = 0,&lt;br /&gt;
	[&#039;pomarańczowy tulipan&#039;] = 0,&lt;br /&gt;
	[&#039;margaretka&#039;] = 0,&lt;br /&gt;
	[&#039;packed powietrze&#039;] = 0,&lt;br /&gt;
	[&#039;zwisający blady mech&#039;] = 0,&lt;br /&gt;
	[&#039;piwonia&#039;] = 0,&lt;br /&gt;
	[&#039;różowe kwiatki&#039;] = 0,&lt;br /&gt;
	[&#039;różowy tulipan&#039;] = 0,&lt;br /&gt;
	[&#039;dzbanecznik&#039;] = 0,&lt;br /&gt;
	[&#039;plon dzbanecznika&#039;] = 0,&lt;br /&gt;
	[&#039;strąk dzbanecznika&#039;] = 0,&lt;br /&gt;
	[&#039;mak&#039;] = 0,&lt;br /&gt;
	[&#039;łodyga dyni&#039;] = 0,&lt;br /&gt;
	[&#039;muchomor&#039;] = 0,&lt;br /&gt;
	[&#039;czerwony tulipan&#039;] = 0,&lt;br /&gt;
	[&#039;redkamień&#039;] = 0,&lt;br /&gt;
	[&#039;komparator redstone&#039;] = 0,&lt;br /&gt;
	[&#039;sproszkowany redstone&#039;] = 0,&lt;br /&gt;
	[&#039;przekaźnik redstone&#039;] = 0,&lt;br /&gt;
	[&#039;pochodnia redstone&#039;] = 0,&lt;br /&gt;
	[&#039;przewód redstone&#039;] = 0,&lt;br /&gt;
	[&#039;powtarzającyer&#039;] = 0,&lt;br /&gt;
	[&#039;spaczone korzenie&#039;] = 0,&lt;br /&gt;
	[&#039;szkarłatne korzenie&#039;] = 0,&lt;br /&gt;
	[&#039;gruda żywicy&#039;] = 0,&lt;br /&gt;
	[&#039;krzew róży&#039;] = 0,&lt;br /&gt;
	[&#039;rusztowanie&#039;] = 0,&lt;br /&gt;
	[&#039;iskrzyłuda&#039;] = 0,&lt;br /&gt;
	[&#039;trawa morska&#039;] = 0,&lt;br /&gt;
	[&#039;ziarno&#039;] = 0,&lt;br /&gt;
	[&#039;niska sucha trawa&#039;] = 0,&lt;br /&gt;
	[&#039;blok szlamu&#039;] = 0,&lt;br /&gt;
	[&#039;mały spadkoliść&#039;] = 0,&lt;br /&gt;
	[&#039;ogień dusz&#039;] = 0,&lt;br /&gt;
	[&#039;pochodnia dusz&#039;] = 0,&lt;br /&gt;
	[&#039;pylikwiat&#039;] = 0,&lt;br /&gt;
	[&#039;nić&#039;] = 0,&lt;br /&gt;
	[&#039;pustka strukturalna&#039;] = 0,&lt;br /&gt;
	[&#039;trzcina cukrowa&#039;] = 0,&lt;br /&gt;
	[&#039;słonecznik&#039;] = 0,&lt;br /&gt;
	[&#039;słodkie jagody&#039;] = 0,&lt;br /&gt;
	[&#039;wysoka sucha trawa&#039;] = 0,&lt;br /&gt;
	[&#039;wysoka trawa&#039;] = 0,&lt;br /&gt;
	[&#039;tnt&#039;] = 0,&lt;br /&gt;
	[&#039;pochodnia&#039;] = 0,&lt;br /&gt;
	[&#039;pochodnia (burnt-out)&#039;] = 0,&lt;br /&gt;
	[&#039;ognisty kwiat&#039;] = 0,&lt;br /&gt;
	[&#039;ognisty kwiat&#039;] = 0,&lt;br /&gt;
	[&#039;nasiona ognistego kwiatu&#039;] = 0,&lt;br /&gt;
	[&#039;linka&#039;] = 0,&lt;br /&gt;
	[&#039;zaczep na linkę&#039;] = 0,&lt;br /&gt;
	[&#039;tulipan&#039;] = 0,&lt;br /&gt;
	[&#039;spaczone pnącza&#039;] = 0,&lt;br /&gt;
	[&#039;nieznany&#039;] = 0,&lt;br /&gt;
	[&#039;próżniowe powietrze&#039;] = 0,&lt;br /&gt;
	[&#039;spaczony grzyb&#039;] = 0,&lt;br /&gt;
	[&#039;płaczące pnącza&#039;] = 0,&lt;br /&gt;
	[&#039;pszenica&#039;] = 0,&lt;br /&gt;
	[&#039;nasiona pszenicy&#039;] = 0,&lt;br /&gt;
	[&#039;biały tulipan&#039;] = 0,&lt;br /&gt;
	[&#039;polne kwiaty&#039;] = 0,&lt;br /&gt;
	[&#039;witherowa róża&#039;] = 0,&lt;br /&gt;
	&lt;br /&gt;
-- BLOCKS BELOW THIS LINE ARE UNBREAKABLE IN SURVIVAL &amp;amp; ADVENTURE MODE --&lt;br /&gt;
	[&#039;wszystkieow and deny&#039;] = -1,&lt;br /&gt;
	[&#039;wszystkieow&#039;] = -1,&lt;br /&gt;
	[&#039;bariera&#039;] = -1,&lt;br /&gt;
	[&#039;skała macierzysta&#039;] = -1,&lt;br /&gt;
	[&#039;build wszystkieow block&#039;] = -1,&lt;br /&gt;
	[&#039;build diswszystkieow block&#039;] = -1,&lt;br /&gt;
	[&#039;łańcuchowy blok poleceń&#039;] = -1,&lt;br /&gt;
	[&#039;blok poleceń&#039;] = -1,&lt;br /&gt;
	[&#039;brama endu&#039;] = -1,&lt;br /&gt;
	[&#039;brama endu block&#039;] = -1,&lt;br /&gt;
	[&#039;portal do endu&#039;] = -1,&lt;br /&gt;
	[&#039;rama portalu do endu&#039;] = -1,&lt;br /&gt;
	[&#039;portal do endu block&#039;] = -1,&lt;br /&gt;
	[&#039;impulse blok poleceń&#039;] = -1,&lt;br /&gt;
	[&#039;blok konstrukcyjny&#039;] = -1,&lt;br /&gt;
	[&#039;światło&#039;] = -1,&lt;br /&gt;
	[&#039;poruszany blok&#039;] = -1,&lt;br /&gt;
	[&#039;netherowy portal&#039;] = -1,&lt;br /&gt;
	[&#039;powtarzający blok poleceń&#039;] = -1,&lt;br /&gt;
	[&#039;blok struktur&#039;] = -1,&lt;br /&gt;
	[&#039;blok testowy&#039;] = -1,&lt;br /&gt;
	[&#039;blok instancji testowej&#039;] = -1,&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Li%C5%9Bcie&amp;diff=122985</id>
		<title>Liście</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Li%C5%9Bcie&amp;diff=122985"/>
		<updated>2025-07-20T16:57:22Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: /* Otrzymywanie */ szablon wydobowania&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Blok&lt;br /&gt;
|wygląd = Liście.png;Świerkowe liście.png;Brzozowe liście.png;Tropikalne liście.png;Akacjowe liście.png;Liście.png;Liście azalii.png;Kwitnące liście azalii.png;Namorzynowe liście JE2.png;Wiśniowe liście JE2.png;Liście bladego dębu.png&lt;br /&gt;
|wygląd2 = Liście(Fast).png;Świerkowe liście(Fast).png;Brzozowe liście(Fast).png;Tropikalne liście(Fast).png;Akacjowe liście(Fast).png;Liście(Fast).png;Liście azalii(fast).png;Kwitnące liście azalii(fast).png;Namorzynowe liście (szybka grafika) JE2.png;Wiśniowe liście (szybka grafika) JE2.png&lt;br /&gt;
|invwygląd = Dębowe liście&lt;br /&gt;
|invwygląd2 = Świerkowe liście&lt;br /&gt;
|invwygląd3 = Brzozowe liście&lt;br /&gt;
|invwygląd4 = Tropikalne liście&lt;br /&gt;
|invwygląd5 = Akacjowe liście&lt;br /&gt;
|invwygląd6 = Ciemnodębowe liście&lt;br /&gt;
|invwygląd7 = Liście azalii&lt;br /&gt;
|invwygląd8 = Kwitnące liście azalii&lt;br /&gt;
|invwygląd9 = Namorzynowe liście&lt;br /&gt;
|invwygląd10 = Wiśniowe liście&lt;br /&gt;
|invwygląd11 = Liście bladego dębu&lt;br /&gt;
|typ = Roślinny, naturalny, strukturalny&lt;br /&gt;
|fizyka = Nie&lt;br /&gt;
|przezroczystość = Częściowa (zależy od ustawień grafiki)&lt;br /&gt;
|światło = Nie&lt;br /&gt;
|palność = Tak&lt;br /&gt;
|odnawialne = Tak&lt;br /&gt;
|opórtnt = 1&lt;br /&gt;
|narzędzie = Nożyce&lt;br /&gt;
|narzędzie2= Motyka&lt;br /&gt;
|łączenie = Tak, 64&lt;br /&gt;
|wersja = Classic 0.0.14a&lt;br /&gt;
|multipledata = {{dv|18:1|Liście sosny}}&lt;br /&gt;
{{dv|18:2|Liście brzozy}}&lt;br /&gt;
{{dv|18:3|Liście tropikalne}}&lt;br /&gt;
{{dv|18:4|Liście dębu}}&lt;br /&gt;
{{dv|18}}&lt;br /&gt;
{{dv|161:1|Liście Akacji}}&lt;br /&gt;
{{dv|161:2|Liście ciemnego dębu}}&lt;br /&gt;
{{dv|161}}&lt;br /&gt;
|idsłowne=W &#039;&#039;&#039;[[Java Edition]]:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Dąb:&#039;&#039;&#039; oak_leaves&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Brzoza:&#039;&#039;&#039; birch_leaves&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Świerk:&#039;&#039;&#039; spruce_leaves&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tropikalne drzewo:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
jungle_leaves&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Akacja:&#039;&#039;&#039; acacia_leaves&lt;br /&gt;
&#039;&#039;&#039;Ciemny dąb:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
dark_oak_leaves&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
W &#039;&#039;&#039;[[Bedrock Edition]]:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Dąb/Brzoza/Świerk/&amp;lt;br&amp;gt;Drzewa tropikalne&#039;&#039;&#039;&amp;lt;br&amp;gt;leaves&amp;lt;br&amp;gt;&#039;&#039;&#039;Akacjowe/&amp;lt;br&amp;gt;Ciemnodębowe&#039;&#039;&#039;&amp;lt;br&amp;gt;leaves2&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Liście&#039;&#039;&#039; (ang. &#039;&#039;Leaves&#039;&#039;) – strukturalny [[blok]] [[rośliny|roślinny]]. &lt;br /&gt;
[[Plik:LiścieNaAkacji.png|mały|Naturalnie stworzone liście na drzewie akacji]]&lt;br /&gt;
[[Plik:Grafika.gif|thumb|350px|Porównanie wyglądu liści na ustawieniach szybkiej grafiki i dokładnej grafiki]]&lt;br /&gt;
&lt;br /&gt;
== Otrzymywanie ==&lt;br /&gt;
=== Wydobywanie ===&lt;br /&gt;
Najszybciej bloki liści niszczy się [[Motyka|motyką]]. Liście można zdobyć za pomocą [[Nożyce|nożyc]] lub innych [[Narzędzia|narzędzi]] zaklętych na &#039;&#039;[[Zaklinanie#Zaklęcia narzędzi|Jedwabny dotyk]]&#039;&#039;.&lt;br /&gt;
{{Wydobywanie|horyzontalny=1|Liście|Motyka|łupy=0|nożyce=1|miecz=0|twardość=0.2}}&lt;br /&gt;
&lt;br /&gt;
=== Naturalne generowanie ===&lt;br /&gt;
Liście naturalnie generują się tylko na drzewach.&lt;br /&gt;
&lt;br /&gt;
== Zachowanie ==&lt;br /&gt;
Liście wygenerowane naturalnie rozkładają się (znikają) samoczynnie po pewnym czasie gdy nie są połączone z blokiem [[Pień|pnia]]. Liście położone przez [[gracz]]y nigdy się nie rozłożą. Liście są bardzo słabym materiałem, łatwo się spalają, dodatkowo łatwo ulegają zniszczeniu przez [[TNT]]. Na liściach nie da się postawić takich rzeczy jak: [[pochodnia]], [[latarenka]], [[świeczka]], [[grzyb]], [[drabina]] i [[spiczasty naciek]].&lt;br /&gt;
[[Plik:LiścieClassic.PNG|mały|Liście w wersji Classic]]&lt;br /&gt;
&lt;br /&gt;
=== Zachowanie na biomach ===&lt;br /&gt;
Liście mają ubarwienie w zależności od [[biom]]u, na którym się znajdują. Nie wszystkie liście zmieniają kolor gdy są na biomach [[Biom#Biomy_ciepłe|ciepłych]]. Kiedy liście są na biomach ośnieżonych i chłodnych, mają kolor wyblakłej, ciemnej zieleni. Gdy są na biomach ciepłych, mają kolor jasnozielony (z wyjątkiem dżungli, gdzie są soczysto zielone, oraz bagien, gdzie są ciemnozielone). Z kolei w biomach gorących mają kolor bardziej wyblakły, wręcz przechodzący w żółć (oprócz mesy i płaskowyżu, gdzie są niemalże brązowe).&lt;br /&gt;
&lt;br /&gt;
=== Zachowanie w innych ustawieniach grafiki ===&lt;br /&gt;
W trybie &#039;&#039;dokładnym&#039;&#039; (z dokładniejszą grafiką) tekstura liści jest przezroczysta. Jednak tektura liści w trybie &#039;&#039;szybkim&#039;&#039; (mniej wymagającym) jest nieprzezroczysta.&lt;br /&gt;
&lt;br /&gt;
== [[Łupy]] ==&lt;br /&gt;
Rozkładające się liście bądź te, które niszczone są bez użycia nożyc, mają szansę na upuszczenie [[Sadzonka|sadzonek]] (5% szans na upuszczenie ({{Fraction|1|20}})). Wyjątkiem są liście drzewa tropikalnego; w ich przypadku prawdopodobieństwo upuszczenia sadzonki jest dwa razy mniejsze (2,5% ({{Fraction|1|40}})). Możliwe jest również upuszczenie 1–2 patyków z 1 bloku liści. Dodatkowym przedmiotem, który może zostać upuszczony, jest [[jabłko]]; jest ono upuszczane tylko przez liście drzew dębowych (obydwa rodzaje), szansa takiego zdarzenia wynosi 0,5% ({{Fraction|1|200}}). Szanse na upuszczenie powyższych przedmiotów mogą zostać podniesione poprzez użycie narzędzia z zaklęciem &#039;&#039;[[Zaklinanie#Zaklęcia narzędzi|Fortuna]]&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Zastosowanie ==&lt;br /&gt;
=== Przepalanie ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Składniki&lt;br /&gt;
! Wejście → Wyjście&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Dowolne liście&#039;&#039;&#039;&lt;br /&gt;
|{{Grid/Furnace&lt;br /&gt;
|Input=Dębowe liście; Brzozowe liście; Świerkowe liście; Akacjowe liście; Tropikalne liście; Ciemnodębowe liście; Namorzynowe liście; Wiśniowe liście; Bladodębowe liście; Azaliowe liście; Kwitnące liście azalii&lt;br /&gt;
|Output=Ściółka&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Historia ==&lt;br /&gt;
{{Historia|c}}&lt;br /&gt;
{{Historia||0.0.14a|[[Plik:LiścieClassic.PNG|32px]] Dodano liście.&lt;br /&gt;
|Pojawiają się na [[drzewo|drzewach]].}}&lt;br /&gt;
{{Historia||0.0.15a|[[Plik:Liście przed TextureUpdate.png|32px]] Zmieniono teksturę liści (dalej jest jasna).}}&lt;br /&gt;
{{Historia||0.24_06|Liście upuszczają [[sadzonka|sadzonki]].}}&lt;br /&gt;
&lt;br /&gt;
{{Historia|Indev}}&lt;br /&gt;
{{Historia||0.31|snap=20091223-2 (23 grudnia 2009)|Bloki liści tworzą cienie.}}&lt;br /&gt;
{{Historia||20100218 (18 lutego 2010)|Liście ulegają rozkładowi.}}&lt;br /&gt;
&lt;br /&gt;
{{Historia|Infdev}}&lt;br /&gt;
{{Historia||20100227-1 (27 lutego 2010)|Liście nie ulegają rozkładowi.}}&lt;br /&gt;
{{Historia||20100325 (25 marca 2010)|Liście znowu ulegają rozkładowi.}}&lt;br /&gt;
{{Historia||20100413 (13 kwietnia 2010)|Liście nie ulegają rozkładowi z powodu dodania wielkich drzew.}}&lt;br /&gt;
{{Historia||7 czerwca 2010|link=none|Zmieniono teksturę liści na starą.}}&lt;br /&gt;
{{Historia||20100615 (15 czerwca 2010)|Liście ponownie ulegają rozkładowi.}}&lt;br /&gt;
{{Historia||20100616-1 (16 czerwca 2010)|[[Plik:Dębowe liście (szybka grafika) JE1.png|32px]] Liście używają nieprzezroczystej tekstury, kiedy ustawienia grafiki są ustawione na „szybkie”.}}&lt;br /&gt;
&lt;br /&gt;
{{Historia|a}}&lt;br /&gt;
{{Historia||v1.0.6|Liście ponownie nie ulegają rozkładowi.&lt;br /&gt;
|Bloki liści mają {{Fraction|1|20}} szansy na upuszczenie sadzonki zamiast {{Fraction|1|10}}.}}&lt;br /&gt;
{{Historia||v1.0.6_01|Liście rozkładają się, gdy nie są połączone z pniem.}}&lt;br /&gt;
{{Historia||Seecret Friday 9|[[Pochodnia|Pochodnie]] nie mogą być umieszczane na liściach, gdy grafika jest ustawiona na &#039;&#039;dokładną&#039;&#039;.&lt;br /&gt;
|Można je kłaść na liście tylko, gdy grafika jest ustawiona na &#039;&#039;szybką&#039;&#039;.}}&lt;br /&gt;
{{Historia||v1.2.0|snap=preview|[[Plik:Dębowe liście JE3 BE4.png|32px]] Po wprowadzeniu [[biom]]ów liście na każdym biomie mają inny odcień.&lt;br /&gt;
|Liście znowu nie ulegają rozkładowi.}}&lt;br /&gt;
{{Historia||v1.2.1|Kolor cząsteczek powstałych przy niszczeniu liści odzwierciedla biom i nie jest już szary.}}&lt;br /&gt;
{{Historia||v1.2.3|Jeszcze raz liście ulegają rozkładowi.}}&lt;br /&gt;
{{Historia||v1.2.3_01|Wyłączono rozkład liści z powodu nieskończonej pętli w kodzie.}}&lt;br /&gt;
&lt;br /&gt;
{{Historia|b}}&lt;br /&gt;
{{Historia||1.0|Znowu dodano rozkład liści, tym razem z nową mechaniką.}}&lt;br /&gt;
{{Historia||1.1|Kod rozkładu liści został ponownie przepisany.}}&lt;br /&gt;
{{Historia||1.2|[[Plik:Brzozowe liście JE1 BE2.png|32px]] [[Plik:Świerkowe igły JE1 BE2.png|32px]] Dodano liście brzozy i świerku.}}&lt;br /&gt;
{{Historia||1.5|Z liści danego drzewa wypadają inne sadzonki.}}&lt;br /&gt;
{{Historia||1.6|snap=Test Build 3|Wiele niezgodności między właściwościami liści w grafikach „szybkiej” i „dokładnej” zostało naprawione.}}&lt;br /&gt;
{{Historia||1.7|Liście można zbierać za pomocą [[Nożyce|nożyc]].&lt;br /&gt;
|Liście nie pokazują się jako szare w ekwipunku.}}&lt;br /&gt;
{{Historia||1.8|snap=1.8-pre|Liście położone przez gracza lub [[enderman]]a nie rozkładają się jak zwykłe liście.}}&lt;br /&gt;
&lt;br /&gt;
{{Historia|w}}&lt;br /&gt;
{{Historia||1.0.0|snap=Beta 1.9-pre4|Zaklęcie &#039;&#039;Jedwabny dotyk&#039;&#039; może być wykorzystywane do zdobywania bloków liści.}}&lt;br /&gt;
{{Historia|||snap=Beta 1.9-pre6|Zaklęcie &#039;&#039;Jedwabny dotyk&#039;&#039; przechowuje teraz wartości danych zniszczonych liści zamiast zawsze upuszczać sadzonkę dębu.}}&lt;br /&gt;
{{Historia||1.1|snap=11w48a|Dębowe liście mają 0,5% szans na upuszczenie normalnego, czerwonego [[jabłko|jabłka]] po wydobyciu.}}&lt;br /&gt;
{{Historia||1.2.1|snap=12w03a|[[Plik:Tropikalne liście JE1 BE2.png|32px]] Dodano nowy typ liści: tropikalne.&lt;br /&gt;
|Dębowe liście generują się jako liście krzewów dżunglowych.}}&lt;br /&gt;
{{Historia|||snap=12w04a|Dodano możliwość pozyskania tropikalnej [[sadzonka|sadzonki]] z tropikalnych liści.}}&lt;br /&gt;
{{Historia||1.3.1|snap=12w18a|Istnieje 0,5% szansy na uzyskanie [[ziarna kakaowe|ziaren kakaowych]] z tropikalnych liści.}}&lt;br /&gt;
{{Historia|||snap=12w19a|Usunięto możliwość uzyskania kakao z liści tropikalnych.}}&lt;br /&gt;
{{Historia||1.3.1|snap=12w22a|Woda przecieka przez liście podczas opadów deszczu.}}&lt;br /&gt;
{{Historia||1.7.2|snap=13w43a|Dodano akacjowe i ciemnodębowe liście.}}&lt;br /&gt;
{{Historia||1.8|snap=14w25a|Tropikalne liście używają tekstury dębowych liści. Plik z teksturą tropikalnych liści jest nieużywany w tej wersji.&lt;br /&gt;
|Liście wyglądają inaczej z ustawioną „szybką” grafiką.&lt;br /&gt;
|Bloki liści nie mają już różnych tekstur dla szybkiej oraz dokładnej grafiki.}}&lt;br /&gt;
{{Historia|||snap=14w25b|Liście tropikalne znowu używają swojej własnej tekstury.&lt;br /&gt;
|Bloki liści wyglądają inaczej w ustawieniu „szybkiej” grafiki – wszystkie przezroczyste miejsca są zastępowane czarnymi.}}&lt;br /&gt;
{{Historia||1.11|snap=16w39a|Liście generują się w [[Leśna posiadłość|leśnych posiadłościach]].}}&lt;br /&gt;
{{Historia||1.13|snap=18w22a|Naturalnie wygenerowane bloki liści utrzymują się do 6 bloków od bloków [[Pień|pni]] zamiast do 4 bloków od pni.}}&lt;br /&gt;
{{Historia||1.14|snap=18w43a|Liście mają szansę na upuszczanie [[patyk]]ów, gdy są niszczone.&lt;br /&gt;
|Zmieniono tekstury wszystkich bloków liści. Brzozowe, akacjowe oraz ciemnodębowe liście wyraźnie różnią się od dębowych liści.}}&lt;br /&gt;
{{Historia|||snap=18w48a|Dębowe liście mają szansę wygenerować się w niektórych miejscach na równinnych [[wioska]]ch.}}&lt;br /&gt;
{{Historia|||snap=19w03a|Włożenie liści do [[kompostownik]]a ma 10% szans na podniesienie poziomu kompostu o 1.}}&lt;br /&gt;
{{Historia|||snap=19w05a|Liście mają teraz 30% szans na zwiększenie poziomu kompostu w kompostowniku o 1.}}&lt;br /&gt;
{{Historia||1.16|snap=20w15a|Można niszczyć szybko liście za pomocą [[Motyka|motyki]].}}&lt;br /&gt;
{{Historia||3 października 2020|link=https://youtube.com/watch?v=DWZIfsaIgtE&amp;amp;t=1781|Liście azalii i kwitnące liście azalii zostały pokazane jako część bujnych jaskiń na [[Minecraft Live 2020]].}}&lt;br /&gt;
{{Historia||1.17|snap=21w05a|[[Plik:Liście azalii.png|32px]] [[Plik:Kwitnące liście azalii.png|32px]] Dodano liście azalii i kwitnące liście azalii.}}&lt;br /&gt;
{{Historia|||snap=21w10a|Oba rodzaje liści azalii generują się jako część drzew azaliowych nad biomem bujnych jaskiń.}}&lt;br /&gt;
{{Historia|||snap=21w13a|[[Pszczoła|Pszczoły]] traktują kwitnące liście azalii jako źródło pyłku.}}&lt;br /&gt;
{{Historia||16 października 2021|Liście namorzynowe zostały pokazane na [[Minecraft Live 2021]].}}&lt;br /&gt;
{{Historia||1.19|snap=22w11a|[[Plik:Namorzynowe liście JE1.png|32px]] Dodano namorzynowe liście.}}&lt;br /&gt;
{{Historia|||snap=22w12a|Liście oraz namorzynowe korzenie mogą być wypełnione wodą za pomocą wiadra.&lt;br /&gt;
|Liście namorzynowe mogą być kompostowane.&lt;br /&gt;
|Za pomocą motyki można szybciej niszczyć namorzynowe liście.}}&lt;br /&gt;
{{Historia|||snap=22w13a|Ze zniszczonych liści namorzynowych mają szansę wypadać patyki.}}&lt;br /&gt;
{{Historia|||snap=22w14a|Ze względu na dodane drzewa namorzynowe i namorzynowe bagna liście namorzynowe są odnawialne.}}&lt;br /&gt;
{{Historia|||snap=22w15a|[[Plik:Namorzynowe liście JE2.png|32px]] Zmieniono teksturę liści namorzynowych.&lt;br /&gt;
|Liście namorzynowe upuszczają siebie, gdy są zniszczone narzędziem z zaklęciem &#039;&#039;Jedwabny dotyk&#039;&#039;.}}&lt;br /&gt;
{{Historia||1.19.4|snap=23w07a|[[Plik:Wiśniowe liście JE1.png|32px]] Dodano wiśniowe liście.&amp;lt;sup&amp;gt;[&amp;lt;i&amp;gt;dostępne z włączoną paczką danych „Update 1.20”&amp;lt;/i&amp;gt;]&amp;lt;/sup&amp;gt;}} &lt;br /&gt;
{{Historia|||snap=1.19.4-pre1|Pszczoły mogą zapylać wiśniowe liście.&amp;lt;sup&amp;gt;[&amp;lt;i&amp;gt;dostępne z włączoną paczką danych „Update 1.20”&amp;lt;/i&amp;gt;]&amp;lt;/sup&amp;gt;}}&lt;br /&gt;
{{Historia|||snap=1.19.4-pre4|[[Plik:Wiśniowe liście JE2.png|32px]] Zmieniono teksturę wiśniowych liści.&amp;lt;sup&amp;gt;[&amp;lt;i&amp;gt;dostępne z włączoną paczką danych „Update 1.20”&amp;lt;/i&amp;gt;]&amp;lt;/sup&amp;gt;}}&lt;br /&gt;
{{Historia||1.20|snap=23w12a|Wiśniowe liście są dostępne bez potrzeby włączania paczki danych dla aktualizacji 1.20.}}&lt;br /&gt;
{{Historia||1.21.2|snap=24w40a|Dodano liście bladego dębu.&amp;lt;sup&amp;gt;[&amp;lt;i&amp;gt;dostępne z włączoną paczką danych „Winter Drop”&amp;lt;/i&amp;gt;]&amp;lt;/sup}}&lt;br /&gt;
{{Historia||1.21.4|snap=24w44a|Liście bladego dębu emitują cząsteczki spadających liści.}}&lt;br /&gt;
{{Historia||1.21.5|snap=25w02a|Liście można przepalać na [[Ściółka|ściółkę]].&lt;br /&gt;
|Wszystkie typy liści emitują teraz cząsteczki spadających liści.}}&lt;br /&gt;
&lt;br /&gt;
{{Historia|pa}}&lt;br /&gt;
{{Historia||Pre-release|Dodano dębowe, brzozowe i świerkowe liście.}}&lt;br /&gt;
{{Historia||v0.1.0|Dodano nieprzezroczyste modele bloków liści, gdy grafika &amp;lt;b&amp;gt;nie&amp;lt;/b&amp;gt; jest ustawiona na „dokładną”.}}&lt;br /&gt;
{{Historia||v0.2.1 alpha2|Zmieniono tekstury dębowych i brzozowych liści.}}&lt;br /&gt;
{{Historia||v0.3.0|Dębowe liście upuszczają siebie jako przedmiot, kiedy są zniszczone nożycami.&lt;br /&gt;
|Gracze w trybie przetrwania nie zaczynają rozgrywki z nieskończoną ilością liści w ekwipunku.&lt;br /&gt;
|Niszczenie bloków świerkowych oraz brzozowych liści powoduje wypadanie uszkodzonych przedmiotów.}}&lt;br /&gt;
{{Historia||v0.3.2|Zmieniono odcienie bloków liści.&lt;br /&gt;
|Dodano formy przedmiotu dla brzozowych i świerkowych liści. Używają one wyglądu formy przedmiotu dębowych liści.&lt;br /&gt;
|Liście świerku oraz brzozy nie upuszczają już uszkodzonych przedmiotów, gdy są niszczone nożycami.&lt;br /&gt;
|Liście mają małą szansę na upuszczenie odpowiadającej im sadzonki, gdy są niszczone.}}&lt;br /&gt;
{{Historia||v0.4.0|Dębowe liście mają małą szansę na upuszczenie jabłka, kiedy są zniszczone.}}&lt;br /&gt;
{{Historia||v0.8.0|snap=build 1|Liście brzozy mają teraz właściwą konsystencję.&lt;br /&gt;
|Kolor liści został zmieniony.&lt;br /&gt;
|Dodano tropikalne liście. Są dostępne w ekwipunku [[Tryb kreatywny|trybu kreatywnego]].|link=none}}&lt;br /&gt;
{{Historia||v0.8.0|snap=build 5|Poprawiono teksturę tropikalnych liści z grafiką „dokładną”.}}&lt;br /&gt;
{{Historia||v0.9.0|snap=build 1|Dodano liście akacji i ciemnego dębu.&lt;br /&gt;
|Tropikalne liście mogą zostać uzyskane w [[tryb przetrwania|trybie przetrwania]].&lt;br /&gt;
|Tropikalne liście są teraz nieprzezroczyste.&lt;br /&gt;
|Dodano gładkie oświetlenie liści.&lt;br /&gt;
|Liście spowalniają teraz [[pająk]]i.|link=none}}&lt;br /&gt;
{{Historia||v0.12.1|snap=build 1|Liście na ośnieżonych biomach stopniowo pokrywają się lodowym nalotem podczas opadów śniegu.}}&lt;br /&gt;
&lt;br /&gt;
{{Historia|pe}}&lt;br /&gt;
{{Historia||1.1.0|Liście generują się w [[Leśny dwór|leśnych posiadłościach]].|snap=alpha 1.1.0.0}}&lt;br /&gt;
&lt;br /&gt;
{{Historia|Bedrock}}&lt;br /&gt;
{{Historia||1.2.0|snap=beta 1.2.0.22|Tropikalne liście są przezroczyste na droższych urządzeniach, gdy grafika jest ustawiona na „dokładną”.}}&lt;br /&gt;
{{Historia||1.10.0|snap=beta 1.10.0.3|Liście mają małą szansę na upuszczanie [[patyk]]ów, gdy są niszczone.&lt;br /&gt;
|Zmieniono tekstury wszystkich liści.}}&lt;br /&gt;
{{Historia||1.11.0|snap=beta 1.11.0.1|Liście mogą być używane do wypełniania [[kompostownik]]ów.}}&lt;br /&gt;
{{Historia||Caves &amp;amp; Cliffs (experimental)|snap=beta 1.16.220.52|Dodano liście azalii i kwitnącej azalii.}}&lt;br /&gt;
{{Historia||Caves &amp;amp; Cliffs (experimental)|snap=beta 1.16.230.50|[[Pszczoła|Pszczoły]] mogą zapylać liście kwitnącej azalii.}}&lt;br /&gt;
{{Historia||Caves &amp;amp; Cliffs (experimental)|snap=beta 1.17.0.50|Liście azalii oraz liście kwitnącej azalii mają szansę na upuszczenie [[Azalia|azalii]] lub kwitnącej azalii, gdy są zniszczone.}}&lt;br /&gt;
{{Historia||1.17.0|snap=beta 1.17.0.52|Liście azalii mają odpowiedni kolor na mapach.&lt;br /&gt;
|Liście azalii i liście kwitnącej azalii nie są już dostępne tylko w rozgrywce eksperymentalnej.}}&lt;br /&gt;
{{Historia||1.17.10|snap=beta 1.17.10.20|Świerkowe i brzozowe liście są barwione w zależności od biomu, jeśli eksperymentalna rozgrywka aktualizacji Caves &amp;amp; Cliffs jest przełączona na włączoną.}}&lt;br /&gt;
{{Historia||1.17.30|snap=beta 1.17.20.20|Świerkowe i brzozowe liście nie są już barwione w zależności od biomu.}}&lt;br /&gt;
{{Historia||1.19.0|snap=beta 1.19.0.20|Dodano namorzynowe liście.}}&lt;br /&gt;
{{Historia||1.19.20|snap=beta 1.19.20.20|Liście azalii oraz liście kwitnącej azalii mogą być niszczone przez [[dewastator]]ów.}}&lt;br /&gt;
{{Historia||1.19.80|snap=beta 1.19.80.20|Dodano wiśniowe liście w związku z eksperymentalnym przełącznikiem „Next Major Update”.}}&lt;br /&gt;
{{Historia|||snap=beta 1.19.80.21|Zaktualizowano teksturę wiśniowych liści.}}&lt;br /&gt;
{{Historia||1.21.50|snap=Preview 1.21.50.20|Dodano liście bladego dębu.}}&lt;br /&gt;
{{Historia||1.21.60|snap=Preview 1.21.60.25|Wszystkie typy liści emitują teraz cząsteczki spadających liści.}}&lt;br /&gt;
{{Historia||1.21.70|snap=Preview 1.21.70.20|Liście można przepalać na [[Ściółka|ściółkę]].}}&lt;br /&gt;
&lt;br /&gt;
{{Historia|k}}&lt;br /&gt;
{{Historia||xbox=TU1|xbone=CU1|ps=1.00|wiiu=Patch 1|[[Plik:Dębowe liście JE3 BE4.png|32px]] [[Plik:Brzozowe liście JE1 BE2.png|32px]] [[Plik:Świerkowe igły JE1 BE2.png|32px]] Dodano dębowe, brzozowe i świerkowe liście.|link=none}}&lt;br /&gt;
{{Historia||xbox=TU5|xbone=CU1|ps=1.00|wiiu=Patch 1|Bloki liści postawione przez gracza nie ulegają rozkładowi.|link=none}}&lt;br /&gt;
{{Historia||xbox=TU12|xbone=CU1|ps=1.00|wiiu=Patch 1|[[Plik:Tropikalne liście JE1 BE2.png|32px]] Dodano tropikalne liście.|link=none}}&lt;br /&gt;
{{Historia||xbox=TU14|xbone=CU1|ps=1.04|wiiu=Patch 1|Krople wody podczas deszczu przenikają przez liście.|link=none}}&lt;br /&gt;
{{Historia||xbox=none|xbone=none|ps=1.90|wiiu=none|Istnieje szansa, że po zniszczeniu liści wypadną [[Patyk|patyki]].|Zmieniono tekstury liści.}}&lt;br /&gt;
&lt;br /&gt;
{{Historia|New Nintendo 3DS Edition}}&lt;br /&gt;
{{Historia||0.1.0|Dodano liście.}}&lt;br /&gt;
{{Historia|foot}}&lt;br /&gt;
&lt;br /&gt;
== Ciekawostki ==&lt;br /&gt;
*Liście były używane jako okna, zanim zostało wprowadzone [[szkło]].&lt;br /&gt;
*Wielu graczy rozpowszechnia mit mówiący o tym, że liście niszczone przez graczy mają mniejszą szansę na upuszczenie sadzonki niż te, które rozkładają się samoczynnie. Mit ten jest jednak nieprawdą. Zarówno liście niszczone przez graczy, jak i te rozkładające się samoczynnie, mają takie samo prawdopodobieństwo na upuszczenie sadzonki.&amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=XtDQwPn7_wU&amp;lt;/ref&amp;gt;&lt;br /&gt;
*W niektórych przypadkach liście mogą wyrosnąć za jakimś blokiem lub nawet kompletnie go usunąć.&lt;br /&gt;
*Liście nad [[sadzonka|sadzonką]] nie pozbawiają jej światła. Oznacza to, że sadzonka wyrośnie bez żadnych przeszkód.&lt;br /&gt;
*Liście nie blokują dostępu do [[skrzynia|skrzyni]].&lt;br /&gt;
*Na liściach nie można postawić [[pochodnia|pochodni]]. Było to jednak możliwe w wersjach [[Alpha]].&lt;br /&gt;
*Nie ma znaczenia jaki rodzaj liści postawimy obok pnia drzewa, będzie on należał do części drzewa.&lt;br /&gt;
*Liście przesunięte przez [[tłok]]i znikają bez upuszczania przedmiotu.&lt;br /&gt;
&lt;br /&gt;
{{Przypisy}}&lt;br /&gt;
&lt;br /&gt;
{{Bloki}}&lt;br /&gt;
&lt;br /&gt;
[[de:Laub]]&lt;br /&gt;
[[en:Leaves]]&lt;br /&gt;
[[es:Hojas]]&lt;br /&gt;
[[fr:Feuilles]]&lt;br /&gt;
[[it:Foglie]]&lt;br /&gt;
[[ja:葉]]&lt;br /&gt;
[[ko:잎]]&lt;br /&gt;
[[nl:Bladeren]]&lt;br /&gt;
[[pt:Folhas]]&lt;br /&gt;
[[ru:Листва]]&lt;br /&gt;
[[uk:Листя]]&lt;br /&gt;
[[zh:树叶]]&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=U%C5%BCytkownik:MetroKopUA/Test&amp;diff=122984</id>
		<title>Użytkownik:MetroKopUA/Test</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=U%C5%BCytkownik:MetroKopUA/Test&amp;diff=122984"/>
		<updated>2025-07-20T16:53:25Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;{{Wydobywanie|horyzontalny=1|Liście|Motyka|łupy=0|nożyce=1|miecz=0|twardość=0.2}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Wydobywanie|horyzontalny=1|Liście|Motyka|łupy=0|nożyce=1|miecz=0|twardość=0.2}}&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Modu%C5%82:Breaking_row&amp;diff=122983</id>
		<title>Moduł:Breaking row</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Modu%C5%82:Breaking_row&amp;diff=122983"/>
		<updated>2025-07-20T16:52:12Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {}&lt;br /&gt;
local polish = mw.language.new(&#039;pl&#039;)&lt;br /&gt;
&lt;br /&gt;
local breakingTimeHeader;&lt;br /&gt;
local function getBreakingTimeHeader( f )&lt;br /&gt;
	if breakingTimeHeader == nil then&lt;br /&gt;
		breakingTimeHeader = &#039;Czas wydobycia (sekundy)&#039; .. f:preprocess( &#039;&amp;lt;ref group=&amp;quot;FN&amp;quot; name=&amp;quot;breakingtimenote&amp;quot;&amp;gt;Czasy nie biorą pod uwagę [[Zaklinanie|zaklęć]], [[efekt]]ów i innych czynników, jak np. zanurzenie w wodzie.&amp;lt;/ref&amp;gt;&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	return breakingTimeHeader&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function p.row( f )&lt;br /&gt;
	local args = require( [[Moduł:ProcessArgs]] ).norm()&lt;br /&gt;
	&lt;br /&gt;
	local function getDplVar( var )&lt;br /&gt;
		local val = f:callParserFunction( &#039;#dplvar&#039;, &#039;breaking &#039; .. var )&lt;br /&gt;
		if val == &#039;&#039; then&lt;br /&gt;
			val = false&lt;br /&gt;
		end&lt;br /&gt;
		return val&lt;br /&gt;
	end&lt;br /&gt;
	local dplVars = {}&lt;br /&gt;
	local function setDplVar( var, val )&lt;br /&gt;
		table.insert( dplVars, &#039;breaking &#039; .. var )&lt;br /&gt;
		table.insert( dplVars, val or &#039;1&#039; )&lt;br /&gt;
	end&lt;br /&gt;
		&lt;br /&gt;
	local rows = {}&lt;br /&gt;
	local tableParts = {}&lt;br /&gt;
	local categories = {}&lt;br /&gt;
	local showOptions = false&lt;br /&gt;
	&lt;br /&gt;
	local horizontal&lt;br /&gt;
	if args[&#039;horyzontalny&#039;] or args[1]:match( &#039;;&#039; ) then&lt;br /&gt;
		horizontal = true&lt;br /&gt;
	end&lt;br /&gt;
	local showTool = true&lt;br /&gt;
	local showShears = true&lt;br /&gt;
	local showSword = true&lt;br /&gt;
	local header, sortable, simple&lt;br /&gt;
	if horizontal or not getDplVar( &#039;header&#039; ) then&lt;br /&gt;
		if args.hidetool or horizontal and ( not args[2] or args[2]:lower() == &#039;dowolny&#039; or args[2]:lower() == &#039;brak&#039; ) then&lt;br /&gt;
			showTool = false&lt;br /&gt;
			setDplVar( &#039;hidetool&#039; )&lt;br /&gt;
    		breakingTimeHeader = &#039;Czas wydobycia (sekundy)&#039;&lt;br /&gt;
		end&lt;br /&gt;
		if args.hideshears or horizontal and not args[&#039;nożyce&#039;] then&lt;br /&gt;
			showShears = false&lt;br /&gt;
			setDplVar( &#039;hideshears&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		if args.hidesword or horizontal and not args[&#039;miecz&#039;] then&lt;br /&gt;
			showSword = false&lt;br /&gt;
			setDplVar( &#039;hidesword&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		sortable = not horizontal and args.sort&lt;br /&gt;
		if sortable then&lt;br /&gt;
			setDplVar( &#039;sortable&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		simple = args.simple&lt;br /&gt;
		if simple and not horizontal then&lt;br /&gt;
			setDplVar( &#039;simple&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local tableClasses = { &#039;wikitable&#039; }&lt;br /&gt;
		if sortable then&lt;br /&gt;
			table.insert( tableClasses, &#039;sortable&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039; {| class=&amp;quot;&#039; .. table.concat( tableClasses, &#039; &#039; ) .. &#039;&amp;quot; style=&amp;quot;text-align: center; margin: 0;&amp;quot;&#039; )&lt;br /&gt;
		&lt;br /&gt;
		local sortType = &#039;&#039;&lt;br /&gt;
		if sortable then&lt;br /&gt;
			sortType = &#039;data-sort-type=&amp;quot;number&amp;quot;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		local rowspan = &#039;&#039;&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			rowspan = &#039;rowspan=&amp;quot;2&amp;quot; &#039;&lt;br /&gt;
		end&lt;br /&gt;
		header = {&lt;br /&gt;
			&#039;! &#039; .. rowspan .. &#039; | Blok&#039;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		if not simple then&lt;br /&gt;
			table.insert( header, &#039;! &#039; .. rowspan .. sortType .. &#039; | Twardość&#039; )&lt;br /&gt;
			if showTool then&lt;br /&gt;
				table.insert( header, &#039;! &#039; .. rowspan .. &#039; | Narzędzie&#039; )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local toolColumns = {}&lt;br /&gt;
		if showTool then&lt;br /&gt;
			toolColumns = { &#039;Drewniany&#039;, &#039;Kamienny&#039;, &#039;Miedziany&#039;, &#039;Żelazny&#039;, &#039;Diamentowy&#039;, &#039;Netherytowy&#039;, &#039;Złoty&#039;}&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( toolColumns, 1, &#039;Domyślne&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if not simple then&lt;br /&gt;
			if showShears then&lt;br /&gt;
				table.insert( toolColumns, &#039;Nożyce&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if showSword then&lt;br /&gt;
				table.insert( toolColumns, &#039;Miecz&#039; )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			table.insert( header, &#039;! colspan=&amp;quot;&#039; .. #toolColumns .. &#039;&amp;quot; |&#039; .. getBreakingTimeHeader( f ) )&lt;br /&gt;
			table.insert( header, &#039;|-&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local toolSprites = {&lt;br /&gt;
			[&#039;Drewniany&#039;] = { &#039;Block&#039;, &#039;dębowe-deski&#039; },&lt;br /&gt;
			[&#039;Kamienny&#039;] = { &#039;Block&#039;, &#039;bruk&#039; },&lt;br /&gt;
			[&#039;Miedziany&#039;] = { &#039;Item&#039;, &#039;sztabka-miedzi&#039; },&lt;br /&gt;
			[&#039;Żelazny&#039;] = { &#039;Item&#039;, &#039;sztabka-żelaza&#039; },&lt;br /&gt;
			[&#039;Diamentowy&#039;] = { &#039;Item&#039;, &#039;diament&#039; },&lt;br /&gt;
			[&#039;Netherytowy&#039;] = { &#039;Item&#039;, &#039;sztabka-netherytu&#039; },&lt;br /&gt;
			[&#039;Złoty&#039;] = { &#039;Item&#039;, &#039;sztabka-złota&#039; },&lt;br /&gt;
			[&#039;Nożyce&#039;] = { &#039;Item&#039;, &#039;nożyce&#039; },&lt;br /&gt;
			[&#039;Miecz&#039;] = { &#039;Item&#039;, &#039;drewniany-miecz&#039; }&lt;br /&gt;
		}&lt;br /&gt;
		for _, tool in ipairs( toolColumns ) do&lt;br /&gt;
			if toolSprites[tool] then&lt;br /&gt;
				local image = f:expandTemplate({title = toolSprites[tool][1]..&#039;Sprite&#039;, args = {[&#039;1&#039;]=toolSprites[tool][2]}}).. &#039; &#039; .. tool&lt;br /&gt;
				table.insert( header, &#039;! style=&amp;quot;text-align:left&amp;quot; &#039; .. sortType .. &#039; | &#039; .. image )&lt;br /&gt;
				table.insert( categories, spriteCat )&lt;br /&gt;
			else&lt;br /&gt;
				table.insert( header, &#039;! &#039; .. sortType .. &#039; | &#039; .. tool )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			header = table.concat( header, &#039;\n&#039; )&lt;br /&gt;
			setDplVar( &#039;header&#039;, header )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( tableParts, header )&lt;br /&gt;
	else&lt;br /&gt;
		showTool = not getDplVar( &#039;hidetool&#039; )&lt;br /&gt;
		showShears = not getDplVar( &#039;hideshears&#039; )&lt;br /&gt;
		showSword = not getDplVar( &#039;hidesword&#039; )&lt;br /&gt;
		sortable = getDplVar( &#039;sortable&#039; )&lt;br /&gt;
		simple = getDplVar( &#039;simple&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local hardness = args[&#039;twardość&#039;]&lt;br /&gt;
	&lt;br /&gt;
	local function fillCells( cellsTable, text, num )&lt;br /&gt;
		for i = 1, num do&lt;br /&gt;
			table.insert( cellsTable, text )&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local materialGrade = {&lt;br /&gt;
		Any = 0,&lt;br /&gt;
		Wooden = 1, Wood = 1,&lt;br /&gt;
		Golden = 1,&lt;br /&gt;
		Stone = 2,&lt;br /&gt;
		Copper = 2,&lt;br /&gt;
		Iron = 3,&lt;br /&gt;
		Diamond = 4,&lt;br /&gt;
        Netherite = 5,&lt;br /&gt;
		None = 6,&lt;br /&gt;
		[&#039;Dowolny&#039;] = 0,&lt;br /&gt;
		[&#039;Drewniany&#039;] = 1, [&#039;Drewniana&#039;] = 1,&lt;br /&gt;
		[&#039;Złoty&#039;] = 1, [&#039;Złota&#039;] = 1,&lt;br /&gt;
		[&#039;Kamienny&#039;] = 2, [&#039;Kamienna&#039;] = 2,&lt;br /&gt;
		[&#039;Miedziany&#039;] = 2, [&#039;Miedziana&#039;] = 2,&lt;br /&gt;
		[&#039;Żelazny&#039;] = 3, [&#039;Żelazna&#039;] = 3,&lt;br /&gt;
		[&#039;Diamentowy&#039;] = 4, [&#039;Diamentowa&#039;] = 4,&lt;br /&gt;
        [&#039;Netherytowy&#039;] = 5, [&#039;Netherytowa&#039;] = 5,&lt;br /&gt;
		[&#039;Brak&#039;] = 6&lt;br /&gt;
	}&lt;br /&gt;
	local materialSpeed = {&lt;br /&gt;
		None = 1,&lt;br /&gt;
		Any = 1,&lt;br /&gt;
		Wooden = 2, Wood = 2,&lt;br /&gt;
		Stone = 4,&lt;br /&gt;
		Copper = 5,&lt;br /&gt;
		Iron = 6,&lt;br /&gt;
		Diamond = 8,&lt;br /&gt;
        Netherite = 9,&lt;br /&gt;
		Golden = 12,&lt;br /&gt;
		[&#039;Dowolny&#039;] = 1,&lt;br /&gt;
		[&#039;Drewniany&#039;] = 2, [&#039;Drewnianf&#039;] = 2,&lt;br /&gt;
		[&#039;Złoty&#039;] = 12, [&#039;Złota&#039;] = 12,&lt;br /&gt;
		[&#039;Kamienny&#039;] = 4, [&#039;Kamienna&#039;] = 4,&lt;br /&gt;
		[&#039;Miedziany&#039;] = 5, [&#039;Miedziana&#039;] = 5,&lt;br /&gt;
		[&#039;Żelazny&#039;] = 6, [&#039;Żelazna&#039;] = 6,&lt;br /&gt;
		[&#039;Diamentowy&#039;] = 8, [&#039;Diamentowa&#039;] = 8,&lt;br /&gt;
        [&#039;Netherytowy&#039;] = 9, [&#039;Netherytowa&#039;] = 9,&lt;br /&gt;
		[&#039;Brak&#039;] = 1&lt;br /&gt;
	}&lt;br /&gt;
	local numberMaterials = 6&lt;br /&gt;
	&lt;br /&gt;
	local function insertBlock( blockArgs )&lt;br /&gt;
		local cells = {}&lt;br /&gt;
		local blocks = mw.text.split( blockArgs[1], &#039;%s*,%s*&#039; )&lt;br /&gt;
		local hardnessVal = hardness&lt;br /&gt;
		if not hardnessVal then&lt;br /&gt;
			hardnessVal = &#039;?&#039;&lt;br /&gt;
			local title = mw.title.getCurrentTitle()&lt;br /&gt;
			if title.namespace == 0 and not title.isSubpage then&lt;br /&gt;
				table.insert(categories, &#039;[[Category:Missing hardness]]&#039;)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		local unbreakable&lt;br /&gt;
		if hardnessVal == -1 or blockArgs.liquid then&lt;br /&gt;
			unbreakable = true&lt;br /&gt;
		elseif hardnessVal ~= 0 then&lt;br /&gt;
			showOptions = true&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local blockSprites = {}&lt;br /&gt;
		local links = mw.text.split( blockArgs.link or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		local ids = mw.text.split( blockArgs.sprite or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		local items = mw.text.split( blockArgs.item or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		for i, block in ipairs( blocks ) do&lt;br /&gt;
			local link&lt;br /&gt;
			if not links[i] and links[1] ~= &#039;&#039; then&lt;br /&gt;
				link = links[1]&lt;br /&gt;
			elseif links[i] ~= &#039;&#039; then&lt;br /&gt;
				link = links[i]&lt;br /&gt;
			end&lt;br /&gt;
			local id&lt;br /&gt;
			if not ids[i] and ids[1] ~= &#039;&#039; then&lt;br /&gt;
				id = ids[1]&lt;br /&gt;
			elseif ids[i] ~= &#039;&#039; then&lt;br /&gt;
				id = ids[i]&lt;br /&gt;
			end&lt;br /&gt;
			local blockText&lt;br /&gt;
			if args.textTrim then&lt;br /&gt;
				blockText = block:gsub( args.textTrim .. &#039;$&#039;, &#039;&#039; )&lt;br /&gt;
			else&lt;br /&gt;
				blockText = block&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			local image = f:expandTemplate({title=&#039;BlockLink&#039;, args = {[&#039;1&#039;]=block,text=blockText,link=link,id=id}})&lt;br /&gt;
			table.insert( blockSprites, image )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( cells,&lt;br /&gt;
			&#039;!&#039; .. (horizontal and &#039;&#039; or &#039; style=&amp;quot;text-align:left&amp;quot; | &#039;) .. table.concat( blockSprites, &#039;&amp;lt;br&amp;gt;&#039; ) .. ( blockArgs.note or &#039;&#039; )&lt;br /&gt;
		)&lt;br /&gt;
		&lt;br /&gt;
		local tool = mw.text.trim( simple and &#039;Narzędzie&#039; or blockArgs[2] or &#039;Dowolny&#039; ):gsub( &#039;^%l&#039;, string.upper )&lt;br /&gt;
		local material = mw.text.trim( simple and blockArgs[2] or blockArgs[3] or &#039;Dowolny&#039; ):gsub( &#039;^%l&#039;, string.upper )&lt;br /&gt;
		if tool == &#039;Brak&#039; then&lt;br /&gt;
			material = tool&lt;br /&gt;
		end&lt;br /&gt;
		if not simple then&lt;br /&gt;
			local hardnessText = hardnessVal&lt;br /&gt;
			if hardnessVal == -1 then&lt;br /&gt;
				hardnessText = ( sortable and &#039;data-sort-value=&amp;quot;9999&amp;quot; | &#039; or &#039;&#039; ) .. &amp;quot;&amp;amp;#45;1 (infinite)&amp;quot;&lt;br /&gt;
			end&lt;br /&gt;
			table.insert( cells, &#039;|&#039; .. hardnessText )&lt;br /&gt;
			&lt;br /&gt;
			if showTool then&lt;br /&gt;
				local toolCell = &#039;—&#039;&lt;br /&gt;
				if tool ~= &#039;Dowolny&#039; and tool ~= &#039;Brak&#039; then&lt;br /&gt;
					if material == &#039;Wood&#039; then&lt;br /&gt;
						material = &#039;Wooden&#039;&lt;br /&gt;
					end&lt;br /&gt;
					local isMaterialSpecified = (material ~= &#039;Dowolny&#039;) and (material ~= &#039;Brak&#039;)&lt;br /&gt;
					local toolName = polish:lc(( isMaterialSpecified and material .. &#039;-&#039; or &#039;&#039; ) .. tool)&lt;br /&gt;
					local toolSpriteName = ( (isMaterialSpecified) and &#039;&#039; or &#039;&#039; ) .. toolName&lt;br /&gt;
					local image = f:expandTemplate({title=&#039;ItemSprite&#039;, args = {[&#039;1&#039;]=toolSpriteName,title=toolName,link=tool,keepcase = not isMaterialSpecified}})&lt;br /&gt;
					&lt;br /&gt;
					toolCell = ( sortable and &#039;data-sort-value=&amp;quot;&#039; .. toolName .. &#039;&amp;quot; |&#039; or &#039;&#039; ) .. image&lt;br /&gt;
					table.insert( categories, spriteCat )&lt;br /&gt;
				end&lt;br /&gt;
				table.insert( cells, &#039;|&#039; .. toolCell )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local choices = {}&lt;br /&gt;
		local function getChoice( choice, text )&lt;br /&gt;
			if not choices[choice] then&lt;br /&gt;
				choices[choice] = f:expandTemplate{ title = &#039;Tc&#039;, args = { choice, &#039;&#039; } }&lt;br /&gt;
			end&lt;br /&gt;
			return choices[choice] .. text&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local function processTime( actualHardness, baseSpeed, tool )&lt;br /&gt;
			-- the number passed in has been multiplied by 100&lt;br /&gt;
			local num = actualHardness / baseSpeed&lt;br /&gt;
			if num &amp;lt;= 5 then	   -- Blocks with a breaking time &amp;lt;= 1 game tick (0.05 seconds) are instant mined (no delay after each block broken)&lt;br /&gt;
				num = &amp;quot;&#039;&#039;0.05&#039;&#039;&amp;quot;    -- Blocks have a minimum breaking time of 1 game tick&lt;br /&gt;
			else					-- And they must be broken in multiples of 1 game tick&lt;br /&gt;
				num = math.ceil( num / 5 ) / 20&lt;br /&gt;
			end&lt;br /&gt;
			return num&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if hardnessVal == &#039;?&#039; then&lt;br /&gt;
			fillCells( cells, &#039;|?&#039;, numberMaterials + 1 )&lt;br /&gt;
		else&lt;br /&gt;
			if unbreakable then&lt;br /&gt;
				table.insert( cells, &#039;| &#039; .. ( sortable and &#039;data-sort-value=&amp;quot;9999&amp;quot; &#039; or &#039;&#039; ) .. getChoice( &#039;nie&#039;, &#039;∞&#039; ) )&lt;br /&gt;
				if showTool then&lt;br /&gt;
					fillCells( cells, &#039;|—&#039;, numberMaterials )&lt;br /&gt;
				end&lt;br /&gt;
			else&lt;br /&gt;
				local drop = &#039;tak&#039;&lt;br /&gt;
				local forceDrop = false&lt;br /&gt;
				if blockArgs[&#039;łupy&#039;] == &#039;0&#039; then&lt;br /&gt;
					drop = &#039;częściowo&#039;&lt;br /&gt;
				elseif blockArgs[&#039;łupy&#039;] == &#039;1&#039; then&lt;br /&gt;
					forceDrop = &#039;tak&#039;&lt;br /&gt;
				end&lt;br /&gt;
				mw.log(material)&lt;br /&gt;
				local requiredLevel = unbreakable and 999 or materialGrade[material]&lt;br /&gt;
				local function insertMaterialCell( material )&lt;br /&gt;
					local shouldDrop = drop&lt;br /&gt;
					if materialGrade[material] &amp;lt; requiredLevel then&lt;br /&gt;
						shouldDrop = &#039;nie&#039;&lt;br /&gt;
					end&lt;br /&gt;
					-- prevent float number precision loss, multiply by 100 and divide it in processTime function&lt;br /&gt;
					local breakTime = processTime( hardnessVal * (shouldDrop == &#039;nie&#039; and 500 or 150), materialSpeed[material], material )&lt;br /&gt;
					table.insert( cells, &#039;|&#039; .. getChoice( forceDrop or shouldDrop, breakTime ) )&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				if not showTool or tool == &#039;Any&#039; or tool == &#039;None&#039; then&lt;br /&gt;
					insertMaterialCell( &#039;Any&#039; )&lt;br /&gt;
					if showTool then&lt;br /&gt;
						fillCells( cells, &#039;|—&#039;, numberMaterials )&lt;br /&gt;
					end&lt;br /&gt;
				else&lt;br /&gt;
					for _, material in ipairs{ &#039;Any&#039;, &#039;Wooden&#039;, &#039;Stone&#039;, &#039;Copper&#039;, &#039;Iron&#039;, &#039;Diamond&#039;, &#039;Netherite&#039;, &#039;Golden&#039; } do&lt;br /&gt;
						insertMaterialCell( material )&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not simple and ( showShears or showSword ) then&lt;br /&gt;
			local tools = {}&lt;br /&gt;
			if showShears then&lt;br /&gt;
				table.insert( tools, &#039;Nożyce&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if showSword then&lt;br /&gt;
				table.insert( tools, &#039;Miecz&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if hardnessVal == &#039;?&#039; then&lt;br /&gt;
				fillCells( cells, &#039;|?&#039;, #tools )&lt;br /&gt;
			else&lt;br /&gt;
				local toolSpeed = {&lt;br /&gt;
					[&#039;Nożyce&#039;] = 1,&lt;br /&gt;
					[&#039;Miecz&#039;] = 1.5&lt;br /&gt;
				}&lt;br /&gt;
				if blocks[1] == &#039;Wełna&#039; then&lt;br /&gt;
					toolSpeed[&#039;Nożyce&#039;] = 5&lt;br /&gt;
				elseif blocks[1] == &#039;Liście&#039; then&lt;br /&gt;
					toolSpeed[&#039;Nożyce&#039;] = 15&lt;br /&gt;
				elseif blocks[1] == &#039;Pajęczyna&#039; then&lt;br /&gt;
					toolSpeed[&#039;Miecz&#039;] = 15&lt;br /&gt;
					toolSpeed[&#039;Nożyce&#039;] = 15&lt;br /&gt;
				elseif blocks[1] == &#039;Bambus&#039; or blocks[1] == &#039;Pęd bambusu&#039; then&lt;br /&gt;
					toolSpeed[&#039;Miecz&#039;] = 5000&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				for _, tool in ipairs( tools ) do&lt;br /&gt;
					local toolDrop = blockArgs[mw.ustring.lower( tool )]&lt;br /&gt;
					if not toolDrop then&lt;br /&gt;
						table.insert( cells, &#039;|—&#039; )&lt;br /&gt;
					else&lt;br /&gt;
						local willDrop = &#039;tak&#039;&lt;br /&gt;
						if toolDrop == &#039;0&#039; then&lt;br /&gt;
							willDrop = &#039;częściowo&#039;&lt;br /&gt;
						end&lt;br /&gt;
						-- prevent float number precision loss, multiply by 100 and divide it in processTime function&lt;br /&gt;
						local breakTime = processTime( hardnessVal * 150, toolSpeed[tool], tool )&lt;br /&gt;
						table.insert( cells, &#039;|&#039; .. getChoice( willDrop, breakTime ) )&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			cells = table.concat( cells, &#039;\n&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( tableParts, cells )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if horizontal then&lt;br /&gt;
		local blocksArgs = {}&lt;br /&gt;
		for _, arg in ipairs{ 1, &#039;note&#039;, &#039;sprite&#039;, &#039;link&#039;, &#039;item&#039;, &#039;łupy&#039;, 2, 3, &#039;nożyce&#039;, &#039;miecz&#039; } do&lt;br /&gt;
			if args[arg] then&lt;br /&gt;
				local col = 0&lt;br /&gt;
				for colVal in mw.text.gsplit( args[arg], &#039;%s*;%s*&#039; ) do&lt;br /&gt;
					col = col + 1&lt;br /&gt;
					if colVal ~= &#039;&#039; then&lt;br /&gt;
						if not blocksArgs[col] then&lt;br /&gt;
							blocksArgs[col] = {}&lt;br /&gt;
						end&lt;br /&gt;
						&lt;br /&gt;
						blocksArgs[col][arg] = colVal&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		for _, block in ipairs( blocksArgs ) do&lt;br /&gt;
			insertBlock( block )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local columns = #tableParts&lt;br /&gt;
		for row = 1, #tableParts[1] do&lt;br /&gt;
			local cells = {}&lt;br /&gt;
			for col = 1, columns do&lt;br /&gt;
				table.insert( cells, tableParts[col][row] )&lt;br /&gt;
			end&lt;br /&gt;
			table.insert( rows, table.concat( cells, &#039;\n&#039; ) )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- Insert breaking time header after block row when simple, or after tool or hardness row when not&lt;br /&gt;
		table.insert( rows, simple and 3 or showTool and 5 or 4, &#039;! colspan=&amp;quot;&#039; .. columns + 1 .. &#039;&amp;quot; |&#039; .. getBreakingTimeHeader( f ) )&lt;br /&gt;
	else&lt;br /&gt;
		insertBlock( args )&lt;br /&gt;
		for _, row in ipairs( tableParts ) do&lt;br /&gt;
			table.insert( rows, row )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039;&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local note = &#039;&#039;&lt;br /&gt;
	if args.foot or horizontal then&lt;br /&gt;
		note = f:preprocess( &#039;&amp;lt;references group=&amp;quot;FN&amp;quot;/&amp;gt;&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if args.foot == &#039;2&#039; then&lt;br /&gt;
			table.insert( rows, header or getDplVar( &#039;header&#039; ) )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039;|}&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			f:callParserFunction( &#039;#dplvar:set&#039;,&lt;br /&gt;
				&#039;breaking header&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hidetool&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hideshears&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hidesword&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking simple&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking sortable&#039;, &#039;&#039;&lt;br /&gt;
			)&lt;br /&gt;
		end&lt;br /&gt;
	elseif #dplVars &amp;gt; 0 then&lt;br /&gt;
		f:callParserFunction( &#039;#dplvar:set&#039;, dplVars )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local result = table.concat( rows, &#039;\n|-\n&#039; )&lt;br /&gt;
	return result .. note .. table.concat( categories )&lt;br /&gt;
end&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=U%C5%BCytkownik:MetroKopUA/Test&amp;diff=122982</id>
		<title>Użytkownik:MetroKopUA/Test</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=U%C5%BCytkownik:MetroKopUA/Test&amp;diff=122982"/>
		<updated>2025-07-20T16:49:25Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Wydobywanie|horyzontalny=1|Liście|Motyka|łupy=0|nożyce=1|miecz=0|twardość=0.2}}&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=U%C5%BCytkownik:MetroKopUA/Test&amp;diff=122981</id>
		<title>Użytkownik:MetroKopUA/Test</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=U%C5%BCytkownik:MetroKopUA/Test&amp;diff=122981"/>
		<updated>2025-07-20T16:35:54Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Wydobywanie|horyzontalny=1|Liście|Motyka|łupy=0|nożyce=1|miecz=0}}&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Java_Edition_1.21.8&amp;diff=122963</id>
		<title>Java Edition 1.21.8</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Java_Edition_1.21.8&amp;diff=122963"/>
		<updated>2025-07-20T03:43:38Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Wersja komputera&lt;br /&gt;
|wygląd=banner_1_21_8.png&lt;br /&gt;
|rozmiar1=240px&lt;br /&gt;
|nazwa = 1.21.8&lt;br /&gt;
|data wydania = 17 lipca 2025&lt;br /&gt;
|snapshoty=[[1.21.8 Release Candidate 1]]}}&lt;br /&gt;
&lt;br /&gt;
1.21.8&amp;amp;nbsp;— mała aktualizacja dla [[Java Edition]], która poprawia różne graficzne defekty i zamrożenia na pewnych urządzeniach graficznych. Została wydana 17 lipca 2025 roku.&lt;br /&gt;
&lt;br /&gt;
== Poprawki ==&lt;br /&gt;
8 błędów oznaczono jako &amp;quot;naprawione&amp;quot;:&lt;br /&gt;
* Z 1.21.5&lt;br /&gt;
** {{bug|295947}}&amp;amp;nbsp;— Ekran gry zamraża się po pewnym czasie na pewnych zintegrowanych układach graficznych Intel.&lt;br /&gt;
** {{bug|296107}}&amp;amp;nbsp;— Byty i bloki-byty się wizualnie uszkodzone po pewnym czasie na pewnych zintegrowanych układach graficznych Intel.&lt;br /&gt;
** {{bug|296585}}&amp;amp;nbsp;— Migotanie i inne uszkodzenia grafiki pojawiają się po przyzwaniu jednej lub wielu byt &amp;lt;code&amp;gt;text_display&amp;lt;/code&amp;gt; na pewnych zintegrowanych układach graficznych Intel.&lt;br /&gt;
** {{bug|296908}}&amp;amp;nbsp;— Atlasy tekstu i tekstur stają się wizualnie uszkodzone po pewnym czasie na pewnych zintegrowanych układach graficznych Intel.&lt;br /&gt;
* Z 1.21.6&lt;br /&gt;
** {{bug|297784}}&amp;amp;nbsp;— Byty są niepoprawnie zacienione po pewnym czasie na układach graficznych Intel Gen11.&lt;br /&gt;
** {{bug|298903}}&amp;amp;nbsp;— Przedmioty w inwentarzu mogą zmienić się w stały kolor, a następnie zniknąć, a tekst może być renderowany w kolorze, podczas gdy na pewnych zintegrowanych układach graficznych Intel.&lt;br /&gt;
** {{bug|298908}}&amp;amp;nbsp;— Przedmioty w inwentarzu są podświetlane jakby z przeciwnego kierunku na pewnych zintegrowanych układach graficznych Intel.&lt;br /&gt;
** {{bug|299144}}&amp;amp;nbsp;— Awaria karty graficznej AMD podczas ładowania pakietu zasobów z nieprawidłowym shaderem.&lt;br /&gt;
&lt;br /&gt;
== Ciekawostki ==&lt;br /&gt;
*To jest pierwsza aktualizacja &#039;&#039;Java Edition&#039;&#039; 1.x.8 po [[Java Edition 1.8.8|1.8.8]].&lt;br /&gt;
**1.21.8 został wydany dokładnie miesiąc po 1.21.6.&lt;br /&gt;
&lt;br /&gt;
{{Wersje Java|Pełna wersja}}&lt;br /&gt;
&lt;br /&gt;
[[de:1.21.8]]&lt;br /&gt;
[[en:Java Edition 1.21.8]]&lt;br /&gt;
[[fr:Édition Java 1.21.8]]&lt;br /&gt;
[[ja:Java Edition 1.21.8]]&lt;br /&gt;
[[lzh:爪哇版一點二一點八]]&lt;br /&gt;
[[pt:Edição Java 1.21.8]]&lt;br /&gt;
[[ru:1.21.8 (Java Edition)]]&lt;br /&gt;
[[uk:1.21.8 (Java Edition)]]&lt;br /&gt;
[[zh:Java版1.21.8]]&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Java_Edition_1.21.8&amp;diff=122962</id>
		<title>Java Edition 1.21.8</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Java_Edition_1.21.8&amp;diff=122962"/>
		<updated>2025-07-20T03:43:00Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: /* Ciekawostki */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Wersja komputera&lt;br /&gt;
|wygląd=banner_1_21_8.png&lt;br /&gt;
|rozmiar1=240px&lt;br /&gt;
|nazwa = 1.21.8&lt;br /&gt;
|data wydania = 17 lipca 2025&lt;br /&gt;
|snapshoty=[[1.21.8 Release Candidate 1]]}}&lt;br /&gt;
&lt;br /&gt;
1.21.8&amp;amp;nbsp;— mała aktualizacja dla [[Java Edition]], która poprawia różne graficzne defekty i zamrożenia na pewnych urządzeniach graficznych. Została wydana 17 lipca 2025 rok.&lt;br /&gt;
&lt;br /&gt;
== Poprawki ==&lt;br /&gt;
8 błędów oznaczono jako &amp;quot;naprawione&amp;quot;:&lt;br /&gt;
* Z 1.21.5&lt;br /&gt;
** {{bug|295947}}&amp;amp;nbsp;— Ekran gry zamraża się po pewnym czasie na pewnych zintegrowanych układach graficznych Intel.&lt;br /&gt;
** {{bug|296107}}&amp;amp;nbsp;— Byty i bloki-byty się wizualnie uszkodzone po pewnym czasie na pewnych zintegrowanych układach graficznych Intel.&lt;br /&gt;
** {{bug|296585}}&amp;amp;nbsp;— Migotanie i inne uszkodzenia grafiki pojawiają się po przyzwaniu jednej lub wielu byt &amp;lt;code&amp;gt;text_display&amp;lt;/code&amp;gt; na pewnych zintegrowanych układach graficznych Intel.&lt;br /&gt;
** {{bug|296908}}&amp;amp;nbsp;— Atlasy tekstu i tekstur stają się wizualnie uszkodzone po pewnym czasie na pewnych zintegrowanych układach graficznych Intel.&lt;br /&gt;
* Z 1.21.6&lt;br /&gt;
** {{bug|297784}}&amp;amp;nbsp;— Byty są niepoprawnie zacienione po pewnym czasie na układach graficznych Intel Gen11.&lt;br /&gt;
** {{bug|298903}}&amp;amp;nbsp;— Przedmioty w inwentarzu mogą zmienić się w stały kolor, a następnie zniknąć, a tekst może być renderowany w kolorze, podczas gdy na pewnych zintegrowanych układach graficznych Intel.&lt;br /&gt;
** {{bug|298908}}&amp;amp;nbsp;— Przedmioty w inwentarzu są podświetlane jakby z przeciwnego kierunku na pewnych zintegrowanych układach graficznych Intel.&lt;br /&gt;
** {{bug|299144}}&amp;amp;nbsp;— Awaria karty graficznej AMD podczas ładowania pakietu zasobów z nieprawidłowym shaderem.&lt;br /&gt;
&lt;br /&gt;
== Ciekawostki ==&lt;br /&gt;
*To jest pierwsza aktualizacja &#039;&#039;Java Edition&#039;&#039; 1.x.8 po [[Java Edition 1.8.8|1.8.8]].&lt;br /&gt;
**1.21.8 został wydany dokładnie miesiąc po 1.21.6.&lt;br /&gt;
&lt;br /&gt;
{{Wersje Java|Pełna wersja}}&lt;br /&gt;
&lt;br /&gt;
[[de:1.21.8]]&lt;br /&gt;
[[en:Java Edition 1.21.8]]&lt;br /&gt;
[[fr:Édition Java 1.21.8]]&lt;br /&gt;
[[ja:Java Edition 1.21.8]]&lt;br /&gt;
[[lzh:爪哇版一點二一點八]]&lt;br /&gt;
[[pt:Edição Java 1.21.8]]&lt;br /&gt;
[[ru:1.21.8 (Java Edition)]]&lt;br /&gt;
[[uk:1.21.8 (Java Edition)]]&lt;br /&gt;
[[zh:Java版1.21.8]]&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Java_Edition_1.21.8&amp;diff=122961</id>
		<title>Java Edition 1.21.8</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Java_Edition_1.21.8&amp;diff=122961"/>
		<updated>2025-07-20T03:42:35Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: /* Poprawki */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Wersja komputera&lt;br /&gt;
|wygląd=banner_1_21_8.png&lt;br /&gt;
|rozmiar1=240px&lt;br /&gt;
|nazwa = 1.21.8&lt;br /&gt;
|data wydania = 17 lipca 2025&lt;br /&gt;
|snapshoty=[[1.21.8 Release Candidate 1]]}}&lt;br /&gt;
&lt;br /&gt;
1.21.8&amp;amp;nbsp;— mała aktualizacja dla [[Java Edition]], która poprawia różne graficzne defekty i zamrożenia na pewnych urządzeniach graficznych. Została wydana 17 lipca 2025 rok.&lt;br /&gt;
&lt;br /&gt;
== Poprawki ==&lt;br /&gt;
8 błędów oznaczono jako &amp;quot;naprawione&amp;quot;:&lt;br /&gt;
* Z 1.21.5&lt;br /&gt;
** {{bug|295947}}&amp;amp;nbsp;— Ekran gry zamraża się po pewnym czasie na pewnych zintegrowanych układach graficznych Intel.&lt;br /&gt;
** {{bug|296107}}&amp;amp;nbsp;— Byty i bloki-byty się wizualnie uszkodzone po pewnym czasie na pewnych zintegrowanych układach graficznych Intel.&lt;br /&gt;
** {{bug|296585}}&amp;amp;nbsp;— Migotanie i inne uszkodzenia grafiki pojawiają się po przyzwaniu jednej lub wielu byt &amp;lt;code&amp;gt;text_display&amp;lt;/code&amp;gt; na pewnych zintegrowanych układach graficznych Intel.&lt;br /&gt;
** {{bug|296908}}&amp;amp;nbsp;— Atlasy tekstu i tekstur stają się wizualnie uszkodzone po pewnym czasie na pewnych zintegrowanych układach graficznych Intel.&lt;br /&gt;
* Z 1.21.6&lt;br /&gt;
** {{bug|297784}}&amp;amp;nbsp;— Byty są niepoprawnie zacienione po pewnym czasie na układach graficznych Intel Gen11.&lt;br /&gt;
** {{bug|298903}}&amp;amp;nbsp;— Przedmioty w inwentarzu mogą zmienić się w stały kolor, a następnie zniknąć, a tekst może być renderowany w kolorze, podczas gdy na pewnych zintegrowanych układach graficznych Intel.&lt;br /&gt;
** {{bug|298908}}&amp;amp;nbsp;— Przedmioty w inwentarzu są podświetlane jakby z przeciwnego kierunku na pewnych zintegrowanych układach graficznych Intel.&lt;br /&gt;
** {{bug|299144}}&amp;amp;nbsp;— Awaria karty graficznej AMD podczas ładowania pakietu zasobów z nieprawidłowym shaderem.&lt;br /&gt;
&lt;br /&gt;
== Ciekawostki ==&lt;br /&gt;
*To jest pierwsza aktualizacja &#039;&#039;Java Edition&#039;&#039; 1.x.8 po [[1.8.8 (Java Edition)|1.8.8]].&lt;br /&gt;
**1.21.8 został wydany dokładnie miesiąc po 1.21.6.&lt;br /&gt;
&lt;br /&gt;
{{Wersje Java|Pełna wersja}}&lt;br /&gt;
&lt;br /&gt;
[[de:1.21.8]]&lt;br /&gt;
[[en:Java Edition 1.21.8]]&lt;br /&gt;
[[fr:Édition Java 1.21.8]]&lt;br /&gt;
[[ja:Java Edition 1.21.8]]&lt;br /&gt;
[[lzh:爪哇版一點二一點八]]&lt;br /&gt;
[[pt:Edição Java 1.21.8]]&lt;br /&gt;
[[ru:1.21.8 (Java Edition)]]&lt;br /&gt;
[[uk:1.21.8 (Java Edition)]]&lt;br /&gt;
[[zh:Java版1.21.8]]&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Java_Edition_1.21.8&amp;diff=122960</id>
		<title>Java Edition 1.21.8</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Java_Edition_1.21.8&amp;diff=122960"/>
		<updated>2025-07-20T03:42:12Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: /* Poprawki */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Wersja komputera&lt;br /&gt;
|wygląd=banner_1_21_8.png&lt;br /&gt;
|rozmiar1=240px&lt;br /&gt;
|nazwa = 1.21.8&lt;br /&gt;
|data wydania = 17 lipca 2025&lt;br /&gt;
|snapshoty=[[1.21.8 Release Candidate 1]]}}&lt;br /&gt;
&lt;br /&gt;
1.21.8&amp;amp;nbsp;— mała aktualizacja dla [[Java Edition]], która poprawia różne graficzne defekty i zamrożenia na pewnych urządzeniach graficznych. Została wydana 17 lipca 2025 rok.&lt;br /&gt;
&lt;br /&gt;
== Poprawki ==&lt;br /&gt;
8 błędów oznaczono jako &amp;quot;naprawione&amp;quot;:&lt;br /&gt;
* Z 1.21.5&lt;br /&gt;
** {{bug|295947}}&amp;amp;nbsp;— Ekran gry zamraża się po pewnym czasie na pewnych zintegrowanych układach graficznych Intel.&lt;br /&gt;
** {{bug|296107}}&amp;amp;nbsp;— Byty i bloki-byty się wizualnie uszkodzone po pewnym czasie na pewnych zintegrowanych układach graficznych Intel.&lt;br /&gt;
** {{bug|296585}}&amp;amp;nbsp;— Migotanie i inne uszkodzenia grafiki pojawiają się po przyzwaniu jednej lub wielu byt {{cd|text_display}} na pewnych zintegrowanych układach graficznych Intel.&lt;br /&gt;
** {{bug|296908}}&amp;amp;nbsp;— Atlasy tekstu i tekstur stają się wizualnie uszkodzone po pewnym czasie na pewnych zintegrowanych układach graficznych Intel.&lt;br /&gt;
* Z 1.21.6&lt;br /&gt;
** {{bug|297784}}&amp;amp;nbsp;— Byty są niepoprawnie zacienione po pewnym czasie na układach graficznych Intel Gen11.&lt;br /&gt;
** {{bug|298903}}&amp;amp;nbsp;— Przedmioty w inwentarzu mogą zmienić się w stały kolor, a następnie zniknąć, a tekst może być renderowany w kolorze, podczas gdy na pewnych zintegrowanych układach graficznych Intel.&lt;br /&gt;
** {{bug|298908}}&amp;amp;nbsp;— Przedmioty w inwentarzu są podświetlane jakby z przeciwnego kierunku na pewnych zintegrowanych układach graficznych Intel.&lt;br /&gt;
** {{bug|299144}}&amp;amp;nbsp;— Awaria karty graficznej AMD podczas ładowania pakietu zasobów z nieprawidłowym shaderem.&lt;br /&gt;
&lt;br /&gt;
== Ciekawostki ==&lt;br /&gt;
*To jest pierwsza aktualizacja &#039;&#039;Java Edition&#039;&#039; 1.x.8 po [[1.8.8 (Java Edition)|1.8.8]].&lt;br /&gt;
**1.21.8 został wydany dokładnie miesiąc po 1.21.6.&lt;br /&gt;
&lt;br /&gt;
{{Wersje Java|Pełna wersja}}&lt;br /&gt;
&lt;br /&gt;
[[de:1.21.8]]&lt;br /&gt;
[[en:Java Edition 1.21.8]]&lt;br /&gt;
[[fr:Édition Java 1.21.8]]&lt;br /&gt;
[[ja:Java Edition 1.21.8]]&lt;br /&gt;
[[lzh:爪哇版一點二一點八]]&lt;br /&gt;
[[pt:Edição Java 1.21.8]]&lt;br /&gt;
[[ru:1.21.8 (Java Edition)]]&lt;br /&gt;
[[uk:1.21.8 (Java Edition)]]&lt;br /&gt;
[[zh:Java版1.21.8]]&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Java_Edition_1.21.8&amp;diff=122959</id>
		<title>Java Edition 1.21.8</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Java_Edition_1.21.8&amp;diff=122959"/>
		<updated>2025-07-20T03:37:06Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: /* Poprawki */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Wersja komputera&lt;br /&gt;
|wygląd=banner_1_21_8.png&lt;br /&gt;
|rozmiar1=240px&lt;br /&gt;
|nazwa = 1.21.8&lt;br /&gt;
|data wydania = 17 lipca 2025&lt;br /&gt;
|snapshoty=[[1.21.8 Release Candidate 1]]}}&lt;br /&gt;
&lt;br /&gt;
1.21.8&amp;amp;nbsp;— mała aktualizacja dla [[Java Edition]], która poprawia różne graficzne defekty i zamrożenia na pewnych urządzeniach graficznych. Została wydana 17 lipca 2025 rok.&lt;br /&gt;
&lt;br /&gt;
== Poprawki ==&lt;br /&gt;
8 błędów oznaczono jako &amp;quot;naprawione&amp;quot;:&lt;br /&gt;
* {{bug|295947}}&amp;amp;nbsp;— Ekran gry zamraża się po pewnym czasie na pewnych zintegrowanych układach graficznych Intel.&lt;br /&gt;
* {{bug|296107}}&amp;amp;nbsp;— Byty i bloki-byty się wizualnie uszkodzone po pewnym czasie na pewnych zintegrowanych układach graficznych Intel.&lt;br /&gt;
* {{bug|296585}}&amp;amp;nbsp;— Migotanie i inne uszkodzenia grafiki pojawiają się po przyzwaniu jednej lub wielu byt {{cd|text_display}} na pewnych zintegrowanych układach graficznych Intel.&lt;br /&gt;
* {{bug|296908}}&amp;amp;nbsp;— Atlasy tekstu i tekstur stają się wizualnie uszkodzone po pewnym czasie na pewnych zintegrowanych układach graficznych Intel.&lt;br /&gt;
&lt;br /&gt;
* {{bug|297784}}&amp;amp;nbsp;— Entities are shaded incorrectly after a while on Intel graphics of Gen11 architecture.&lt;br /&gt;
* {{bug|298903}}&amp;amp;nbsp;— Items in the inventory can turn into a solid color and then disappear and text can render colored while on some Intel integrated graphics.&lt;br /&gt;
* {{bug|298908}}&amp;amp;nbsp;— Items in the inventory are lit as if from the opposite direction on some Intel integrated graphics.&lt;br /&gt;
* {{bug|299144}}&amp;amp;nbsp;— Crash with AMD graphics card when loading Resource Pack with invalid shader.&lt;br /&gt;
&lt;br /&gt;
== Ciekawostki ==&lt;br /&gt;
*To jest pierwsza aktualizacja &#039;&#039;Java Edition&#039;&#039; 1.x.8 po [[1.8.8 (Java Edition)|1.8.8]].&lt;br /&gt;
**1.21.8 został wydany dokładnie miesiąc po 1.21.6.&lt;br /&gt;
&lt;br /&gt;
{{Wersje Java|Pełna wersja}}&lt;br /&gt;
&lt;br /&gt;
[[de:1.21.8]]&lt;br /&gt;
[[en:Java Edition 1.21.8]]&lt;br /&gt;
[[fr:Édition Java 1.21.8]]&lt;br /&gt;
[[ja:Java Edition 1.21.8]]&lt;br /&gt;
[[lzh:爪哇版一點二一點八]]&lt;br /&gt;
[[pt:Edição Java 1.21.8]]&lt;br /&gt;
[[ru:1.21.8 (Java Edition)]]&lt;br /&gt;
[[uk:1.21.8 (Java Edition)]]&lt;br /&gt;
[[zh:Java版1.21.8]]&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Plik:Banner_1_21_8.png&amp;diff=122958</id>
		<title>Plik:Banner 1 21 8.png</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Plik:Banner_1_21_8.png&amp;diff=122958"/>
		<updated>2025-07-20T03:31:41Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Licencja ==&lt;br /&gt;
{{Licencja Mojang}}&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Java_Edition_1.21.8&amp;diff=122957</id>
		<title>Java Edition 1.21.8</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Java_Edition_1.21.8&amp;diff=122957"/>
		<updated>2025-07-20T03:31:24Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: Utworzono nową stronę &amp;quot;{{Wersja komputera |wygląd=banner_1_21_8.png |rozmiar1=240px |nazwa = 1.21.8 |data wydania = 17 lipca 2025 |snapshoty=1.21.8 Release Candidate 1}}  1.21.8&amp;amp;nbsp;— mała aktualizacja dla Java Edition, która poprawia różne graficzne defekty i zamrożenia na pewnych urządzeniach graficznych. Została wydana 17 lipca 2025 rok.  == Poprawki == 8 błędów oznaczono jako &amp;quot;naprawione&amp;quot;: * {{bug|295947}}&amp;amp;nbsp;— The game screen freezes after a while on some I…&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Wersja komputera&lt;br /&gt;
|wygląd=banner_1_21_8.png&lt;br /&gt;
|rozmiar1=240px&lt;br /&gt;
|nazwa = 1.21.8&lt;br /&gt;
|data wydania = 17 lipca 2025&lt;br /&gt;
|snapshoty=[[1.21.8 Release Candidate 1]]}}&lt;br /&gt;
&lt;br /&gt;
1.21.8&amp;amp;nbsp;— mała aktualizacja dla [[Java Edition]], która poprawia różne graficzne defekty i zamrożenia na pewnych urządzeniach graficznych. Została wydana 17 lipca 2025 rok.&lt;br /&gt;
&lt;br /&gt;
== Poprawki ==&lt;br /&gt;
8 błędów oznaczono jako &amp;quot;naprawione&amp;quot;:&lt;br /&gt;
* {{bug|295947}}&amp;amp;nbsp;— The game screen freezes after a while on some Intel integrated graphics.&lt;br /&gt;
* {{bug|296107}}&amp;amp;nbsp;— Entities and block entities become visually corrupted after a while on some Intel integrated graphics.&lt;br /&gt;
* {{bug|296585}}&amp;amp;nbsp;— Flickering and other graphical corruption appears after summoning one or multiple {{cd|text_display}} entities on some Intel devices.&lt;br /&gt;
* {{bug|296908}}&amp;amp;nbsp;— Text and texture atlases become visually corrupted after a while on some Intel integrated graphics.&lt;br /&gt;
&lt;br /&gt;
* {{bug|297784}}&amp;amp;nbsp;— Entities are shaded incorrectly after a while on Intel graphics of Gen11 architecture.&lt;br /&gt;
* {{bug|298903}}&amp;amp;nbsp;— Items in the inventory can turn into a solid color and then disappear and text can render colored while on some Intel integrated graphics.&lt;br /&gt;
* {{bug|298908}}&amp;amp;nbsp;— Items in the inventory are lit as if from the opposite direction on some Intel integrated graphics.&lt;br /&gt;
* {{bug|299144}}&amp;amp;nbsp;— Crash with AMD graphics card when loading Resource Pack with invalid shader.&lt;br /&gt;
&lt;br /&gt;
== Ciekawostki ==&lt;br /&gt;
*To jest pierwsza aktualizacja &#039;&#039;Java Edition&#039;&#039; 1.x.8 po [[1.8.8 (Java Edition)|1.8.8]].&lt;br /&gt;
**1.21.8 został wydany dokładnie miesiąc po 1.21.6.&lt;br /&gt;
&lt;br /&gt;
{{Wersje Java|Pełna wersja}}&lt;br /&gt;
&lt;br /&gt;
[[de:1.21.8]]&lt;br /&gt;
[[en:Java Edition 1.21.8]]&lt;br /&gt;
[[fr:Édition Java 1.21.8]]&lt;br /&gt;
[[ja:Java Edition 1.21.8]]&lt;br /&gt;
[[lzh:爪哇版一點二一點八]]&lt;br /&gt;
[[pt:Edição Java 1.21.8]]&lt;br /&gt;
[[ru:1.21.8 (Java Edition)]]&lt;br /&gt;
[[uk:1.21.8 (Java Edition)]]&lt;br /&gt;
[[zh:Java版1.21.8]]&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Minecraft_Wiki_Polska:Pro%C5%9Bby_do_Administrator%C3%B3w&amp;diff=122956</id>
		<title>Minecraft Wiki Polska:Prośby do Administratorów</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Minecraft_Wiki_Polska:Pro%C5%9Bby_do_Administrator%C3%B3w&amp;diff=122956"/>
		<updated>2025-07-20T03:12:17Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: /* Zmianę nicku */ nowa sekcja&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Szablon:Nawigacja}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Na tej stronie&#039;&#039;&#039; można zgłaszać problemy wymagające interwencji [[MCWPL:Administratorzy|Administratorów]]:&lt;br /&gt;
* konieczności usunięcia stron&lt;br /&gt;
* skargi na Użytkowników łamiących [[MCWPL:Zasady|Zasady]], nadużywających uprawnień, prośby o blokadę dla wandali lub Użytkowników łamiących [[MCWPL:Zasady|Zasady]] mimo ostrzeżeń&lt;br /&gt;
* konieczności edycji stron zabezpieczonych na poziomie [[MCWPL:Administratorzy|Administratorów]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[MCWPL:Prośby do Administratorów/archiwum|Archiwum sprzed 6 mar 2025 r.]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{DodajTemat}}&lt;br /&gt;
&lt;br /&gt;
{{MCWPL}}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==================================================================================================== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Zmianę nicku ==&lt;br /&gt;
&lt;br /&gt;
Ja chciałbym zmienić swój nick z METROKOP228_UA na MetroKopUA. Dziękuję — [[Użytkownik:METROKOP228 UA|METROKOP228 UA]] ([[Dyskusja użytkownika:METROKOP228 UA|dyskusja]]) 05:12, 20 lip 2025 (CEST)&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Szablon:User_ukrainiec&amp;diff=122955</id>
		<title>Szablon:User ukrainiec</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Szablon:User_ukrainiec&amp;diff=122955"/>
		<updated>2025-07-20T02:25:30Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{userbox&lt;br /&gt;
|tło1=#F9DD16&lt;br /&gt;
|tło2=#3A75C4&lt;br /&gt;
|kolor2=#F9DD16&lt;br /&gt;
|[[Plik:Flaga_ua.png|center|x45px]]&lt;br /&gt;
|&amp;lt;center&amp;gt;{{gender:{{BASEPAGENAME}}|Ten minepedysta|Ta minepedystka}} jest &#039;&#039;&#039;[[wikipedia:Ukraina|&amp;lt;span style=&amp;quot;color: #F9DD16&amp;quot;&amp;gt;Ukraińcem&amp;lt;/span&amp;gt;]]&#039;&#039;&#039;.&amp;lt;/center&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Kategoria:Userbox]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=U%C5%BCytkownik:MetroKopUA&amp;diff=122954</id>
		<title>Użytkownik:MetroKopUA</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=U%C5%BCytkownik:MetroKopUA&amp;diff=122954"/>
		<updated>2025-07-20T02:24:55Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Znany również jako MetroKopUA. Administrator ukraińskiej minecraft wiki. Można mnie znaleźć tutaj: [https://uk.minecraft.wiki/w/Користувач:MetroKopUA MetroKopUA].&lt;br /&gt;
{{User ukrainiec}}&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Plik:Flaga_ua.png&amp;diff=122953</id>
		<title>Plik:Flaga ua.png</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Plik:Flaga_ua.png&amp;diff=122953"/>
		<updated>2025-07-20T02:23:47Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Licencja ==&lt;br /&gt;
{{Licencja domeny publicznej}}&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Szablon:User_ukrainiec&amp;diff=122952</id>
		<title>Szablon:User ukrainiec</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Szablon:User_ukrainiec&amp;diff=122952"/>
		<updated>2025-07-20T02:21:21Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: Utworzono nową stronę &amp;quot;{{userbox |tło1=#F9DD16 |tło2=#3A75C4 |kolor2=#F9DD16 |40px |&amp;lt;center&amp;gt;{{gender:{{BASEPAGENAME}}|Ten minepedysta|Ta minepedystka}} jest &amp;#039;&amp;#039;&amp;#039;&amp;lt;span style=&amp;quot;color: #F9DD16&amp;quot;&amp;gt;Ukraińcem&amp;lt;/span&amp;gt;&amp;#039;&amp;#039;&amp;#039;.&amp;lt;/center&amp;gt; }} &amp;lt;noinclude&amp;gt;Kategoria:Userbox&amp;lt;/noinclude&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{userbox&lt;br /&gt;
|tło1=#F9DD16&lt;br /&gt;
|tło2=#3A75C4&lt;br /&gt;
|kolor2=#F9DD16&lt;br /&gt;
|[[Plik:Flaga_ua.png|center|40px]]&lt;br /&gt;
|&amp;lt;center&amp;gt;{{gender:{{BASEPAGENAME}}|Ten minepedysta|Ta minepedystka}} jest &#039;&#039;&#039;[[wikipedia:Ukraina|&amp;lt;span style=&amp;quot;color: #F9DD16&amp;quot;&amp;gt;Ukraińcem&amp;lt;/span&amp;gt;]]&#039;&#039;&#039;.&amp;lt;/center&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Kategoria:Userbox]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Piorunochron&amp;diff=122951</id>
		<title>Piorunochron</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Piorunochron&amp;diff=122951"/>
		<updated>2025-07-20T01:31:45Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: /* Niszczenie */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Blok&lt;br /&gt;
|wygląd=Piorunochron.png&lt;br /&gt;
|wygląd2=Piorunochron BE.png&lt;br /&gt;
|wygląd3=Zasilony piorunochron.png&lt;br /&gt;
|łączenie=Tak(64)&lt;br /&gt;
|fizyka=Nie&lt;br /&gt;
|narzędzie=kamienny kilof&lt;br /&gt;
|odnawialne=Nie&lt;br /&gt;
|opórtnt=6&lt;br /&gt;
|światło=Nie&lt;br /&gt;
|przezroczystość=Nie&lt;br /&gt;
|palność=Nie&lt;br /&gt;
|idsłowne=lightning_rod&lt;br /&gt;
}}&lt;br /&gt;
&#039;&#039;&#039;Piorunochron&#039;&#039;&#039; (ang. &#039;&#039;Lightning Rod&#039;&#039;) - blok służący do przechwytywania [[piorun]]ów.&lt;br /&gt;
&lt;br /&gt;
== Otrzymywanie ==&lt;br /&gt;
=== Niszczenie ===&lt;br /&gt;
Piorunochron musi zostać wydobyty za pomocą kamiennego lub lepszego [[kilof]]a, w przeciwnym wypadku z bloku nic nie wypadnie.&lt;br /&gt;
&lt;br /&gt;
{{Wydobywanie|Piorunochron|Kilof|Kamienny|horyzontalny=1|twardość=3}}&lt;br /&gt;
&lt;br /&gt;
=== [[Wytwarzanie]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Składniki&lt;br /&gt;
! Wejście » Wyjście&lt;br /&gt;
|-align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;[[Sztabka miedzi]]&#039;&#039;&#039;&lt;br /&gt;
|{{Grid/Crafting Table&lt;br /&gt;
|B1= Sztabka miedzi&lt;br /&gt;
|B2= Sztabka miedzi&lt;br /&gt;
|B3= Sztabka miedzi&lt;br /&gt;
|Output= Piorunochron&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Zastosowanie ==&lt;br /&gt;
Piorunochrony mogą być odwrócone w różnych kierunkach. Piorunochrony przyciągają pioruny w promieniu 128 bloków &amp;lt;sup&amp;gt;&#039;&#039;([[Java Edition]])&#039;&#039;&amp;lt;/sup&amp;gt; lub w obszarze 64×64×64‌ bloków &amp;lt;sup&amp;gt;&#039;&#039;([[Bedrock Edition]])&#039;&#039;&amp;lt;/sup&amp;gt;. Gdy zostanie uderzony przez piorun, emituje cząsteczki trafienia. Piorunochrony przyciągają też pioruny wytworzone poprzez użycie [[Trójząb|trójzębu]] z zaklęciem [[Zaklinanie|porażenie]] oraz te przywołane za pomocą komendy {{cmd|summon}}.&amp;lt;ref&amp;gt;{{bug|MCPE-117987}}&amp;lt;/ref&amp;gt;&amp;lt;sup&amp;gt;&#039;&#039;(tylko [[Bedrock Edition]])&#039;&#039;&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
W przeciwieństwie do rzeczywistości, piorunochrony w grze nie potrzebują uziemienia.&lt;br /&gt;
&lt;br /&gt;
Przekierowane pioruny nie mogą przywołać [[Szkieletowa pułapka|szkieletowej pułapki]].&lt;br /&gt;
&lt;br /&gt;
Po uderzeniu pioruna, piorunochron emituje sygnał redstone, również po trafieniu zaklętym na porażenie trójzębem.&lt;br /&gt;
&lt;br /&gt;
== Wartości danych ==&lt;br /&gt;
=== ID ===&lt;br /&gt;
&#039;&#039;[[Java Edition]]:&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Nazwa !! ID słowne !! Forma !! Klucz tłumaczeń&lt;br /&gt;
|-&lt;br /&gt;
| {{BlockSprite|piorunochron}} Piorunochron || {{code|lightning_rod}} || Blok,&amp;lt;br&amp;gt;Przedmiot || {{code|block.minecraft.lightning_rod}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;[[Bedrock Edition]]:&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Nazwa !! ID słowne !! ID numeryczne !! Forma !! Klucz tłumaczeń&lt;br /&gt;
|-&lt;br /&gt;
| {{BlockSprite|piorunochron}} Piorunochron || {{code|lightning_rod}} || {{code|567}} || Blok,&amp;lt;br&amp;gt;Przedmiot || {{code|tile.lightning_rod.name}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Stany bloku ===&lt;br /&gt;
&#039;&#039;[[Java Edition]]:&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Nazwa !! Domyślna wartość !! Dostępne wartości !! Opis&lt;br /&gt;
|-&lt;br /&gt;
! {{code|facing}}&lt;br /&gt;
| {{code|up}} || {{code|up|down|north|south|east|west|d=&amp;lt;br&amp;gt;}} || Kierunek w jaki obrócony jest piorunochron, zależny od zakotwiczenia.&lt;br /&gt;
|-&lt;br /&gt;
! {{code|powered}} &lt;br /&gt;
| {{code|false}} || {{code|false|true|d=&amp;lt;br&amp;gt;}} || Czy piorunochron jest zasilony.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;[[Bedrock Edition]]:&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Nazwa !! Domyślna wartość !! Dostępone wartości !! Opis&lt;br /&gt;
|-&lt;br /&gt;
! facing_direction &lt;br /&gt;
| 0 || {{code|0|1|2|3|4|5|d=&amp;lt;br&amp;gt;}} || Kierunek w jaki obrócony jest piorunochron.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Historia==&lt;br /&gt;
{{Historia||3 października 2020|link=https://www.youtube.com/watch?v=DBvZ2Iqmm3M&amp;amp;t=28m55s|[[Plik:Piorunochron 20w45a.png|32px]] Piorunochrony zostały pokazane na [[MINECON|Minecraft Live 2020]].|[[Plik:Piorunochron ekwipunek pre.png|32px]] Model w ekwipunku był inny.}}&lt;br /&gt;
{{Historia||20 października 2020|link=https://twitter.com/_LadyAgnes/status/1318545266811817986|[[Agnes Larsson]] pokazała, że piorunochron może być obrócony w różnych kierunkach.}}&lt;br /&gt;
{{Historia|w}}&lt;br /&gt;
{{Historia||1.17|snap=20w45a|[[Plik:Piorunochron 20w45a.png|32px]] Dodano piorunochrony.}}&lt;br /&gt;
{{Historia|||snap=20w46a|[[Plik:Piorunochron BE.png|32px]] Zmieniono teksturę piorunochronu, aby bardziej pasowała do miedzi.|Zwiększono zasięg przyciągania [[piorun]]ów z 16 do 32 bloków.}}&lt;br /&gt;
{{Historia|||snap=21w05a|[[Plik:Piorunochron.png|32px]] Piorunochrony są teraz poprawnie cieniowane.&amp;lt;ref&amp;gt;{{bug|MC-204446}}&amp;lt;/ref&amp;gt;}}&lt;br /&gt;
{{Historia|||snap=21w10a|Według listy zmian, piorunochrony można teraz zalać wodą, lecz nie jest to prawdą.}}&lt;br /&gt;
{{Historia|||snap=21w11a|[[Plik:Zasilony piorunochron.png|32px]] Po uderzeniu pioruna, piorunochron chwilowo staje się biały.|Piorunochrony można zalać wodą.|W trakcie burzy piorunochron emituje cząsteczki.}}&lt;br /&gt;
{{Historia|||snap=21w13a|Poprawiono model porunochronu, dolna tekstura jest wyświetlana poprawnie.}}&lt;br /&gt;
{{Historia|bedrock}}&lt;br /&gt;
{{Historia||1.16.210|snap=beta 1.16.210.57|[[Plik:Piorunochron BE.png|32px]] Dodano piorunochrony, które są dostępne po włączeniu eksperymentalnej rozgrywki.|Piorunochrony mają zepsuty model w ekwipunku.}}&lt;br /&gt;
{{Historia|||snap=wydanie|Piorunochrony nie są dostępne w pełnym wydaniu.}}&lt;br /&gt;
{{Historia||1.16.220|snap=beta 1.16.220.52|Piorunochorny można zalać wodą.|Piorunochrony emitują cząsteczki przy kontakcie z deszczem.}}&lt;br /&gt;
{{Historia|||snap=wydanie|Piorunochrony nie są dostępne w pełnym wydaniu.}}&lt;br /&gt;
{{Historia||1.17.0|snap=beta 1.17.0.50|Blok przylegający do piorunochronu emituje sygnał redstone po trafieniu pioruna.}}&lt;br /&gt;
{{Historia|||snap=beta 1.17.0.52|Piorunochrony są dostępne poza eksperymentalną rozgrywką.}}&lt;br /&gt;
{{Historia|foot}}&lt;br /&gt;
&lt;br /&gt;
==Ciekawostki==&lt;br /&gt;
* Piorunochron był pomysłem dewelopera gry Nira Vaknina, znanego pod pseudonimem Ulraf, któremu błyskawica spaliła w grze drewniany dom.&amp;lt;ref&amp;gt;https://youtube.com/watch?v=DBvZ2Iqmm3M&amp;amp;t=1793&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Przypisy}}&lt;br /&gt;
&lt;br /&gt;
{{Bloki}}&lt;br /&gt;
&lt;br /&gt;
[[de:Blitzableiter]]&lt;br /&gt;
[[en:Lightning Rod]]&lt;br /&gt;
[[es:Pararrayos]]&lt;br /&gt;
[[fr:Paratonnerre]]&lt;br /&gt;
[[it:Parafulmine]]&lt;br /&gt;
[[ja:避雷針]]&lt;br /&gt;
[[pt:Para-raios]]&lt;br /&gt;
[[ru:Молниеотвод]]&lt;br /&gt;
[[zh:避雷针]]&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Szablon:Wydobywanie&amp;diff=122950</id>
		<title>Szablon:Wydobywanie</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Szablon:Wydobywanie&amp;diff=122950"/>
		<updated>2025-07-20T01:31:04Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: Utworzono nową stronę &amp;quot;&amp;lt;includeonly&amp;gt;{{#invoke: breaking row | row }}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt; {{dokumentacja}}&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#invoke: breaking row | row }}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{dokumentacja}}&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Szablon:ItemSprite&amp;diff=122949</id>
		<title>Szablon:ItemSprite</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Szablon:ItemSprite&amp;diff=122949"/>
		<updated>2025-07-20T01:29:47Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Sprite|pos={{#switch: {{{1|}}}&lt;br /&gt;
|siodło-końskie=146&lt;br /&gt;
|rubin=171&lt;br /&gt;
|owoc-refrenusu=493&lt;br /&gt;
|burak=487&lt;br /&gt;
|pieczony-ziemniak=485&lt;br /&gt;
|marchewka=491&lt;br /&gt;
|gwiazdka-pirotechniczna=203&lt;br /&gt;
|barszcz=488&lt;br /&gt;
|barszcz-czerwony=488&lt;br /&gt;
|marchewka-na-patyku=103&lt;br /&gt;
|tarcza=221&lt;br /&gt;
|tarczka-żółwia=340&lt;br /&gt;
|żółwia-skorupa=341&lt;br /&gt;
|skórzana-czapka=426&lt;br /&gt;
|kolczy-hełm=64&lt;br /&gt;
|hełm&lt;br /&gt;
|żelazny-hełm=422&lt;br /&gt;
|diamentowy-hełm=411&lt;br /&gt;
|złota-zbroja-końska=418&lt;br /&gt;
|zbroja-końska&lt;br /&gt;
|żelazna-zbroja-końska=423&lt;br /&gt;
|diamentowa-zbroja-końska=412&lt;br /&gt;
|skórzana-zbroja-końska=163&lt;br /&gt;
|złoty-hełm=417&lt;br /&gt;
|skórzana-tunika=427&lt;br /&gt;
|kolczy-napierśnik=48&lt;br /&gt;
|napierśnik&lt;br /&gt;
|żelazny-napierśnik=421&lt;br /&gt;
|diamentowy-napierśnik=410&lt;br /&gt;
|złoty-napierśnik=416&lt;br /&gt;
|skórzane-spodnie=429&lt;br /&gt;
|kolcze-nogawice=272&lt;br /&gt;
|nogawice&lt;br /&gt;
|żelazne-nogawice=424&lt;br /&gt;
|diamentowe-nogawice=413&lt;br /&gt;
|złote-nogawice=419&lt;br /&gt;
|skórzane-buty=425&lt;br /&gt;
|kolcze-buty=32&lt;br /&gt;
|buty&lt;br /&gt;
|żelazne-buty=420&lt;br /&gt;
|diamentowe-buty=409&lt;br /&gt;
|złote-buty=415&lt;br /&gt;
|drewniany-miecz=455&lt;br /&gt;
|kamienny-miecz=453&lt;br /&gt;
|miecz&lt;br /&gt;
|żelazny-miecz=449&lt;br /&gt;
|diamentowy-miecz=447&lt;br /&gt;
|złoty-miecz=448&lt;br /&gt;
|drewniana-łopata=483&lt;br /&gt;
|kamienna-łopata=478&lt;br /&gt;
|łopata&lt;br /&gt;
|żelazna-łopata=472&lt;br /&gt;
|diamentowa-łopata=461&lt;br /&gt;
|złota-łopata=468&lt;br /&gt;
|nożyce=474&lt;br /&gt;
|drewniany-kilof=482&lt;br /&gt;
|kamienny-kilof=477&lt;br /&gt;
|kilof&lt;br /&gt;
|żelazny-kilof=471&lt;br /&gt;
|diamentowy-kilof=460&lt;br /&gt;
|złoty-kilof=467&lt;br /&gt;
|drewniany-topór=480&lt;br /&gt;
|drewniana-siekiera=480&lt;br /&gt;
|kamienny-topór=475&lt;br /&gt;
|kamienna-siekiera=475&lt;br /&gt;
|siekiera&lt;br /&gt;
|żelazny-topór=469&lt;br /&gt;
|żelazna-siekiera=469&lt;br /&gt;
|diamentowy-topór=458&lt;br /&gt;
|diamentowa-siekiera=458&lt;br /&gt;
|złoty-topór=465&lt;br /&gt;
|złota-siekiera=465&lt;br /&gt;
|drewniana-motyka=129&lt;br /&gt;
|kamienna-motyka=476&lt;br /&gt;
|motyka&lt;br /&gt;
|żelazna-motyka=470&lt;br /&gt;
|diamentowa-motyka=459&lt;br /&gt;
|złota-motyka=466&lt;br /&gt;
|krzesiwo=464&lt;br /&gt;
|nasiona-pszenicy=10&lt;br /&gt;
|jabłko=484&lt;br /&gt;
|kula-śnieżna=451&lt;br /&gt;
|śnieżka=451&lt;br /&gt;
|łuk=22&lt;br /&gt;
|ciasto=490&lt;br /&gt;
|strzała=38&lt;br /&gt;
|strzała-z-miksturą&lt;br /&gt;
|strzała-ognioodporności=431&lt;br /&gt;
|strzała-krzywdy=432&lt;br /&gt;
|strzała-leczenia=433&lt;br /&gt;
|strzała-niewidzialności=434&lt;br /&gt;
|strzała-skoku=435&lt;br /&gt;
|strzała-szczęścia=436&lt;br /&gt;
|strzała-noktowizji=437&lt;br /&gt;
|strzała-zatrucia=438&lt;br /&gt;
|strzała-regeneracji=439&lt;br /&gt;
|strzała-powolnego-opadania=440&lt;br /&gt;
|strzała-spowolnienia=441&lt;br /&gt;
|strzała-siły=442&lt;br /&gt;
|strzała-szybkości=443&lt;br /&gt;
|strzała-żółwiego-mistrza=444&lt;br /&gt;
|strzała-oddychania-pod-wodą=445&lt;br /&gt;
|strzała-słabości=446&lt;br /&gt;
|widmowa-strzała=452&lt;br /&gt;
|kołczan=39&lt;br /&gt;
|chleb=489&lt;br /&gt;
|znak=43&lt;br /&gt;
|tabliczka=43&lt;br /&gt;
|drewniane-drzwi=44&lt;br /&gt;
|łóżko=46&lt;br /&gt;
|patyk=54&lt;br /&gt;
|kompas=55&lt;br /&gt;
|nasiona-dyni=62&lt;br /&gt;
|nasiona-arbuza=63&lt;br /&gt;
|wędka=463&lt;br /&gt;
|zegar=71&lt;br /&gt;
|zegarek=71&lt;br /&gt;
|podejrzana-potrawka=372&lt;br /&gt;
|słodkie-jagody=391&lt;br /&gt;
|wiadro=456&lt;br /&gt;
|wiadro-wody=479&lt;br /&gt;
|woda=479&lt;br /&gt;
|wiadro-lawy=473&lt;br /&gt;
|lawa=473&lt;br /&gt;
|pieczony-schab=497&lt;br /&gt;
|suszone-wodorosty=339&lt;br /&gt;
|suszony-wodorost=339&lt;br /&gt;
|wodorosty=338&lt;br /&gt;
|wodorost=338&lt;br /&gt;
|ryba=336&lt;br /&gt;
|surowa-ryba=336&lt;br /&gt;
|dorsz=336&lt;br /&gt;
|surowy-dorsz=336&lt;br /&gt;
|ugotowana-ryba=346&lt;br /&gt;
|pieczona-ryba=346&lt;br /&gt;
|ugotowany-dorsz=346&lt;br /&gt;
|dawny-pieczony-dorsz=346&lt;br /&gt;
|rozdymka=348&lt;br /&gt;
|ryba-tropikalna=358&lt;br /&gt;
|surowy-łosoś=349&lt;br /&gt;
|łosoś=349&lt;br /&gt;
|pieczony-łosoś=347&lt;br /&gt;
|trójząb=337&lt;br /&gt;
|ciastko=499&lt;br /&gt;
|wzór-sztandaru=383&lt;br /&gt;
|wołowina=486&lt;br /&gt;
|surowa-wołowina=486&lt;br /&gt;
|surowy-befsztyk=486&lt;br /&gt;
|pieczony-befsztyk=494&lt;br /&gt;
|befsztyk=494&lt;br /&gt;
|pieczona-wołowina=494&lt;br /&gt;
|pieczona-wieprzowina=497&lt;br /&gt;
|pieczona-baranina=496&lt;br /&gt;
|płomienna-różdżka=109&lt;br /&gt;
|kurczak=492&lt;br /&gt;
|surowy-kurczak=492&lt;br /&gt;
|pieczony-kurczak=495&lt;br /&gt;
|bryłka-żelaza=288&lt;br /&gt;
|brodawka=126&lt;br /&gt;
|netherowa-brodawka=126&lt;br /&gt;
|elytry=414&lt;br /&gt;
|szklana-butelka-z-wodą=401&lt;br /&gt;
|butelka-wody=401&lt;br /&gt;
|mikstura=401&lt;br /&gt;
|serce-oceanu=365&lt;br /&gt;
|muszla-łodzika=366&lt;br /&gt;
|płomienny-proszek=158&lt;br /&gt;
|płyta-muzyczna-13=241&lt;br /&gt;
|płyta-muzyczna-cat=242&lt;br /&gt;
|płyta-muzyczna-blocks=243&lt;br /&gt;
|płyta-muzyczna-chirp=244&lt;br /&gt;
|płyta-muzyczna-far=245&lt;br /&gt;
|płyta-muzyczna-mall=246&lt;br /&gt;
|płyta-muzyczna-mellohi=247&lt;br /&gt;
|płyta-muzyczna-stal=248&lt;br /&gt;
|płyta-muzyczna-strad=249&lt;br /&gt;
|płyta-muzyczna-ward=250&lt;br /&gt;
|płyta-muzyczna-wait=252&lt;br /&gt;
|bambus=369&lt;br /&gt;
|czarny-barwnik=373&lt;br /&gt;
|brązowy-barwnik=375&lt;br /&gt;
|niebieski-barwnik=374&lt;br /&gt;
|biały-barwnik=376&lt;br /&gt;
|jajo-przyzywające-npc=398&lt;br /&gt;
|kusza=377&lt;br /&gt;
|kula-ognia&lt;br /&gt;
|ognista-kula=462&lt;br /&gt;
|pieczony-królik=498&lt;br /&gt;
|mikstura-miotana&lt;br /&gt;
|miotana-mikstura=428&lt;br /&gt;
|jajko=500&lt;br /&gt;
|zaklęte-złote-jabłko=501&lt;br /&gt;
|złote-jabłko=502&lt;br /&gt;
|złota-marchewka=503&lt;br /&gt;
|kawałek-arbuza=504&lt;br /&gt;
|mleko&lt;br /&gt;
|wiadro-mleka=505&lt;br /&gt;
|zupa-grzybowa=506&lt;br /&gt;
|surowa-baranina=507&lt;br /&gt;
|trujący-ziemniak=508&lt;br /&gt;
|prażony-owoc-refrenusu=509&lt;br /&gt;
|schab&lt;br /&gt;
|surowy-schab&lt;br /&gt;
|surowa-wieprzowina=510&lt;br /&gt;
|ziemniak=511&lt;br /&gt;
|placek-dyniowy=512&lt;br /&gt;
|surowy-królik=513&lt;br /&gt;
|gulasz-z-królika&lt;br /&gt;
|potrawka-z-królika=514&lt;br /&gt;
|zgniłe-mięso=515&lt;br /&gt;
|cukier=516&lt;br /&gt;
|stojak-na-zbroję=518&lt;br /&gt;
|książka-z-piórem=519&lt;br /&gt;
|zaklęta-butelka=520&lt;br /&gt;
|statyw-alchemiczny=521&lt;br /&gt;
|kocioł=522&lt;br /&gt;
|komparator=523&lt;br /&gt;
|zaklęta-książka=524&lt;br /&gt;
|kryształ-endu=525&lt;br /&gt;
|fajerwerk=526&lt;br /&gt;
|doniczka=527&lt;br /&gt;
|lej=528&lt;br /&gt;
|ramka-na-przedmiot=529&lt;br /&gt;
|lina&lt;br /&gt;
|smycz=530&lt;br /&gt;
|znacznik=531&lt;br /&gt;
|obraz=532&lt;br /&gt;
|przekaźnik=533&lt;br /&gt;
|siodło=534&lt;br /&gt;
|zapisana-książka=535&lt;br /&gt;
|mapa-do-ukrytego-skarbu&lt;br /&gt;
|mapa-skarbów&lt;br /&gt;
|mapa=536&lt;br /&gt;
|pusta-mapa=537&lt;br /&gt;
|księga-wiedzy=538&lt;br /&gt;
|morska-mapa-eksploracyjna&lt;br /&gt;
|mapa-badacza-oceanów=539&lt;br /&gt;
|mapa-badacza&lt;br /&gt;
|lądowa-mapa-eksploracyjna&lt;br /&gt;
|mapa-badacza-lasów=540&lt;br /&gt;
|książka=541&lt;br /&gt;
|miska=542&lt;br /&gt;
|cegła=543&lt;br /&gt;
|oddech-smoka=544&lt;br /&gt;
|oko-endera=545&lt;br /&gt;
|sfermentowane-oko-pająka=546&lt;br /&gt;
|szklana-butelka=547&lt;br /&gt;
|kawałek-lśniącego-arbuza&lt;br /&gt;
|błyszczący-arbuz=548&lt;br /&gt;
|magmowy-krem=549&lt;br /&gt;
|netherowa-cegła=550&lt;br /&gt;
|papier=551&lt;br /&gt;
|kość=552&lt;br /&gt;
|mączka-kostna=553&lt;br /&gt;
|węgiel-drzewny=554&lt;br /&gt;
|kulka-gliny=555&lt;br /&gt;
|węgiel=556&lt;br /&gt;
|diament=557&lt;br /&gt;
|szmaragd=558&lt;br /&gt;
|perła-endu&lt;br /&gt;
|enderperła=559&lt;br /&gt;
|pióro=560&lt;br /&gt;
|krzemień=561&lt;br /&gt;
|łza-ghasta=562&lt;br /&gt;
|jasnopył=563&lt;br /&gt;
|sztabka-złota=564&lt;br /&gt;
|samorodek-złota&lt;br /&gt;
|bryłka-złota=565&lt;br /&gt;
|proch=566&lt;br /&gt;
|atrament&lt;br /&gt;
|torbiel-z-atramentem=567&lt;br /&gt;
|sztabka-żelaza=568&lt;br /&gt;
|lapis-lazuli&lt;br /&gt;
|lazuryt=569&lt;br /&gt;
|skóra=570&lt;br /&gt;
|kwarc&lt;br /&gt;
|netherowy-kwarc=571&lt;br /&gt;
|netherowa-gwiazda=572&lt;br /&gt;
|błona-fantoma=573&lt;br /&gt;
|kryształy-pryzmarynu=574&lt;br /&gt;
|odłamek-pryzmarynu=575&lt;br /&gt;
|królicza-łapka=576&lt;br /&gt;
|królicza-skóra=577&lt;br /&gt;
|pył-czerwonego-kamienia&lt;br /&gt;
|czerwony-kamień-pył&lt;br /&gt;
|redstone&lt;br /&gt;
|sproszkowany-redstone=578&lt;br /&gt;
|skorupa-shulkera=579&lt;br /&gt;
|kula-szlamu=580&lt;br /&gt;
|oko-pająka=581&lt;br /&gt;
|nić=582&lt;br /&gt;
|totem-nieśmiertelności=583&lt;br /&gt;
|płyta-muzyczna-11=584&lt;br /&gt;
|płyta-muzyczna=585&lt;br /&gt;
|nasiona-buraka=586&lt;br /&gt;
|ziarna-kakaowe=587&lt;br /&gt;
|trzcina&lt;br /&gt;
|trzcina-cukrowa=588&lt;br /&gt;
|zboże&lt;br /&gt;
|pszenica=589&lt;br /&gt;
|akacjowa-łódka=590&lt;br /&gt;
|brzozowa-łódka=591&lt;br /&gt;
|świerkowa-łódka=592&lt;br /&gt;
|tropikalna-łódka=593&lt;br /&gt;
|wagonik=594&lt;br /&gt;
|wagonik-ze-skrzynią=595&lt;br /&gt;
|wagonik-z-blokiem-poleceń=596&lt;br /&gt;
|napędzany-wagonik&lt;br /&gt;
|wagonik-z-piecem=597&lt;br /&gt;
|wagonik-z-lejem=598&lt;br /&gt;
|wagonik-z-tnt=599&lt;br /&gt;
|dębowa-łódka&lt;br /&gt;
|łódka=600&lt;br /&gt;
|ciemnodębowa-łódka=601&lt;br /&gt;
|błękitny-barwnik=602&lt;br /&gt;
|szary-barwnik=603&lt;br /&gt;
|zielony-barwnik=604&lt;br /&gt;
|jasnoniebieski-barwnik=605&lt;br /&gt;
|jasnoszary-barwnik=606&lt;br /&gt;
|limonkowy-barwnik&lt;br /&gt;
|jasnozielony-barwnik=607&lt;br /&gt;
|purpurowy-barwnik=608&lt;br /&gt;
|pomarańczowy-barwnik=609&lt;br /&gt;
|różowy-barwnik=610&lt;br /&gt;
|fioletowy-barwnik=611&lt;br /&gt;
|różana-czerwień&lt;br /&gt;
|czerwony-barwnik=612&lt;br /&gt;
|żółty-barwnik=613&lt;br /&gt;
|wiadro-z-dorszem=614&lt;br /&gt;
|wiadro-z-łososiem=616&lt;br /&gt;
|wiadro-z-rozdymką=615&lt;br /&gt;
|wiadro-z-rybą-tropikalną=617&lt;br /&gt;
|trwała-mikstura-zatrucia=618&lt;br /&gt;
|mikstura-słabości=619&lt;br /&gt;
|mikstura-ognioodporności=620&lt;br /&gt;
|mikstura-odporności-na-ogień=620&lt;br /&gt;
|mikstura-krzywdy=621&lt;br /&gt;
|mikstura-leczenia=622&lt;br /&gt;
|mikstura-niewidzialności=623&lt;br /&gt;
|mikstura-skoku=624&lt;br /&gt;
|mikstura-szczęścia=625&lt;br /&gt;
|mikstura-noktowizji=626&lt;br /&gt;
|mikstura-zatrucia=627&lt;br /&gt;
|mikstura-regeneracji=628&lt;br /&gt;
|mikstura-powolnego-opadania=629&lt;br /&gt;
|mikstura-spowolnienia=630&lt;br /&gt;
|mikstura-siły=631&lt;br /&gt;
|mikstura-szybkości=632&lt;br /&gt;
|mikstura-żółwiego-mistrza=633&lt;br /&gt;
|mikstura-oddychania-pod-wodą=634&lt;br /&gt;
|mikstura-przewlekła&lt;br /&gt;
|trwała-mikstura=639&lt;br /&gt;
|trwała-mikstura-słabości=640&lt;br /&gt;
|trwała-mikstura-ognioodporności=641&lt;br /&gt;
|trwała-mikstura-krzywdy=642&lt;br /&gt;
|trwała-mikstura-leczenia=643&lt;br /&gt;
|trwała-mikstura-niewidzialności=644&lt;br /&gt;
|trwała-mikstura-skoku=645&lt;br /&gt;
|trwała-mikstura-szczęścia=646&lt;br /&gt;
|trwała-mikstura-noktowizji=647&lt;br /&gt;
|trwała-mikstura-regeneracji=648&lt;br /&gt;
|trwała-mikstura-powolnego-opadania=649&lt;br /&gt;
|trwała-mikstura-spowolnienia=650&lt;br /&gt;
|trwała-mikstura-siły=651&lt;br /&gt;
|trwała-mikstura-szybkości=652&lt;br /&gt;
|trwała-mikstura-żółwiego-mistrza=653&lt;br /&gt;
|trwała-mikstura-oddychania-pod-wodą=654&lt;br /&gt;
|miotana-mikstura-słabości=657&lt;br /&gt;
|miotana-mikstura-ognioodporności=658&lt;br /&gt;
|miotana-mikstura-odporności-na-ogień=658&lt;br /&gt;
|miotana-mikstura-krzywdy=659&lt;br /&gt;
|miotana-mikstura-leczenia=660&lt;br /&gt;
|miotana-mikstura-niewidzialności=661&lt;br /&gt;
|miotana-mikstura-skoku=662&lt;br /&gt;
|miotana-mikstura-szczęścia=663&lt;br /&gt;
|miotana-mikstura-noktowizji=664&lt;br /&gt;
|miotana-mikstura-zatrucia=665&lt;br /&gt;
|miotana-mikstura-regeneracji=666&lt;br /&gt;
|miotana-mikstura-powolnego-opadania=667&lt;br /&gt;
|miotana-mikstura-spowolnienia=668&lt;br /&gt;
|miotana-mikstura-siły=669&lt;br /&gt;
|miotana-mikstura-szybkości=670&lt;br /&gt;
|miotana-mikstura-żółwiego-mistrza=671&lt;br /&gt;
|miotana-mikstura-oddychania-pod-wodą=672&lt;br /&gt;
|butelka-miodu=677&lt;br /&gt;
|plaster-miodu=678&lt;br /&gt;
|netherytowy-hełm=680&lt;br /&gt;
|netherytowy-napierśnik=681&lt;br /&gt;
|netherytowe-nogawice&lt;br /&gt;
|netherytowe-spodnie=682&lt;br /&gt;
|netherytowe-buty=683&lt;br /&gt;
|netherytowy-miecz=684&lt;br /&gt;
|netherytowy-kilof=685&lt;br /&gt;
|netherytowa-siekiera=686&lt;br /&gt;
|netherytowa-łopata=687&lt;br /&gt;
|netherytowa-motyka=688&lt;br /&gt;
|sztabka-netherytu=689&lt;br /&gt;
|odłamek-netherytu=690&lt;br /&gt;
|dawne-szkarłatne-drzwi=691&lt;br /&gt;
|szkarłatna-tabliczka=692&lt;br /&gt;
|dawne-spaczone-drzwi=693&lt;br /&gt;
|spaczona-tabliczka=694&lt;br /&gt;
|latarenka-dusz=695&lt;br /&gt;
|eteryczne-ognisko=696&lt;br /&gt;
|spaczony-grzyb-na-patyku=697&lt;br /&gt;
|płyta-muzyczna-pigstep=698&lt;br /&gt;
|kozi-róg=704&lt;br /&gt;
|wiadro-sypkiego-śniegu=705&lt;br /&gt;
|odłamek-ametystu=706&lt;br /&gt;
|sztabka-miedzi=707&lt;br /&gt;
|model-lunety=708&lt;br /&gt;
|stara-sakwa=709&lt;br /&gt;
|pełna-stara-sakwa=710&lt;br /&gt;
|świeca=711&lt;br /&gt;
|czarna-świeca=712&lt;br /&gt;
|niebieska-świeca=713&lt;br /&gt;
|brązowa-świeca=714&lt;br /&gt;
|błękitna-świeca=715&lt;br /&gt;
|szara-świeca=716&lt;br /&gt;
|zielona-świeca=717&lt;br /&gt;
|jasnoniebieska-świeca=718&lt;br /&gt;
|jasnoszara-świeca=719&lt;br /&gt;
|jasnozielona-świeca=720&lt;br /&gt;
|purpurowa-świeca=721&lt;br /&gt;
|pomarańczowa-świeca=722&lt;br /&gt;
|różowa-świeca=723&lt;br /&gt;
|fioletowa-świeca=724&lt;br /&gt;
|czerwona-świeca=725&lt;br /&gt;
|biała-świeca=726&lt;br /&gt;
|żółta-świeca=727&lt;br /&gt;
|torbiel-ze-świecącym-atramentem=729&lt;br /&gt;
|świecąca-ramka-na-przedmiot=730&lt;br /&gt;
|wiadro-z-aksolotlem=732&lt;br /&gt;
|świecące-jagody=733&lt;br /&gt;
|surowe-żelazo&lt;br /&gt;
|ruda-żelaza=734&lt;br /&gt;
|surowe-złoto=735&lt;br /&gt;
|surowa-miedź&lt;br /&gt;
|ruda-miedzi=736&lt;br /&gt;
|płyta-muzyczna-otherside=737&lt;br /&gt;
|płyta-muzyczna-9=738&lt;br /&gt;
|fragment-płyty&lt;br /&gt;
|fragment-płyty-muzycznej&lt;br /&gt;
|fragment-płyty-9=739&lt;br /&gt;
|odłamek-pogłosu&lt;br /&gt;
|odłamek-echa=740&lt;br /&gt;
|kompas-powrotny=741&lt;br /&gt;
|magnetytowy-kompas&lt;br /&gt;
|namagnesowany-kompas=742&lt;br /&gt;
|namorzynowa-łódka=743&lt;br /&gt;
|namorzynowa-tabliczka=744&lt;br /&gt;
|namorzynowe-drzwi=745&lt;br /&gt;
|wiadro-z-kijanką=746&lt;br /&gt;
|bambusowa-tratwa=749&lt;br /&gt;
|bambusowa-tabliczka=750&lt;br /&gt;
|bambusowe-drzwi=751&lt;br /&gt;
|łódka-ze-skrzynią&lt;br /&gt;
|dębowa-łódka-ze-skrzynią=757&lt;br /&gt;
|świerkowa-łódka-ze-skrzynią=758&lt;br /&gt;
|brzozowa-łódka-ze-skrzynią=759&lt;br /&gt;
|tropikalna-łódka-ze-skrzynią=760&lt;br /&gt;
|akacjowa-łódka-ze-skrzynią=761&lt;br /&gt;
|ciemnodębowa-łódka-ze-skrzynią=762&lt;br /&gt;
|namorzynowa-łódka-ze-skrzynią=763&lt;br /&gt;
|bambusowa-tratwa-ze-skrzynią=764&lt;br /&gt;
|dębowa-podwieszana-tabliczka=765&lt;br /&gt;
|brzozowa-podwieszana-tabliczka=766&lt;br /&gt;
|świerkowa-podwieszana-tabliczka=767&lt;br /&gt;
|tropikalna-podwieszana-tabliczka=768&lt;br /&gt;
|akacjowa-podwieszana-tabliczka=769&lt;br /&gt;
|ciemnodębowa-podwieszana-tabliczka=770&lt;br /&gt;
|namorzynowa-podwieszana-tabliczka=771&lt;br /&gt;
|bambusowa-podwieszana-tabliczka=772&lt;br /&gt;
|szkarłatna-podwieszana-tabliczka=773&lt;br /&gt;
|spaczona-podwieszana-tabliczka=774&lt;br /&gt;
|wisząca-tabliczka=775&lt;br /&gt;
|wiszące-tabliczki=775&lt;br /&gt;
|mikstura-absorpcji=776&lt;br /&gt;
|mikstura-oślepienia=777&lt;br /&gt;
|mikstura-mdłości=778&lt;br /&gt;
|mikstura-wyczerpania=779&lt;br /&gt;
|mikstura-pośpiechu=780&lt;br /&gt;
|mikstura-zwiększenia-zdrowia=781&lt;br /&gt;
|mikstura-głodu=782&lt;br /&gt;
|miotana-mikstura-lewitacji=783 &amp;lt;!-- To nie jest błąd. Tekstury są zduplikowane w grze --&amp;gt;&lt;br /&gt;
|mikstura-lewitacji=783&lt;br /&gt;
|mikstura-odporności=784&lt;br /&gt;
|mikstura-nasycenia=785&lt;br /&gt;
|miotana-mikstura-absorpcji=786&lt;br /&gt;
|miotana-mikstura-oślepienia=787&lt;br /&gt;
|miotana-mikstura-mdłości=788&lt;br /&gt;
|miotana-mikstura-wyczerpania=789&lt;br /&gt;
|miotana-mikstura-pośpiechu=790&lt;br /&gt;
|miotana-mikstura-zwiększenia-zdrowia=791&lt;br /&gt;
|miotana-mikstura-głodu=792&lt;br /&gt;
|miotana-mikstura-odporności=793&lt;br /&gt;
|miotana-mikstura-nasycenia=794&lt;br /&gt;
|błękitny-balon=795&lt;br /&gt;
|błękitny-świetlik=796&lt;br /&gt;
|biały-balon=797&lt;br /&gt;
|biały-świetlik=798&lt;br /&gt;
|brązowy-balon=799&lt;br /&gt;
|brązowy-świetlik=800&lt;br /&gt;
|czarny-balon=801&lt;br /&gt;
|czerwony-balon=802&lt;br /&gt;
|czerwony-świetlik=803&lt;br /&gt;
|czerwone-zimne-ognie=804&lt;br /&gt;
|zapalone-czerwone-zimne-ognie=805&lt;br /&gt;
|fioletowy-balon=806&lt;br /&gt;
|fioletowy-świetlik=807&lt;br /&gt;
|fioletowe-zimne-ognie=808&lt;br /&gt;
|zapalone-fioletowe-zimne-ognie=809&lt;br /&gt;
|jasnoniebieski-balon=810&lt;br /&gt;
|jasnoniebieski-świetlik=811&lt;br /&gt;
|jasnozielony-balon=812&lt;br /&gt;
|jasnozielony-świetlik=813&lt;br /&gt;
|purpurowy-balon=814&lt;br /&gt;
|purpurowy-świetlik=815&lt;br /&gt;
|niebieski-balon=816&lt;br /&gt;
|niebieski-świetlik=817&lt;br /&gt;
|niebieskie-zimne-ognie=818&lt;br /&gt;
|zapalone-niebieskie-zimne-ognie=819&lt;br /&gt;
|pomarańczowy-balon=820&lt;br /&gt;
|pomarańczowy-świetlik=821&lt;br /&gt;
|pomarańczowe-zimne-ognie=822&lt;br /&gt;
|zapalone-pomarańczowe-zimne-ognie=823&lt;br /&gt;
|różowy-balon=824&lt;br /&gt;
|różowy-świetlik=825&lt;br /&gt;
|jasnoszary-balon=826&lt;br /&gt;
|srebrny-balon=826&lt;br /&gt;
|szary-balon=827&lt;br /&gt;
|szary-świetlik=828&lt;br /&gt;
|zielony-balon=829&lt;br /&gt;
|zielony-świetlik=830&lt;br /&gt;
|zielone-zimne-ognie=831&lt;br /&gt;
|zapalone-zielone-zimne-ognie=832&lt;br /&gt;
|żółty-balon=833&lt;br /&gt;
|żółty-świetlik=834&lt;br /&gt;
|zdjęcie=835&lt;br /&gt;
|uszkodzone-elytry&lt;br /&gt;
|podarte-elytry=836&lt;br /&gt;
|żółwie-jajko=837&lt;br /&gt;
|łańcuch=838&lt;br /&gt;
|luneta=839&lt;br /&gt;
|pieczony-dorsz=840&lt;br /&gt;
|szablon-kowalski&lt;br /&gt;
|szablon-kowalski-netherytowe-ulepszenie=841&lt;br /&gt;
|szablon-kowalski-ze-zdobieniem-wybrzeże=842&lt;br /&gt;
|szablon-kowalski-ze-zdobieniem-wydma=843&lt;br /&gt;
|szablon-kowalski-ze-zdobieniem-oko=844&lt;br /&gt;
|szablon-kowalski-ze-zdobieniem-żebra=845&lt;br /&gt;
|szablon-kowalski-ze-zdobieniem-wartownik=846&lt;br /&gt;
|szablon-kowalski-ze-zdobieniem-ryjek=847&lt;br /&gt;
|szablon-kowalski-ze-zdobieniem-iglica=848&lt;br /&gt;
|szablon-kowalski-ze-zdobieniem-fala=849&lt;br /&gt;
|szablon-kowalski-ze-zdobieniem-dręczyciel=850&lt;br /&gt;
|szablon-kowalski-ze-zdobieniem-nadzorca=851&lt;br /&gt;
|szablon-kowalski-ze-zdobieniem-dzicz=852&lt;br /&gt;
|różowe-kwiatki=853&lt;br /&gt;
|wiśniowe-drzwi=854&lt;br /&gt;
|wiśniowa-podwieszana-tabliczka=855&lt;br /&gt;
|wiśniowa-wisząca-tabliczka=855&lt;br /&gt;
|wiśniowa-tabliczka=856&lt;br /&gt;
|wiśniowa-łódka=857&lt;br /&gt;
|wiśniowa-łódka-ze-skrzynią=858&lt;br /&gt;
|nasiona-ognistego-kwiatu=859&lt;br /&gt;
|strąk-dzbanecznika=860&lt;br /&gt;
|pędzel=861&lt;br /&gt;
|jajo-niuchacza=862&lt;br /&gt;
|szablon-kowalski-ze-zdobieniem-gospodarz=864&lt;br /&gt;
|szablon-kowalski-ze-zdobieniem-hodowca=865&lt;br /&gt;
|szablon-kowalski-ze-zdobieniem-opiekun=865&lt;br /&gt;
|szablon-kowalski-ze-zdobieniem-rzeźbiarz=866&lt;br /&gt;
|szablon-kowalski-ze-zdobieniem-drogowskaz=867&lt;br /&gt;
|szablon-kowalski-ze-zdobieniem-włóczykij=867&lt;br /&gt;
|szablon-kowalski-ze-zdobieniem-cisza=868&lt;br /&gt;
|odłamek-ceramiki&lt;br /&gt;
|odłamek-ceramiki-alchemik=869&lt;br /&gt;
|odłamek-ceramiki-czaszka=870&lt;br /&gt;
|odłamek-ceramiki-dostatek=871&lt;br /&gt;
|odłamek-ceramiki-druh=872&lt;br /&gt;
|odłamek-ceramiki-górnik=873&lt;br /&gt;
|odłamek-ceramiki-łucznik=874&lt;br /&gt;
|odłamek-ceramiki-nagroda=875&lt;br /&gt;
|odłamek-ceramiki-niuch=876&lt;br /&gt;
|odłamek-ceramiki-odkrywca=877&lt;br /&gt;
|odłamek-ceramiki-ostoja=878&lt;br /&gt;
|odłamek-ceramiki-ostrze=879&lt;br /&gt;
|odłamek-ceramiki-płomień=880&lt;br /&gt;
|odłamek-ceramiki-ręce-w-górze=881&lt;br /&gt;
|odłamek-ceramiki-rybak=882&lt;br /&gt;
|odłamek-ceramiki-serce=883&lt;br /&gt;
|odłamek-ceramiki-skowyt=884&lt;br /&gt;
|odłamek-ceramiki-snop=885&lt;br /&gt;
|odłamek-ceramiki-zagrożenie=886&lt;br /&gt;
|odłamek-ceramiki-złamane-serce=887&lt;br /&gt;
|odłamek-ceramiki-żałobnik=888&lt;br /&gt;
|płyta-muzyczna-relic=889&lt;br /&gt;
|le-tricolore=890&lt;br /&gt;
|bit=891&lt;br /&gt;
|byte-tag=892&lt;br /&gt;
|compound-tag=893&lt;br /&gt;
|double-tag=894&lt;br /&gt;
|float-tag=896&lt;br /&gt;
|int-tag=897&lt;br /&gt;
|left-curly=898&lt;br /&gt;
|lewy-nawias-klamrowy=898&lt;br /&gt;
|left-square=899&lt;br /&gt;
|lewy-nawias-kwadratowy=899&lt;br /&gt;
|list-tag=900&lt;br /&gt;
|long-tag=901&lt;br /&gt;
|name=902&lt;br /&gt;
|right-curly=903&lt;br /&gt;
|right-square=904&lt;br /&gt;
|short-tag=905&lt;br /&gt;
|sssyntax-error=906&lt;br /&gt;
|string-tag=907&lt;br /&gt;
|tag=908&lt;br /&gt;
|bottle-of-mob=909&lt;br /&gt;
|splash-bottle-of-mob=910&lt;br /&gt;
|bottle-of-void=911&lt;br /&gt;
|potion-of-big=912&lt;br /&gt;
|potion-of-small=913&lt;br /&gt;
|splash-potion-of-big=914&lt;br /&gt;
|splash-potion-of-small=915&lt;br /&gt;
|lingering-potion-of-big=916&lt;br /&gt;
|lingering-potion-of-small=917&lt;br /&gt;
|arrow-of-big=918&lt;br /&gt;
|arrow-of-small=919&lt;br /&gt;
|longer-string=920&lt;br /&gt;
|inspektor-bloków=922&lt;br /&gt;
|zablokowana-mapa=923&lt;br /&gt;
|mapa-be=924&lt;br /&gt;
|mapa-badacza-oceanów-be=925&lt;br /&gt;
|mapa-skarbów-be=926&lt;br /&gt;
|mapa-badacza-lasów-be=927&lt;br /&gt;
|mapa-do-wioski=928&lt;br /&gt;
|mapa-do-wioski-be=929&lt;br /&gt;
|akacjowe-drzwi=935&lt;br /&gt;
|akacjowa-tabliczka=936&lt;br /&gt;
|brzozowe-drzwi=937&lt;br /&gt;
|brzozowa-tabliczka=938&lt;br /&gt;
|ciemnodębowe-drzwi=939&lt;br /&gt;
|ciemnodębowa-tabliczka=940&lt;br /&gt;
|dębowe-drzwi=941&lt;br /&gt;
|dębowa-tabliczka=942&lt;br /&gt;
|tropikalne-drzwi=943&lt;br /&gt;
|tropikalna-tabliczka=944&lt;br /&gt;
|świerkowe-drzwi=945&lt;br /&gt;
|świerkowa-tabliczka=946&lt;br /&gt;
|szkarłatne-drzwi=947&lt;br /&gt;
|szkarłatna-tabliczka=948&lt;br /&gt;
|spaczone-drzwi=949&lt;br /&gt;
|spaczona-tabliczka=950&lt;br /&gt;
|żelazne-drzwi=951&lt;br /&gt;
|miedziane-drzwi=952&lt;br /&gt;
|zwietrzałe-miedziane-drzwi=953&lt;br /&gt;
|zaśniedziałe-miedziane-drzwi=954&lt;br /&gt;
|utlenione-miedziane-drzwi=955&lt;br /&gt;
|bladodębowa-łódka=956&lt;br /&gt;
|bladodębowa-łódka-ze-skrzynką=957&lt;br /&gt;
|bladodębowe-drzwi=958&lt;br /&gt;
|bladodębowa-podwieszana-tabliczka=959&lt;br /&gt;
|bladodębowa-tabliczka=960&lt;br /&gt;
|gruda-żywicy=961&lt;br /&gt;
|żywicowa-cegła=962&lt;br /&gt;
|wichrowa-różdżka=964&lt;br /&gt;
|wietrzna-kula=965&lt;br /&gt;
|klucz-próby=966&lt;br /&gt;
|złowieszczy-klucz-próby=967&lt;br /&gt;
|buzdygan=968&lt;br /&gt;
|tarczka-pancernika=969&lt;br /&gt;
|wilcza-zbroja=970&lt;br /&gt;
|patyk-debugujący=971&lt;br /&gt;
|odłamek-ceramiki-podmuch=972&lt;br /&gt;
|odłamek-ceramiki-nurt=973&lt;br /&gt;
|odłamek-ceramiki-skrobak=974&lt;br /&gt;
|szablon-kowalski-ze-zdobieniem-nurt=975&lt;br /&gt;
|szablon-kowalski-ze-zdobieniem-nit=976&lt;br /&gt;
|płyta-muzyczna-creator-pozytywka=977&lt;br /&gt;
|płyta-muzyczna-creator=978&lt;br /&gt;
|płyta-muzyczna-precipice=979&lt;br /&gt;
|wzór-sztandaru-ząbkowane-obramowanie=983&lt;br /&gt;
|wzór-sztandaru-wizerunek-creepera=984&lt;br /&gt;
|wzór-sztandaru-mur=985&lt;br /&gt;
|wzór-sztandaru-nurt=986&lt;br /&gt;
|wzór-sztandaru-kwiat=987&lt;br /&gt;
|wzór-sztandaru-glob=988&lt;br /&gt;
|wzór-sztandaru-podmuch=989&lt;br /&gt;
|wzór-sztandaru-coś=990&lt;br /&gt;
|wzór-sztandaru-ryjek=991&lt;br /&gt;
|wzór-sztandaru-czaszka=992&lt;br /&gt;
|sakwa=993&lt;br /&gt;
|otwarta-sakwa=994&lt;br /&gt;
|czarna-sakwa=995&lt;br /&gt;
|niebieska-sakwa=997&lt;br /&gt;
|brązowa-sakwa=999&lt;br /&gt;
|błękitna-sakwa=1001&lt;br /&gt;
|szara-sakwa=1003&lt;br /&gt;
|zielona-sakwa=1005&lt;br /&gt;
|jasnoniebieska-sakwa=1007&lt;br /&gt;
|jasnoszara-sakwa=1009&lt;br /&gt;
|jasnozielona-sakwa=1011&lt;br /&gt;
|purpurowa-sakwa=1013&lt;br /&gt;
|pomarańczowa-sakwa=1015&lt;br /&gt;
|różowa-sakwa=1017&lt;br /&gt;
|fioletowa-sakwa=1019&lt;br /&gt;
|czerwona-sakwa=1021&lt;br /&gt;
|biała-sakwa=1023&lt;br /&gt;
|żółta-sakwa=1025&lt;br /&gt;
|mikstura-zaszlamienia=1027&lt;br /&gt;
|miotana-mikstura-zaszlamienia=1028&lt;br /&gt;
|trwała-miotana-mikstura-zaszlamienia=1029&lt;br /&gt;
|strzała-zaszlamienia=1030&lt;br /&gt;
|mikstura-zarobaczenia=1031&lt;br /&gt;
|miotana-mikstura-zarobaczenia=1032&lt;br /&gt;
|trwała-miotana-mikstura-zarobaczenia=1033&lt;br /&gt;
|strzała-zarobaczenia=1034&lt;br /&gt;
|mikstura-przędzenia=1035&lt;br /&gt;
|miotana-mikstura-przędzenia=1036&lt;br /&gt;
|trwała-miotana-mikstura-przędzenia=1037&lt;br /&gt;
|strzała-przędzenia=1038&lt;br /&gt;
|mikstura-napowietrzenia=1039&lt;br /&gt;
|miotana-mikstura=napowietrzenia=1040&lt;br /&gt;
|trwała-miotana-mikstura-napowietrzenia=1041&lt;br /&gt;
|strzała-napowietrzenia=1042&lt;br /&gt;
|złowieszcza-butelka=1043&lt;br /&gt;
|jajo-przyzywające-nietoperza=1044&lt;br /&gt;
|jajo-przyzywające-pszczołę=1045&lt;br /&gt;
|jajo-przyzywające-płomyka=1046&lt;br /&gt;
|jajo-przyzywające-kota=1047&lt;br /&gt;
|jajo-przyzywające-pająka-jaskiniowego=1048&lt;br /&gt;
|jajo-przyzywające-kurę=1049&lt;br /&gt;
|jajo-przyzywające-dorsza=1050&lt;br /&gt;
|jajo-przyzywające-krowę=1051&lt;br /&gt;
|jajo-przyzywające-trzeszcza=1052&lt;br /&gt;
|jajo-przyzywające&lt;br /&gt;
|jajo-przyzywające-creepera=1053&lt;br /&gt;
|jajo-przyzywające-delfina=1054&lt;br /&gt;
|jajo-przyzywające-osła=1055&lt;br /&gt;
|jajo-przyzywające-utopca=1056&lt;br /&gt;
|jajo-przyzywające-prastrażnika=1057&lt;br /&gt;
|jajo-przyzywające-endermana=1058&lt;br /&gt;
|jajo-przyzywające-endermita=1059&lt;br /&gt;
|jajo-przyzywające-przywoływacza=1060&lt;br /&gt;
|jajo-przyzywające-lisa=1061&lt;br /&gt;
|jajo-przyzywające-ghasta=1062&lt;br /&gt;
|jajo-przyzywające-świecącą-kałamarnicę=1063&lt;br /&gt;
|jajo-przyzywające-kozę=1064&lt;br /&gt;
|jajo-przyzywające-strażnika=1065&lt;br /&gt;
|jajo-przyzywające-hoglina=1066&lt;br /&gt;
|jajo-przyzywające-konia=1067&lt;br /&gt;
|jajo-przyzywające-posucha=1068&lt;br /&gt;
|jajo-przyzywające-lamę=1069&lt;br /&gt;
|jajo-przyzywające-kostkę-magmy=1070&lt;br /&gt;
|jajo-przyzywające-mooshrooma=1071&lt;br /&gt;
|jajo-przyzywające-muła=1072&lt;br /&gt;
|jajo-przyzywające-ocelota=1073&lt;br /&gt;
|jajo-przyzywające-pandę=1074&lt;br /&gt;
|jajo-przyzywające-papugę=1075&lt;br /&gt;
|jajo-przyzywające-fantoma=1076&lt;br /&gt;
|jajo-przyzywające-świnię=1077&lt;br /&gt;
|jajo-przyzywające-piglina=1078&lt;br /&gt;
|jajo-przyzywające-rozbójnika=1079&lt;br /&gt;
|jajo-przyzywające-niedźwiedzia-polarnego=1080&lt;br /&gt;
|jajo-przyzywające-rozdymkę=1081&lt;br /&gt;
|jajo-przyzywające-królika=1082&lt;br /&gt;
|jajo-przyzywające-dewastatora=1083&lt;br /&gt;
|jajo-przyzywające-łososia=1084&lt;br /&gt;
|jajo-przyzywające-owcę=1085&lt;br /&gt;
|jajo-przyzywające-shulkera=1086&lt;br /&gt;
|jajo-przyzywające-rybika-cukrowego=1087&lt;br /&gt;
|jajo-przyzywające-konia-szkieleta=1088&lt;br /&gt;
|jajo-przyzywające-szkieleta=1089&lt;br /&gt;
|jajo-przyzywające-szlama=1090&lt;br /&gt;
|jajo-przyzywające-pająka=1091&lt;br /&gt;
|jajo-przyzywające-kałamarnicę=1092&lt;br /&gt;
|jajo-przyzywające-tułacza=1093&lt;br /&gt;
|jajo-przyzywające-magmołaza=1094&lt;br /&gt;
|jajo-przyzywające-lamę-handlarza=1095&lt;br /&gt;
|jajo-przyzywające-rybę-tropikalną=1096&lt;br /&gt;
|jajo-przyzywające-żółwia=1097&lt;br /&gt;
|jajo-przyzywające-dręczyciela=1098&lt;br /&gt;
|jajo-przyzywające-osadnika=1099&lt;br /&gt;
|jajo-przyzywające-obrońcę=1100&lt;br /&gt;
|jajo-przyzywające-wędrownego-handlarza=1101&lt;br /&gt;
|jajo-przyzywające-nadzorcę=1102&lt;br /&gt;
|jajo-przyzywające-wiedźmę=1103&lt;br /&gt;
|jajo-przyzywające-witherowego-szkieleta=1104&lt;br /&gt;
|jajo-przyzywające-wilka=1105&lt;br /&gt;
|jajo-przyzywające-konia-zombie=1106&lt;br /&gt;
|jajo-przyzywające-zombie=1107&lt;br /&gt;
|jajo-przyzywające-osadnika-zombie=1108&lt;br /&gt;
|jajo-przyzywające-aksolotla=1109&lt;br /&gt;
|jajo-przyzywające-agenta=1110&lt;br /&gt;
|jajo-przyzywające-bagniaka=1111&lt;br /&gt;
|jajo-przyzywające-niuchacza=1112&lt;br /&gt;
|jajo-przyzywające-otuszka=1113&lt;br /&gt;
|jajo-przyzywające-pancernika=1114&lt;br /&gt;
|jajo-przyzywające-piglina-okrutnika=1115&lt;br /&gt;
|jajo-przyzywające-smoka-endu=1116&lt;br /&gt;
|jajo-przyzywające-wichrzyka=1117&lt;br /&gt;
|jajo-przyzywające-wielbłąda=1118&lt;br /&gt;
|jajo-przyzywające-withera=1119&lt;br /&gt;
|jajo-przyzywające-zoglina=1120&lt;br /&gt;
|jajo-przyzywające-zzombifikowanego-piglina=1121&lt;br /&gt;
|jajo-przyzywające-śnieżnego-golema=1122&lt;br /&gt;
|jajo-przyzywające-żabę=1123&lt;br /&gt;
|jajo-przyzywające-żelaznego-golema=1124&lt;br /&gt;
|jajo-przyzywające-kijankę=1125&lt;br /&gt;
|niebieskie-jajko=1126&lt;br /&gt;
|brązowe-jajko=1127&lt;br /&gt;
|mikstura-obumierania=1128&lt;br /&gt;
|miotana-mikstura-obumierania=1129&lt;br /&gt;
|trwała-miotana-mikstura=obumierania=1130&lt;br /&gt;
|strzała-obumierania=1131&lt;br /&gt;
|#default={{#if:{{#ifexpr:{{{1}}}}}|384|{{{1}}}}}&lt;br /&gt;
}}&lt;br /&gt;
|image=ItemCSS.png&lt;br /&gt;
|sheet=16&lt;br /&gt;
|link={{{link|}}}&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;{{dokumentacja}}[[Kategoria:Szablony|I]]&lt;br /&gt;
[[de:Vorlage:GegenstandSprite]]&lt;br /&gt;
[[es:Plantilla:ItemSprite]]&lt;br /&gt;
[[en:Template:ItemSprite]]&lt;br /&gt;
[[fr:Modèle:ObjetSprite]]&lt;br /&gt;
[[ja:テンプレート:ItemSprite]]&lt;br /&gt;
[[ko:틀:ItemSprite]]&lt;br /&gt;
[[nl:Sjabloon:ItemSprite]]&lt;br /&gt;
[[ru:Шаблон:Спрайт/Предмет]]&lt;br /&gt;
[[zh:Template:ItemSprite]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Modu%C5%82:Breaking_row&amp;diff=122948</id>
		<title>Moduł:Breaking row</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Modu%C5%82:Breaking_row&amp;diff=122948"/>
		<updated>2025-07-20T01:28:55Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {}&lt;br /&gt;
local polish = mw.language.new(&#039;pl&#039;)&lt;br /&gt;
&lt;br /&gt;
local breakingTimeHeader;&lt;br /&gt;
local function getBreakingTimeHeader( f )&lt;br /&gt;
	if breakingTimeHeader == nil then&lt;br /&gt;
		breakingTimeHeader = &#039;Czas wydobycia (sec)&#039; .. f:preprocess( &#039;&amp;lt;ref group=&amp;quot;FN&amp;quot; name=&amp;quot;breakingtimenote&amp;quot;&amp;gt;These durations ignore other influential factors (e.g. [[Mining Fatigue]]), and are measured in seconds. For more information, see [[Breaking#Speed|Breaking § Speed]].&amp;lt;/ref&amp;gt;&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	return breakingTimeHeader&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function p.row( f )&lt;br /&gt;
	local args = require( [[Moduł:ProcessArgs]] ).norm()&lt;br /&gt;
	&lt;br /&gt;
	local function getDplVar( var )&lt;br /&gt;
		local val = f:callParserFunction( &#039;#dplvar&#039;, &#039;breaking &#039; .. var )&lt;br /&gt;
		if val == &#039;&#039; then&lt;br /&gt;
			val = false&lt;br /&gt;
		end&lt;br /&gt;
		return val&lt;br /&gt;
	end&lt;br /&gt;
	local dplVars = {}&lt;br /&gt;
	local function setDplVar( var, val )&lt;br /&gt;
		table.insert( dplVars, &#039;breaking &#039; .. var )&lt;br /&gt;
		table.insert( dplVars, val or &#039;1&#039; )&lt;br /&gt;
	end&lt;br /&gt;
		&lt;br /&gt;
	local rows = {}&lt;br /&gt;
	local tableParts = {}&lt;br /&gt;
	local categories = {}&lt;br /&gt;
	local showOptions = false&lt;br /&gt;
	&lt;br /&gt;
	local horizontal&lt;br /&gt;
	if args[&#039;horyzontalny&#039;] or args[1]:match( &#039;;&#039; ) then&lt;br /&gt;
		horizontal = true&lt;br /&gt;
	end&lt;br /&gt;
	local showTool = true&lt;br /&gt;
	local showShears = true&lt;br /&gt;
	local showSword = true&lt;br /&gt;
	local header, sortable, simple&lt;br /&gt;
	if horizontal or not getDplVar( &#039;header&#039; ) then&lt;br /&gt;
		if args.hidetool or horizontal and ( not args[2] or args[2]:lower() == &#039;any&#039; or args[2]:lower() == &#039;none&#039; ) then&lt;br /&gt;
			showTool = false&lt;br /&gt;
			setDplVar( &#039;hidetool&#039; )&lt;br /&gt;
    		breakingTimeHeader = &#039;[[Breaking]] time (secs)&#039;&lt;br /&gt;
		end&lt;br /&gt;
		if args.hideshears or horizontal and not args.shears then&lt;br /&gt;
			showShears = false&lt;br /&gt;
			setDplVar( &#039;hideshears&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		if args.hidesword or horizontal and not args.sword then&lt;br /&gt;
			showSword = false&lt;br /&gt;
			setDplVar( &#039;hidesword&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		sortable = not horizontal and args.sort&lt;br /&gt;
		if sortable then&lt;br /&gt;
			setDplVar( &#039;sortable&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		simple = args.simple&lt;br /&gt;
		if simple and not horizontal then&lt;br /&gt;
			setDplVar( &#039;simple&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local tableClasses = { &#039;wikitable&#039; }&lt;br /&gt;
		if sortable then&lt;br /&gt;
			table.insert( tableClasses, &#039;sortable&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039; {| class=&amp;quot;&#039; .. table.concat( tableClasses, &#039; &#039; ) .. &#039;&amp;quot; style=&amp;quot;text-align: center; margin: 0;&amp;quot;&#039; )&lt;br /&gt;
		&lt;br /&gt;
		local sortType = &#039;&#039;&lt;br /&gt;
		if sortable then&lt;br /&gt;
			sortType = &#039;data-sort-type=&amp;quot;number&amp;quot;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		local rowspan = &#039;&#039;&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			rowspan = &#039;rowspan=&amp;quot;2&amp;quot; &#039;&lt;br /&gt;
		end&lt;br /&gt;
		header = {&lt;br /&gt;
			&#039;! &#039; .. rowspan .. &#039; | Blok&#039;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		if not simple then&lt;br /&gt;
			table.insert( header, &#039;! &#039; .. rowspan .. sortType .. &#039; | Twardość&#039; )&lt;br /&gt;
			if showTool then&lt;br /&gt;
				table.insert( header, &#039;! &#039; .. rowspan .. &#039; | Narzędzie&#039; )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local toolColumns = {}&lt;br /&gt;
		if showTool then&lt;br /&gt;
			toolColumns = { &#039;Drewniany&#039;, &#039;Kamienny&#039;, &#039;Miedzny&#039;, &#039;Żelazny&#039;, &#039;Diamentowy&#039;, &#039;Netherytowy&#039;, &#039;Złoty&#039;}&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( toolColumns, 1, &#039;Domyślne&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if not simple then&lt;br /&gt;
			if showShears then&lt;br /&gt;
				table.insert( toolColumns, &#039;Nożyce&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if showSword then&lt;br /&gt;
				table.insert( toolColumns, &#039;Miecz&#039; )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			table.insert( header, &#039;! colspan=&amp;quot;&#039; .. #toolColumns .. &#039;&amp;quot; |&#039; .. getBreakingTimeHeader( f ) )&lt;br /&gt;
			table.insert( header, &#039;|-&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local toolSprites = {&lt;br /&gt;
			[&#039;Drewniany&#039;] = { &#039;Block&#039;, &#039;dębowe-deski&#039; },&lt;br /&gt;
			[&#039;Kamienny&#039;] = { &#039;Block&#039;, &#039;bruk&#039; },&lt;br /&gt;
			[&#039;Miedzny&#039;] = { &#039;Item&#039;, &#039;sztabka-miedzi&#039; },&lt;br /&gt;
			[&#039;Żelazny&#039;] = { &#039;Item&#039;, &#039;sztabka-żelaza&#039; },&lt;br /&gt;
			[&#039;Diamentowy&#039;] = { &#039;Item&#039;, &#039;diament&#039; },&lt;br /&gt;
			[&#039;Netherytowy&#039;] = { &#039;Item&#039;, &#039;sztabka-netherytu&#039; },&lt;br /&gt;
			[&#039;Złoty&#039;] = { &#039;Item&#039;, &#039;sztabka-złota&#039; },&lt;br /&gt;
			[&#039;Nożyce&#039;] = { &#039;Item&#039;, &#039;nożyce&#039; },&lt;br /&gt;
			[&#039;Miecz&#039;] = { &#039;Item&#039;, &#039;drewniany-miecz&#039; }&lt;br /&gt;
		}&lt;br /&gt;
		for _, tool in ipairs( toolColumns ) do&lt;br /&gt;
			if toolSprites[tool] then&lt;br /&gt;
				local image = f:expandTemplate({title = toolSprites[tool][1]..&#039;Sprite&#039;, args = {[&#039;1&#039;]=toolSprites[tool][2]}}).. &#039; &#039; .. tool&lt;br /&gt;
				table.insert( header, &#039;! style=&amp;quot;text-align:left&amp;quot; &#039; .. sortType .. &#039; | &#039; .. image )&lt;br /&gt;
				table.insert( categories, spriteCat )&lt;br /&gt;
			else&lt;br /&gt;
				table.insert( header, &#039;! &#039; .. sortType .. &#039; | &#039; .. tool )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			header = table.concat( header, &#039;\n&#039; )&lt;br /&gt;
			setDplVar( &#039;header&#039;, header )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( tableParts, header )&lt;br /&gt;
	else&lt;br /&gt;
		showTool = not getDplVar( &#039;hidetool&#039; )&lt;br /&gt;
		showShears = not getDplVar( &#039;hideshears&#039; )&lt;br /&gt;
		showSword = not getDplVar( &#039;hidesword&#039; )&lt;br /&gt;
		sortable = getDplVar( &#039;sortable&#039; )&lt;br /&gt;
		simple = getDplVar( &#039;simple&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local hardness = args[&#039;twardość&#039;]&lt;br /&gt;
	&lt;br /&gt;
	local function fillCells( cellsTable, text, num )&lt;br /&gt;
		for i = 1, num do&lt;br /&gt;
			table.insert( cellsTable, text )&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local materialGrade = {&lt;br /&gt;
		Any = 0,&lt;br /&gt;
		Wooden = 1, Wood = 1,&lt;br /&gt;
		Golden = 1,&lt;br /&gt;
		Stone = 2,&lt;br /&gt;
		Copper = 2,&lt;br /&gt;
		Iron = 3,&lt;br /&gt;
		Diamond = 4,&lt;br /&gt;
        Netherite = 5,&lt;br /&gt;
		None = 6,&lt;br /&gt;
		[&#039;Drewniany&#039;] = 1, [&#039;Drewno&#039;] = 1,&lt;br /&gt;
		[&#039;Złoty&#039;] = 1,&lt;br /&gt;
		[&#039;Kamienny&#039;] = 2,&lt;br /&gt;
		[&#039;Miedziany&#039;] = 2,&lt;br /&gt;
		[&#039;Żelazny&#039;] = 3,&lt;br /&gt;
		[&#039;Diamentowy&#039;] = 4,&lt;br /&gt;
        [&#039;Netherytowy&#039;] = 5,&lt;br /&gt;
		[&#039;Brak&#039;] = 6&lt;br /&gt;
	}&lt;br /&gt;
	local materialSpeed = {&lt;br /&gt;
		None = 1,&lt;br /&gt;
		Any = 1,&lt;br /&gt;
		Wooden = 2, Wood = 2,&lt;br /&gt;
		Stone = 4,&lt;br /&gt;
		Copper = 5,&lt;br /&gt;
		Iron = 6,&lt;br /&gt;
		Diamond = 8,&lt;br /&gt;
        Netherite = 9,&lt;br /&gt;
		Golden = 12,&lt;br /&gt;
		[&#039;Drewniany&#039;] = 2, [&#039;Drewno&#039;] = 2,&lt;br /&gt;
		[&#039;Złoty&#039;] = 12,&lt;br /&gt;
		[&#039;Kamienny&#039;] = 4,&lt;br /&gt;
		[&#039;Miedziany&#039;] = 5,&lt;br /&gt;
		[&#039;Żelazny&#039;] = 6,&lt;br /&gt;
		[&#039;Diamentowy&#039;] = 8,&lt;br /&gt;
        [&#039;Netherytowy&#039;] = 9,&lt;br /&gt;
		[&#039;Brak&#039;] = 1&lt;br /&gt;
	}&lt;br /&gt;
	local numberMaterials = 6&lt;br /&gt;
	&lt;br /&gt;
	local function insertBlock( blockArgs )&lt;br /&gt;
		local cells = {}&lt;br /&gt;
		local blocks = mw.text.split( blockArgs[1], &#039;%s*,%s*&#039; )&lt;br /&gt;
		local hardnessVal = hardness&lt;br /&gt;
		if not hardnessVal then&lt;br /&gt;
			hardnessVal = &#039;?&#039;&lt;br /&gt;
			local title = mw.title.getCurrentTitle()&lt;br /&gt;
			if title.namespace == 0 and not title.isSubpage then&lt;br /&gt;
				table.insert(categories, &#039;[[Category:Missing hardness]]&#039;)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		local unbreakable&lt;br /&gt;
		if hardnessVal == -1 or blockArgs.liquid then&lt;br /&gt;
			unbreakable = true&lt;br /&gt;
		elseif hardnessVal ~= 0 then&lt;br /&gt;
			showOptions = true&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local blockSprites = {}&lt;br /&gt;
		local links = mw.text.split( blockArgs.link or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		local ids = mw.text.split( blockArgs.sprite or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		local items = mw.text.split( blockArgs.item or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		for i, block in ipairs( blocks ) do&lt;br /&gt;
			local link&lt;br /&gt;
			if not links[i] and links[1] ~= &#039;&#039; then&lt;br /&gt;
				link = links[1]&lt;br /&gt;
			elseif links[i] ~= &#039;&#039; then&lt;br /&gt;
				link = links[i]&lt;br /&gt;
			end&lt;br /&gt;
			local id&lt;br /&gt;
			if not ids[i] and ids[1] ~= &#039;&#039; then&lt;br /&gt;
				id = ids[1]&lt;br /&gt;
			elseif ids[i] ~= &#039;&#039; then&lt;br /&gt;
				id = ids[i]&lt;br /&gt;
			end&lt;br /&gt;
			local blockText&lt;br /&gt;
			if args.textTrim then&lt;br /&gt;
				blockText = block:gsub( args.textTrim .. &#039;$&#039;, &#039;&#039; )&lt;br /&gt;
			else&lt;br /&gt;
				blockText = block&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			local image = f:expandTemplate({title=&#039;BlockLink&#039;, args = {[&#039;1&#039;]=block,text=blockText,link=link,id=id}})&lt;br /&gt;
			table.insert( blockSprites, image )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( cells,&lt;br /&gt;
			&#039;!&#039; .. (horizontal and &#039;&#039; or &#039; style=&amp;quot;text-align:left&amp;quot; | &#039;) .. table.concat( blockSprites, &#039;&amp;lt;br&amp;gt;&#039; ) .. ( blockArgs.note or &#039;&#039; )&lt;br /&gt;
		)&lt;br /&gt;
		&lt;br /&gt;
		local tool = mw.text.trim( simple and &#039;Tool&#039; or blockArgs[2] or &#039;Any&#039; ):gsub( &#039;^%l&#039;, string.upper )&lt;br /&gt;
		local material = mw.text.trim( simple and blockArgs[2] or blockArgs[3] or &#039;Any&#039; ):gsub( &#039;^%l&#039;, string.upper )&lt;br /&gt;
		if tool == &#039;None&#039; then&lt;br /&gt;
			material = tool&lt;br /&gt;
		end&lt;br /&gt;
		if not simple then&lt;br /&gt;
			local hardnessText = hardnessVal&lt;br /&gt;
			if hardnessVal == -1 then&lt;br /&gt;
				hardnessText = ( sortable and &#039;data-sort-value=&amp;quot;9999&amp;quot; | &#039; or &#039;&#039; ) .. &amp;quot;&amp;amp;#45;1 (infinite)&amp;quot;&lt;br /&gt;
			end&lt;br /&gt;
			table.insert( cells, &#039;|&#039; .. hardnessText )&lt;br /&gt;
			&lt;br /&gt;
			if showTool then&lt;br /&gt;
				local toolCell = &#039;—&#039;&lt;br /&gt;
				if tool ~= &#039;Any&#039; and tool ~= &#039;None&#039; then&lt;br /&gt;
					if material == &#039;Wood&#039; then&lt;br /&gt;
						material = &#039;Wooden&#039;&lt;br /&gt;
					end&lt;br /&gt;
					local isMaterialSpecified = (material ~= &#039;Any&#039;) and (material ~= &#039;None&#039;)&lt;br /&gt;
					local toolName = polish:lc(( isMaterialSpecified and material .. &#039;-&#039; or &#039;&#039; ) .. tool)&lt;br /&gt;
					local toolSpriteName = toolName .. ( (isMaterialSpecified) and &#039;&#039; or &#039; Required&#039; )&lt;br /&gt;
					local image = f:expandTemplate({title=isMaterialSpecified and &#039;ItemSprite&#039; or &#039;SlotSprite&#039;, args = {[&#039;1&#039;]=toolSpriteName,title=toolName,link=tool,keepcase = not isMaterialSpecified}})&lt;br /&gt;
					&lt;br /&gt;
					toolCell = ( sortable and &#039;data-sort-value=&amp;quot;&#039; .. toolName .. &#039;&amp;quot; |&#039; or &#039;&#039; ) .. image&lt;br /&gt;
					table.insert( categories, spriteCat )&lt;br /&gt;
				end&lt;br /&gt;
				table.insert( cells, &#039;|&#039; .. toolCell )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local choices = {}&lt;br /&gt;
		local function getChoice( choice, text )&lt;br /&gt;
			if not choices[choice] then&lt;br /&gt;
				choices[choice] = f:expandTemplate{ title = &#039;Tc&#039;, args = { choice, &#039;&#039; } }&lt;br /&gt;
			end&lt;br /&gt;
			return choices[choice] .. text&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local function processTime( actualHardness, baseSpeed, tool )&lt;br /&gt;
			-- the number passed in has been multiplied by 100&lt;br /&gt;
			local num = actualHardness / baseSpeed&lt;br /&gt;
			if num &amp;lt;= 5 then	   -- Blocks with a breaking time &amp;lt;= 1 game tick (0.05 seconds) are instant mined (no delay after each block broken)&lt;br /&gt;
				num = &amp;quot;&#039;&#039;0.05&#039;&#039;&amp;quot;    -- Blocks have a minimum breaking time of 1 game tick&lt;br /&gt;
			else					-- And they must be broken in multiples of 1 game tick&lt;br /&gt;
				num = math.ceil( num / 5 ) / 20&lt;br /&gt;
			end&lt;br /&gt;
			return &#039;&amp;lt;span class=&amp;quot;calculator-field breakingrow-breakingtime-value&amp;quot; data-calculator-type=&amp;quot;plain&amp;quot; data-calculator-formula=&amp;quot;&#039;&lt;br /&gt;
				.. &#039;max(1,ceil(&#039; .. (actualHardness / 5) .. &#039;/(&#039; .. baseSpeed .. ((tool ~= &#039;Any&#039; and tool ~= &#039;Sword&#039;) and &#039;+efficiencySpeed&#039; or &#039;&#039;) .. &#039;)/hasteMultiplier))/20&#039;&lt;br /&gt;
				.. &#039;&amp;quot;&amp;gt;&#039; .. num .. &#039;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if hardnessVal == &#039;?&#039; then&lt;br /&gt;
			fillCells( cells, &#039;|?&#039;, numberMaterials + 1 )&lt;br /&gt;
		else&lt;br /&gt;
			if unbreakable then&lt;br /&gt;
				table.insert( cells, &#039;| &#039; .. ( sortable and &#039;data-sort-value=&amp;quot;9999&amp;quot; &#039; or &#039;&#039; ) .. getChoice( &#039;nie&#039;, &#039;∞&#039; ) )&lt;br /&gt;
				if showTool then&lt;br /&gt;
					fillCells( cells, &#039;|—&#039;, numberMaterials )&lt;br /&gt;
				end&lt;br /&gt;
			else&lt;br /&gt;
				local drop = &#039;tak&#039;&lt;br /&gt;
				local forceDrop = false&lt;br /&gt;
				if blockArgs.drop == &#039;0&#039; then&lt;br /&gt;
					drop = &#039;częściowo&#039;&lt;br /&gt;
				elseif blockArgs.drop == &#039;1&#039; then&lt;br /&gt;
					forceDrop = &#039;tak&#039;&lt;br /&gt;
				end&lt;br /&gt;
				local requiredLevel = unbreakable and 999 or materialGrade[material]&lt;br /&gt;
				local function insertMaterialCell( material )&lt;br /&gt;
					local shouldDrop = drop&lt;br /&gt;
					if materialGrade[material] &amp;lt; requiredLevel then&lt;br /&gt;
						shouldDrop = &#039;nie&#039;&lt;br /&gt;
					end&lt;br /&gt;
					-- prevent float number precision loss, multiply by 100 and divide it in processTime function&lt;br /&gt;
					local breakTime = processTime( hardnessVal * (shouldDrop == &#039;nie&#039; and 500 or 150), materialSpeed[material], material )&lt;br /&gt;
					table.insert( cells, &#039;|&#039; .. getChoice( forceDrop or shouldDrop, breakTime ) )&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				if not showTool or tool == &#039;Any&#039; or tool == &#039;None&#039; then&lt;br /&gt;
					insertMaterialCell( &#039;Any&#039; )&lt;br /&gt;
					if showTool then&lt;br /&gt;
						fillCells( cells, &#039;|—&#039;, numberMaterials )&lt;br /&gt;
					end&lt;br /&gt;
				else&lt;br /&gt;
					for _, material in ipairs{ &#039;Any&#039;, &#039;Wooden&#039;, &#039;Stone&#039;, &#039;Copper&#039;, &#039;Iron&#039;, &#039;Diamond&#039;, &#039;Netherite&#039;, &#039;Golden&#039; } do&lt;br /&gt;
						insertMaterialCell( material )&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not simple and ( showShears or showSword ) then&lt;br /&gt;
			local tools = {}&lt;br /&gt;
			if showShears then&lt;br /&gt;
				table.insert( tools, &#039;Shears&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if showSword then&lt;br /&gt;
				table.insert( tools, &#039;Sword&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if hardnessVal == &#039;?&#039; then&lt;br /&gt;
				fillCells( cells, &#039;|?&#039;, #tools )&lt;br /&gt;
			else&lt;br /&gt;
				local toolSpeed = {&lt;br /&gt;
					Shears = 1,&lt;br /&gt;
					Sword = 1.5&lt;br /&gt;
				}&lt;br /&gt;
				if blocks[1] == &#039;Wool&#039; then&lt;br /&gt;
					toolSpeed.Shears = 5&lt;br /&gt;
				elseif blocks[1] == &#039;Leaves&#039; then&lt;br /&gt;
					toolSpeed.Shears = 15&lt;br /&gt;
				elseif blocks[1] == &#039;Cobweb&#039; then&lt;br /&gt;
					toolSpeed.Sword = 15&lt;br /&gt;
					toolSpeed.Shears = 15&lt;br /&gt;
				elseif blocks[1] == &#039;Bamboo&#039; or blocks[1] == &#039;Bamboo Shoot&#039; then&lt;br /&gt;
					toolSpeed.Sword = 5000&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				for _, tool in ipairs( tools ) do&lt;br /&gt;
					local toolDrop = blockArgs[mw.ustring.lower( tool )]&lt;br /&gt;
					if not toolDrop then&lt;br /&gt;
						table.insert( cells, &#039;|—&#039; )&lt;br /&gt;
					else&lt;br /&gt;
						local willDrop = &#039;tak&#039;&lt;br /&gt;
						if toolDrop == &#039;0&#039; then&lt;br /&gt;
							willDrop = &#039;częściowo&#039;&lt;br /&gt;
						end&lt;br /&gt;
						-- prevent float number precision loss, multiply by 100 and divide it in processTime function&lt;br /&gt;
						local breakTime = processTime( hardnessVal * 150, toolSpeed[tool], tool )&lt;br /&gt;
						table.insert( cells, &#039;|&#039; .. getChoice( willDrop, breakTime ) )&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			cells = table.concat( cells, &#039;\n&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( tableParts, cells )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if horizontal then&lt;br /&gt;
		local blocksArgs = {}&lt;br /&gt;
		for _, arg in ipairs{ 1, &#039;note&#039;, &#039;sprite&#039;, &#039;link&#039;, &#039;item&#039;, &#039;drop&#039;, 2, 3, &#039;shears&#039;, &#039;sword&#039; } do&lt;br /&gt;
			if args[arg] then&lt;br /&gt;
				local col = 0&lt;br /&gt;
				for colVal in mw.text.gsplit( args[arg], &#039;%s*;%s*&#039; ) do&lt;br /&gt;
					col = col + 1&lt;br /&gt;
					if colVal ~= &#039;&#039; then&lt;br /&gt;
						if not blocksArgs[col] then&lt;br /&gt;
							blocksArgs[col] = {}&lt;br /&gt;
						end&lt;br /&gt;
						&lt;br /&gt;
						blocksArgs[col][arg] = colVal&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		for _, block in ipairs( blocksArgs ) do&lt;br /&gt;
			insertBlock( block )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local columns = #tableParts&lt;br /&gt;
		for row = 1, #tableParts[1] do&lt;br /&gt;
			local cells = {}&lt;br /&gt;
			for col = 1, columns do&lt;br /&gt;
				table.insert( cells, tableParts[col][row] )&lt;br /&gt;
			end&lt;br /&gt;
			table.insert( rows, table.concat( cells, &#039;\n&#039; ) )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- Insert breaking time header after block row when simple, or after tool or hardness row when not&lt;br /&gt;
		table.insert( rows, simple and 3 or showTool and 5 or 4, &#039;! colspan=&amp;quot;&#039; .. columns + 1 .. &#039;&amp;quot; |&#039; .. getBreakingTimeHeader( f ) )&lt;br /&gt;
	else&lt;br /&gt;
		insertBlock( args )&lt;br /&gt;
		for _, row in ipairs( tableParts ) do&lt;br /&gt;
			table.insert( rows, row )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039;&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local note = &#039;&#039;&lt;br /&gt;
	if args.foot or horizontal then&lt;br /&gt;
		note = f:preprocess( &#039;&amp;lt;references group=&amp;quot;FN&amp;quot;/&amp;gt;&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if args.foot == &#039;2&#039; then&lt;br /&gt;
			table.insert( rows, header or getDplVar( &#039;header&#039; ) )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039;|}&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			f:callParserFunction( &#039;#dplvar:set&#039;,&lt;br /&gt;
				&#039;breaking header&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hidetool&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hideshears&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hidesword&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking simple&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking sortable&#039;, &#039;&#039;&lt;br /&gt;
			)&lt;br /&gt;
		end&lt;br /&gt;
	elseif #dplVars &amp;gt; 0 then&lt;br /&gt;
		f:callParserFunction( &#039;#dplvar:set&#039;, dplVars )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local result = table.concat( rows, &#039;\n|-\n&#039; )&lt;br /&gt;
	return result .. note .. table.concat( categories )&lt;br /&gt;
end&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Modu%C5%82:MetroKopUA_test&amp;diff=122947</id>
		<title>Moduł:MetroKopUA test</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Modu%C5%82:MetroKopUA_test&amp;diff=122947"/>
		<updated>2025-07-20T01:28:07Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {}&lt;br /&gt;
local polish = mw.language.new(&#039;pl&#039;)&lt;br /&gt;
&lt;br /&gt;
local breakingTimeHeader;&lt;br /&gt;
local function getBreakingTimeHeader( f )&lt;br /&gt;
	if breakingTimeHeader == nil then&lt;br /&gt;
		breakingTimeHeader = &#039;Czas wydobycia (sec)&#039; .. f:preprocess( &#039;&amp;lt;ref group=&amp;quot;FN&amp;quot; name=&amp;quot;breakingtimenote&amp;quot;&amp;gt;These durations ignore other influential factors (e.g. [[Mining Fatigue]]), and are measured in seconds. For more information, see [[Breaking#Speed|Breaking § Speed]].&amp;lt;/ref&amp;gt;&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	return breakingTimeHeader&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function p.row( f )&lt;br /&gt;
	local args = require( [[Moduł:ProcessArgs]] ).norm()&lt;br /&gt;
	&lt;br /&gt;
	local function getDplVar( var )&lt;br /&gt;
		local val = f:callParserFunction( &#039;#dplvar&#039;, &#039;breaking &#039; .. var )&lt;br /&gt;
		if val == &#039;&#039; then&lt;br /&gt;
			val = false&lt;br /&gt;
		end&lt;br /&gt;
		return val&lt;br /&gt;
	end&lt;br /&gt;
	local dplVars = {}&lt;br /&gt;
	local function setDplVar( var, val )&lt;br /&gt;
		table.insert( dplVars, &#039;breaking &#039; .. var )&lt;br /&gt;
		table.insert( dplVars, val or &#039;1&#039; )&lt;br /&gt;
	end&lt;br /&gt;
		&lt;br /&gt;
	local rows = {}&lt;br /&gt;
	local tableParts = {}&lt;br /&gt;
	local categories = {}&lt;br /&gt;
	local showOptions = false&lt;br /&gt;
	&lt;br /&gt;
	local horizontal&lt;br /&gt;
	if args[&#039;horyzontalny&#039;] or args[1]:match( &#039;;&#039; ) then&lt;br /&gt;
		horizontal = true&lt;br /&gt;
	end&lt;br /&gt;
	local showTool = true&lt;br /&gt;
	local showShears = true&lt;br /&gt;
	local showSword = true&lt;br /&gt;
	local header, sortable, simple&lt;br /&gt;
	if horizontal or not getDplVar( &#039;header&#039; ) then&lt;br /&gt;
		if args.hidetool or horizontal and ( not args[2] or args[2]:lower() == &#039;any&#039; or args[2]:lower() == &#039;none&#039; ) then&lt;br /&gt;
			showTool = false&lt;br /&gt;
			setDplVar( &#039;hidetool&#039; )&lt;br /&gt;
    		breakingTimeHeader = &#039;[[Breaking]] time (secs)&#039;&lt;br /&gt;
		end&lt;br /&gt;
		if args.hideshears or horizontal and not args.shears then&lt;br /&gt;
			showShears = false&lt;br /&gt;
			setDplVar( &#039;hideshears&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		if args.hidesword or horizontal and not args.sword then&lt;br /&gt;
			showSword = false&lt;br /&gt;
			setDplVar( &#039;hidesword&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		sortable = not horizontal and args.sort&lt;br /&gt;
		if sortable then&lt;br /&gt;
			setDplVar( &#039;sortable&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		simple = args.simple&lt;br /&gt;
		if simple and not horizontal then&lt;br /&gt;
			setDplVar( &#039;simple&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local tableClasses = { &#039;wikitable&#039; }&lt;br /&gt;
		if sortable then&lt;br /&gt;
			table.insert( tableClasses, &#039;sortable&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039; {| class=&amp;quot;&#039; .. table.concat( tableClasses, &#039; &#039; ) .. &#039;&amp;quot; style=&amp;quot;text-align: center; margin: 0;&amp;quot;&#039; )&lt;br /&gt;
		&lt;br /&gt;
		local sortType = &#039;&#039;&lt;br /&gt;
		if sortable then&lt;br /&gt;
			sortType = &#039;data-sort-type=&amp;quot;number&amp;quot;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		local rowspan = &#039;&#039;&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			rowspan = &#039;rowspan=&amp;quot;2&amp;quot; &#039;&lt;br /&gt;
		end&lt;br /&gt;
		header = {&lt;br /&gt;
			&#039;! &#039; .. rowspan .. &#039; | Blok&#039;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		if not simple then&lt;br /&gt;
			table.insert( header, &#039;! &#039; .. rowspan .. sortType .. &#039; | Twardość&#039; )&lt;br /&gt;
			if showTool then&lt;br /&gt;
				table.insert( header, &#039;! &#039; .. rowspan .. &#039; | Narzędzie&#039; )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local toolColumns = {}&lt;br /&gt;
		if showTool then&lt;br /&gt;
			toolColumns = { &#039;Drewniany&#039;, &#039;Kamienny&#039;, &#039;Miedzny&#039;, &#039;Żelazny&#039;, &#039;Diamentowy&#039;, &#039;Netherytowy&#039;, &#039;Złoty&#039;}&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( toolColumns, 1, &#039;Domyślne&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if not simple then&lt;br /&gt;
			if showShears then&lt;br /&gt;
				table.insert( toolColumns, &#039;Nożyce&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if showSword then&lt;br /&gt;
				table.insert( toolColumns, &#039;Miecz&#039; )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			table.insert( header, &#039;! colspan=&amp;quot;&#039; .. #toolColumns .. &#039;&amp;quot; |&#039; .. getBreakingTimeHeader( f ) )&lt;br /&gt;
			table.insert( header, &#039;|-&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local toolSprites = {&lt;br /&gt;
			[&#039;Drewniany&#039;] = { &#039;Block&#039;, &#039;dębowe-deski&#039; },&lt;br /&gt;
			[&#039;Kamienny&#039;] = { &#039;Block&#039;, &#039;bruk&#039; },&lt;br /&gt;
			[&#039;Miedzny&#039;] = { &#039;Item&#039;, &#039;sztabka-miedzi&#039; },&lt;br /&gt;
			[&#039;Żelazny&#039;] = { &#039;Item&#039;, &#039;sztabka-żelaza&#039; },&lt;br /&gt;
			[&#039;Diamentowy&#039;] = { &#039;Item&#039;, &#039;diament&#039; },&lt;br /&gt;
			[&#039;Netherytowy&#039;] = { &#039;Item&#039;, &#039;sztabka-netherytu&#039; },&lt;br /&gt;
			[&#039;Złoty&#039;] = { &#039;Item&#039;, &#039;sztabka-złota&#039; },&lt;br /&gt;
			[&#039;Nożyce&#039;] = { &#039;Item&#039;, &#039;nożyce&#039; },&lt;br /&gt;
			[&#039;Miecz&#039;] = { &#039;Item&#039;, &#039;drewniany-miecz&#039; }&lt;br /&gt;
		}&lt;br /&gt;
		for _, tool in ipairs( toolColumns ) do&lt;br /&gt;
			if toolSprites[tool] then&lt;br /&gt;
				local image = f:expandTemplate({title = toolSprites[tool][1]..&#039;Sprite&#039;, args = {[&#039;1&#039;]=toolSprites[tool][2]}}).. &#039; &#039; .. tool&lt;br /&gt;
				table.insert( header, &#039;! style=&amp;quot;text-align:left&amp;quot; &#039; .. sortType .. &#039; | &#039; .. image )&lt;br /&gt;
				table.insert( categories, spriteCat )&lt;br /&gt;
			else&lt;br /&gt;
				table.insert( header, &#039;! &#039; .. sortType .. &#039; | &#039; .. tool )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			header = table.concat( header, &#039;\n&#039; )&lt;br /&gt;
			setDplVar( &#039;header&#039;, header )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( tableParts, header )&lt;br /&gt;
	else&lt;br /&gt;
		showTool = not getDplVar( &#039;hidetool&#039; )&lt;br /&gt;
		showShears = not getDplVar( &#039;hideshears&#039; )&lt;br /&gt;
		showSword = not getDplVar( &#039;hidesword&#039; )&lt;br /&gt;
		sortable = getDplVar( &#039;sortable&#039; )&lt;br /&gt;
		simple = getDplVar( &#039;simple&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local hardness = args[&#039;twardość&#039;]&lt;br /&gt;
	&lt;br /&gt;
	local function fillCells( cellsTable, text, num )&lt;br /&gt;
		for i = 1, num do&lt;br /&gt;
			table.insert( cellsTable, text )&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local materialGrade = {&lt;br /&gt;
		Any = 0,&lt;br /&gt;
		Wooden = 1, Wood = 1,&lt;br /&gt;
		Golden = 1,&lt;br /&gt;
		Stone = 2,&lt;br /&gt;
		Copper = 2,&lt;br /&gt;
		Iron = 3,&lt;br /&gt;
		Diamond = 4,&lt;br /&gt;
        Netherite = 5,&lt;br /&gt;
		None = 6,&lt;br /&gt;
		[&#039;Drewniany&#039;] = 1, [&#039;Drewno&#039;] = 1,&lt;br /&gt;
		[&#039;Złoty&#039;] = 1,&lt;br /&gt;
		[&#039;Kamienny&#039;] = 2,&lt;br /&gt;
		[&#039;Miedziany&#039;] = 2,&lt;br /&gt;
		[&#039;Żelazny&#039;] = 3,&lt;br /&gt;
		[&#039;Diamentowy&#039;] = 4,&lt;br /&gt;
        [&#039;Netherytowy&#039;] = 5,&lt;br /&gt;
		[&#039;Brak&#039;] = 6&lt;br /&gt;
	}&lt;br /&gt;
	local materialSpeed = {&lt;br /&gt;
		None = 1,&lt;br /&gt;
		Any = 1,&lt;br /&gt;
		Wooden = 2, Wood = 2,&lt;br /&gt;
		Stone = 4,&lt;br /&gt;
		Copper = 5,&lt;br /&gt;
		Iron = 6,&lt;br /&gt;
		Diamond = 8,&lt;br /&gt;
        Netherite = 9,&lt;br /&gt;
		Golden = 12,&lt;br /&gt;
		[&#039;Drewniany&#039;] = 2, [&#039;Drewno&#039;] = 2,&lt;br /&gt;
		[&#039;Złoty&#039;] = 12,&lt;br /&gt;
		[&#039;Kamienny&#039;] = 4,&lt;br /&gt;
		[&#039;Miedziany&#039;] = 5,&lt;br /&gt;
		[&#039;Żelazny&#039;] = 6,&lt;br /&gt;
		[&#039;Diamentowy&#039;] = 8,&lt;br /&gt;
        [&#039;Netherytowy&#039;] = 9,&lt;br /&gt;
		[&#039;Brak&#039;] = 1&lt;br /&gt;
	}&lt;br /&gt;
	local numberMaterials = 6&lt;br /&gt;
	&lt;br /&gt;
	local function insertBlock( blockArgs )&lt;br /&gt;
		local cells = {}&lt;br /&gt;
		local blocks = mw.text.split( blockArgs[1], &#039;%s*,%s*&#039; )&lt;br /&gt;
		local hardnessVal = hardness&lt;br /&gt;
		if not hardnessVal then&lt;br /&gt;
			hardnessVal = &#039;?&#039;&lt;br /&gt;
			local title = mw.title.getCurrentTitle()&lt;br /&gt;
			if title.namespace == 0 and not title.isSubpage then&lt;br /&gt;
				table.insert(categories, &#039;[[Category:Missing hardness]]&#039;)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		local unbreakable&lt;br /&gt;
		if hardnessVal == -1 or blockArgs.liquid then&lt;br /&gt;
			unbreakable = true&lt;br /&gt;
		elseif hardnessVal ~= 0 then&lt;br /&gt;
			showOptions = true&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local blockSprites = {}&lt;br /&gt;
		local links = mw.text.split( blockArgs.link or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		local ids = mw.text.split( blockArgs.sprite or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		local items = mw.text.split( blockArgs.item or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		for i, block in ipairs( blocks ) do&lt;br /&gt;
			local link&lt;br /&gt;
			if not links[i] and links[1] ~= &#039;&#039; then&lt;br /&gt;
				link = links[1]&lt;br /&gt;
			elseif links[i] ~= &#039;&#039; then&lt;br /&gt;
				link = links[i]&lt;br /&gt;
			end&lt;br /&gt;
			local id&lt;br /&gt;
			if not ids[i] and ids[1] ~= &#039;&#039; then&lt;br /&gt;
				id = ids[1]&lt;br /&gt;
			elseif ids[i] ~= &#039;&#039; then&lt;br /&gt;
				id = ids[i]&lt;br /&gt;
			end&lt;br /&gt;
			local blockText&lt;br /&gt;
			if args.textTrim then&lt;br /&gt;
				blockText = block:gsub( args.textTrim .. &#039;$&#039;, &#039;&#039; )&lt;br /&gt;
			else&lt;br /&gt;
				blockText = block&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			local image = f:expandTemplate({title=&#039;BlockLink&#039;, args = {[&#039;1&#039;]=block,text=blockText,link=link,id=id}})&lt;br /&gt;
			table.insert( blockSprites, image )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( cells,&lt;br /&gt;
			&#039;!&#039; .. (horizontal and &#039;&#039; or &#039; style=&amp;quot;text-align:left&amp;quot; | &#039;) .. table.concat( blockSprites, &#039;&amp;lt;br&amp;gt;&#039; ) .. ( blockArgs.note or &#039;&#039; )&lt;br /&gt;
		)&lt;br /&gt;
		&lt;br /&gt;
		local tool = mw.text.trim( simple and &#039;Tool&#039; or blockArgs[2] or &#039;Any&#039; ):gsub( &#039;^%l&#039;, string.upper )&lt;br /&gt;
		local material = mw.text.trim( simple and blockArgs[2] or blockArgs[3] or &#039;Any&#039; ):gsub( &#039;^%l&#039;, string.upper )&lt;br /&gt;
		if tool == &#039;None&#039; then&lt;br /&gt;
			material = tool&lt;br /&gt;
		end&lt;br /&gt;
		if not simple then&lt;br /&gt;
			local hardnessText = hardnessVal&lt;br /&gt;
			if hardnessVal == -1 then&lt;br /&gt;
				hardnessText = ( sortable and &#039;data-sort-value=&amp;quot;9999&amp;quot; | &#039; or &#039;&#039; ) .. &amp;quot;&amp;amp;#45;1 (infinite)&amp;quot;&lt;br /&gt;
			end&lt;br /&gt;
			table.insert( cells, &#039;|&#039; .. hardnessText )&lt;br /&gt;
			&lt;br /&gt;
			if showTool then&lt;br /&gt;
				local toolCell = &#039;—&#039;&lt;br /&gt;
				if tool ~= &#039;Any&#039; and tool ~= &#039;None&#039; then&lt;br /&gt;
					if material == &#039;Wood&#039; then&lt;br /&gt;
						material = &#039;Wooden&#039;&lt;br /&gt;
					end&lt;br /&gt;
					local isMaterialSpecified = (material ~= &#039;Any&#039;) and (material ~= &#039;None&#039;)&lt;br /&gt;
					local toolName = polish:lc(( isMaterialSpecified and material .. &#039;-&#039; or &#039;&#039; ) .. tool)&lt;br /&gt;
					local toolSpriteName = toolName .. ( (isMaterialSpecified) and &#039;&#039; or &#039; Required&#039; )&lt;br /&gt;
					local image = f:expandTemplate({title=isMaterialSpecified and &#039;ItemSprite&#039; or &#039;SlotSprite&#039;, args = {[&#039;1&#039;]=toolSpriteName,title=toolName,link=tool,keepcase = not isMaterialSpecified}})&lt;br /&gt;
					&lt;br /&gt;
					toolCell = ( sortable and &#039;data-sort-value=&amp;quot;&#039; .. toolName .. &#039;&amp;quot; |&#039; or &#039;&#039; ) .. image&lt;br /&gt;
					table.insert( categories, spriteCat )&lt;br /&gt;
				end&lt;br /&gt;
				table.insert( cells, &#039;|&#039; .. toolCell )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local choices = {}&lt;br /&gt;
		local function getChoice( choice, text )&lt;br /&gt;
			if not choices[choice] then&lt;br /&gt;
				choices[choice] = f:expandTemplate{ title = &#039;Tc&#039;, args = { choice, &#039;&#039; } }&lt;br /&gt;
			end&lt;br /&gt;
			return choices[choice] .. text&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local function processTime( actualHardness, baseSpeed, tool )&lt;br /&gt;
			-- the number passed in has been multiplied by 100&lt;br /&gt;
			local num = actualHardness / baseSpeed&lt;br /&gt;
			if num &amp;lt;= 5 then	   -- Blocks with a breaking time &amp;lt;= 1 game tick (0.05 seconds) are instant mined (no delay after each block broken)&lt;br /&gt;
				num = &amp;quot;&#039;&#039;0.05&#039;&#039;&amp;quot;    -- Blocks have a minimum breaking time of 1 game tick&lt;br /&gt;
			else					-- And they must be broken in multiples of 1 game tick&lt;br /&gt;
				num = math.ceil( num / 5 ) / 20&lt;br /&gt;
			end&lt;br /&gt;
			return &#039;&amp;lt;span class=&amp;quot;calculator-field breakingrow-breakingtime-value&amp;quot; data-calculator-type=&amp;quot;plain&amp;quot; data-calculator-formula=&amp;quot;&#039;&lt;br /&gt;
				.. &#039;max(1,ceil(&#039; .. (actualHardness / 5) .. &#039;/(&#039; .. baseSpeed .. ((tool ~= &#039;Any&#039; and tool ~= &#039;Sword&#039;) and &#039;+efficiencySpeed&#039; or &#039;&#039;) .. &#039;)/hasteMultiplier))/20&#039;&lt;br /&gt;
				.. &#039;&amp;quot;&amp;gt;&#039; .. num .. &#039;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if hardnessVal == &#039;?&#039; then&lt;br /&gt;
			fillCells( cells, &#039;|?&#039;, numberMaterials + 1 )&lt;br /&gt;
		else&lt;br /&gt;
			if unbreakable then&lt;br /&gt;
				table.insert( cells, &#039;| &#039; .. ( sortable and &#039;data-sort-value=&amp;quot;9999&amp;quot; &#039; or &#039;&#039; ) .. getChoice( &#039;nie&#039;, &#039;∞&#039; ) )&lt;br /&gt;
				if showTool then&lt;br /&gt;
					fillCells( cells, &#039;|—&#039;, numberMaterials )&lt;br /&gt;
				end&lt;br /&gt;
			else&lt;br /&gt;
				local drop = &#039;tak&#039;&lt;br /&gt;
				local forceDrop = false&lt;br /&gt;
				if blockArgs.drop == &#039;0&#039; then&lt;br /&gt;
					drop = &#039;częściowo&#039;&lt;br /&gt;
				elseif blockArgs.drop == &#039;1&#039; then&lt;br /&gt;
					forceDrop = &#039;tak&#039;&lt;br /&gt;
				end&lt;br /&gt;
				local requiredLevel = unbreakable and 999 or materialGrade[material]&lt;br /&gt;
				local function insertMaterialCell( material )&lt;br /&gt;
					local shouldDrop = drop&lt;br /&gt;
					if materialGrade[material] &amp;lt; requiredLevel then&lt;br /&gt;
						shouldDrop = &#039;nie&#039;&lt;br /&gt;
					end&lt;br /&gt;
					-- prevent float number precision loss, multiply by 100 and divide it in processTime function&lt;br /&gt;
					local breakTime = processTime( hardnessVal * (shouldDrop == &#039;nie&#039; and 500 or 150), materialSpeed[material], material )&lt;br /&gt;
					table.insert( cells, &#039;|&#039; .. getChoice( forceDrop or shouldDrop, breakTime ) )&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				if not showTool or tool == &#039;Any&#039; or tool == &#039;None&#039; then&lt;br /&gt;
					insertMaterialCell( &#039;Any&#039; )&lt;br /&gt;
					if showTool then&lt;br /&gt;
						fillCells( cells, &#039;|—&#039;, numberMaterials )&lt;br /&gt;
					end&lt;br /&gt;
				else&lt;br /&gt;
					for _, material in ipairs{ &#039;Any&#039;, &#039;Wooden&#039;, &#039;Stone&#039;, &#039;Copper&#039;, &#039;Iron&#039;, &#039;Diamond&#039;, &#039;Netherite&#039;, &#039;Golden&#039; } do&lt;br /&gt;
						insertMaterialCell( material )&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not simple and ( showShears or showSword ) then&lt;br /&gt;
			local tools = {}&lt;br /&gt;
			if showShears then&lt;br /&gt;
				table.insert( tools, &#039;Shears&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if showSword then&lt;br /&gt;
				table.insert( tools, &#039;Sword&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if hardnessVal == &#039;?&#039; then&lt;br /&gt;
				fillCells( cells, &#039;|?&#039;, #tools )&lt;br /&gt;
			else&lt;br /&gt;
				local toolSpeed = {&lt;br /&gt;
					Shears = 1,&lt;br /&gt;
					Sword = 1.5&lt;br /&gt;
				}&lt;br /&gt;
				if blocks[1] == &#039;Wool&#039; then&lt;br /&gt;
					toolSpeed.Shears = 5&lt;br /&gt;
				elseif blocks[1] == &#039;Leaves&#039; then&lt;br /&gt;
					toolSpeed.Shears = 15&lt;br /&gt;
				elseif blocks[1] == &#039;Cobweb&#039; then&lt;br /&gt;
					toolSpeed.Sword = 15&lt;br /&gt;
					toolSpeed.Shears = 15&lt;br /&gt;
				elseif blocks[1] == &#039;Bamboo&#039; or blocks[1] == &#039;Bamboo Shoot&#039; then&lt;br /&gt;
					toolSpeed.Sword = 5000&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				for _, tool in ipairs( tools ) do&lt;br /&gt;
					local toolDrop = blockArgs[mw.ustring.lower( tool )]&lt;br /&gt;
					if not toolDrop then&lt;br /&gt;
						table.insert( cells, &#039;|—&#039; )&lt;br /&gt;
					else&lt;br /&gt;
						local willDrop = &#039;tak&#039;&lt;br /&gt;
						if toolDrop == &#039;0&#039; then&lt;br /&gt;
							willDrop = &#039;częściowo&#039;&lt;br /&gt;
						end&lt;br /&gt;
						-- prevent float number precision loss, multiply by 100 and divide it in processTime function&lt;br /&gt;
						local breakTime = processTime( hardnessVal * 150, toolSpeed[tool], tool )&lt;br /&gt;
						table.insert( cells, &#039;|&#039; .. getChoice( willDrop, breakTime ) )&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			cells = table.concat( cells, &#039;\n&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( tableParts, cells )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if horizontal then&lt;br /&gt;
		local blocksArgs = {}&lt;br /&gt;
		for _, arg in ipairs{ 1, &#039;note&#039;, &#039;sprite&#039;, &#039;link&#039;, &#039;item&#039;, &#039;drop&#039;, 2, 3, &#039;shears&#039;, &#039;sword&#039; } do&lt;br /&gt;
			if args[arg] then&lt;br /&gt;
				local col = 0&lt;br /&gt;
				for colVal in mw.text.gsplit( args[arg], &#039;%s*;%s*&#039; ) do&lt;br /&gt;
					col = col + 1&lt;br /&gt;
					if colVal ~= &#039;&#039; then&lt;br /&gt;
						if not blocksArgs[col] then&lt;br /&gt;
							blocksArgs[col] = {}&lt;br /&gt;
						end&lt;br /&gt;
						&lt;br /&gt;
						blocksArgs[col][arg] = colVal&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		for _, block in ipairs( blocksArgs ) do&lt;br /&gt;
			insertBlock( block )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local columns = #tableParts&lt;br /&gt;
		for row = 1, #tableParts[1] do&lt;br /&gt;
			local cells = {}&lt;br /&gt;
			for col = 1, columns do&lt;br /&gt;
				table.insert( cells, tableParts[col][row] )&lt;br /&gt;
			end&lt;br /&gt;
			table.insert( rows, table.concat( cells, &#039;\n&#039; ) )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- Insert breaking time header after block row when simple, or after tool or hardness row when not&lt;br /&gt;
		table.insert( rows, simple and 3 or showTool and 5 or 4, &#039;! colspan=&amp;quot;&#039; .. columns + 1 .. &#039;&amp;quot; |&#039; .. getBreakingTimeHeader( f ) )&lt;br /&gt;
	else&lt;br /&gt;
		insertBlock( args )&lt;br /&gt;
		for _, row in ipairs( tableParts ) do&lt;br /&gt;
			table.insert( rows, row )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039;&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local note = &#039;&#039;&lt;br /&gt;
	if args.foot or horizontal then&lt;br /&gt;
		note = f:preprocess( &#039;&amp;lt;references group=&amp;quot;FN&amp;quot;/&amp;gt;&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if args.foot == &#039;2&#039; then&lt;br /&gt;
			table.insert( rows, header or getDplVar( &#039;header&#039; ) )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039;|}&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			f:callParserFunction( &#039;#dplvar:set&#039;,&lt;br /&gt;
				&#039;breaking header&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hidetool&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hideshears&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hidesword&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking simple&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking sortable&#039;, &#039;&#039;&lt;br /&gt;
			)&lt;br /&gt;
		end&lt;br /&gt;
	elseif #dplVars &amp;gt; 0 then&lt;br /&gt;
		f:callParserFunction( &#039;#dplvar:set&#039;, dplVars )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local result = table.concat( rows, &#039;\n|-\n&#039; )&lt;br /&gt;
	return result .. note .. table.concat( categories )&lt;br /&gt;
end&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Modu%C5%82:MetroKopUA_test&amp;diff=122946</id>
		<title>Moduł:MetroKopUA test</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Modu%C5%82:MetroKopUA_test&amp;diff=122946"/>
		<updated>2025-07-20T01:24:05Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
local breakingTimeHeader;&lt;br /&gt;
local function getBreakingTimeHeader( f )&lt;br /&gt;
	if breakingTimeHeader == nil then&lt;br /&gt;
		breakingTimeHeader = &#039;Czas wydobycia (sec)&#039; .. f:preprocess( &#039;&amp;lt;ref group=&amp;quot;FN&amp;quot; name=&amp;quot;breakingtimenote&amp;quot;&amp;gt;These durations ignore other influential factors (e.g. [[Mining Fatigue]]), and are measured in seconds. For more information, see [[Breaking#Speed|Breaking § Speed]].&amp;lt;/ref&amp;gt;&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	return breakingTimeHeader&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function p.row( f )&lt;br /&gt;
	local args = require( [[Moduł:ProcessArgs]] ).norm()&lt;br /&gt;
	&lt;br /&gt;
	local function getDplVar( var )&lt;br /&gt;
		local val = f:callParserFunction( &#039;#dplvar&#039;, &#039;breaking &#039; .. var )&lt;br /&gt;
		if val == &#039;&#039; then&lt;br /&gt;
			val = false&lt;br /&gt;
		end&lt;br /&gt;
		return val&lt;br /&gt;
	end&lt;br /&gt;
	local dplVars = {}&lt;br /&gt;
	local function setDplVar( var, val )&lt;br /&gt;
		table.insert( dplVars, &#039;breaking &#039; .. var )&lt;br /&gt;
		table.insert( dplVars, val or &#039;1&#039; )&lt;br /&gt;
	end&lt;br /&gt;
		&lt;br /&gt;
	local rows = {}&lt;br /&gt;
	local tableParts = {}&lt;br /&gt;
	local categories = {}&lt;br /&gt;
	local showOptions = false&lt;br /&gt;
	&lt;br /&gt;
	local horizontal&lt;br /&gt;
	if args[&#039;horyzontalny&#039;] or args[1]:match( &#039;;&#039; ) then&lt;br /&gt;
		horizontal = true&lt;br /&gt;
	end&lt;br /&gt;
	local showTool = true&lt;br /&gt;
	local showShears = true&lt;br /&gt;
	local showSword = true&lt;br /&gt;
	local header, sortable, simple&lt;br /&gt;
	if horizontal or not getDplVar( &#039;header&#039; ) then&lt;br /&gt;
		if args.hidetool or horizontal and ( not args[2] or args[2]:lower() == &#039;any&#039; or args[2]:lower() == &#039;none&#039; ) then&lt;br /&gt;
			showTool = false&lt;br /&gt;
			setDplVar( &#039;hidetool&#039; )&lt;br /&gt;
    		breakingTimeHeader = &#039;[[Breaking]] time (secs)&#039;&lt;br /&gt;
		end&lt;br /&gt;
		if args.hideshears or horizontal and not args.shears then&lt;br /&gt;
			showShears = false&lt;br /&gt;
			setDplVar( &#039;hideshears&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		if args.hidesword or horizontal and not args.sword then&lt;br /&gt;
			showSword = false&lt;br /&gt;
			setDplVar( &#039;hidesword&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		sortable = not horizontal and args.sort&lt;br /&gt;
		if sortable then&lt;br /&gt;
			setDplVar( &#039;sortable&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		simple = args.simple&lt;br /&gt;
		if simple and not horizontal then&lt;br /&gt;
			setDplVar( &#039;simple&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local tableClasses = { &#039;wikitable&#039; }&lt;br /&gt;
		if sortable then&lt;br /&gt;
			table.insert( tableClasses, &#039;sortable&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039; {| class=&amp;quot;&#039; .. table.concat( tableClasses, &#039; &#039; ) .. &#039;&amp;quot; style=&amp;quot;text-align: center; margin: 0;&amp;quot;&#039; )&lt;br /&gt;
		&lt;br /&gt;
		local sortType = &#039;&#039;&lt;br /&gt;
		if sortable then&lt;br /&gt;
			sortType = &#039;data-sort-type=&amp;quot;number&amp;quot;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		local rowspan = &#039;&#039;&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			rowspan = &#039;rowspan=&amp;quot;2&amp;quot; &#039;&lt;br /&gt;
		end&lt;br /&gt;
		header = {&lt;br /&gt;
			&#039;! &#039; .. rowspan .. &#039; | Blok&#039;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		if not simple then&lt;br /&gt;
			table.insert( header, &#039;! &#039; .. rowspan .. sortType .. &#039; | Twardość&#039; )&lt;br /&gt;
			if showTool then&lt;br /&gt;
				table.insert( header, &#039;! &#039; .. rowspan .. &#039; | Narzędzie&#039; )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local toolColumns = {}&lt;br /&gt;
		if showTool then&lt;br /&gt;
			toolColumns = { &#039;Drewniany&#039;, &#039;Kamienny&#039;, &#039;Miedzny&#039;, &#039;Żelazny&#039;, &#039;Diamentowy&#039;, &#039;Netherytowy&#039;, &#039;Złoty&#039;}&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( toolColumns, 1, &#039;Domyślne&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if not simple then&lt;br /&gt;
			if showShears then&lt;br /&gt;
				table.insert( toolColumns, &#039;Nożyce&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if showSword then&lt;br /&gt;
				table.insert( toolColumns, &#039;Miecz&#039; )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			table.insert( header, &#039;! colspan=&amp;quot;&#039; .. #toolColumns .. &#039;&amp;quot; |&#039; .. getBreakingTimeHeader( f ) )&lt;br /&gt;
			table.insert( header, &#039;|-&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local toolSprites = {&lt;br /&gt;
			[&#039;Drewniany&#039;] = { &#039;Block&#039;, &#039;dębowe-deski&#039; },&lt;br /&gt;
			[&#039;Kamienny&#039;] = { &#039;Block&#039;, &#039;bruk&#039; },&lt;br /&gt;
			[&#039;Miedzny&#039;] = { &#039;Item&#039;, &#039;sztabka-miedzi&#039; },&lt;br /&gt;
			[&#039;Żelazny&#039;] = { &#039;Item&#039;, &#039;sztabka-żelaza&#039; },&lt;br /&gt;
			[&#039;Diamentowy&#039;] = { &#039;Item&#039;, &#039;diament&#039; },&lt;br /&gt;
			[&#039;Netherytowy&#039;] = { &#039;Item&#039;, &#039;sztabka-netherytu&#039; },&lt;br /&gt;
			[&#039;Złoty&#039;] = { &#039;Item&#039;, &#039;sztabka-złota&#039; },&lt;br /&gt;
			[&#039;Nożyce&#039;] = { &#039;Item&#039;, &#039;nożyce&#039; },&lt;br /&gt;
			[&#039;Miecz&#039;] = { &#039;Item&#039;, &#039;drewniany-miecz&#039; }&lt;br /&gt;
		}&lt;br /&gt;
		for _, tool in ipairs( toolColumns ) do&lt;br /&gt;
			if toolSprites[tool] then&lt;br /&gt;
				local image = f:expandTemplate({title = toolSprites[tool][1]..&#039;Sprite&#039;, args = {[&#039;1&#039;]=toolSprites[tool][2]}}).. &#039; &#039; .. tool&lt;br /&gt;
				table.insert( header, &#039;! style=&amp;quot;text-align:left&amp;quot; &#039; .. sortType .. &#039; | &#039; .. image )&lt;br /&gt;
				table.insert( categories, spriteCat )&lt;br /&gt;
			else&lt;br /&gt;
				table.insert( header, &#039;! &#039; .. sortType .. &#039; | &#039; .. tool )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			header = table.concat( header, &#039;\n&#039; )&lt;br /&gt;
			setDplVar( &#039;header&#039;, header )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( tableParts, header )&lt;br /&gt;
	else&lt;br /&gt;
		showTool = not getDplVar( &#039;hidetool&#039; )&lt;br /&gt;
		showShears = not getDplVar( &#039;hideshears&#039; )&lt;br /&gt;
		showSword = not getDplVar( &#039;hidesword&#039; )&lt;br /&gt;
		sortable = getDplVar( &#039;sortable&#039; )&lt;br /&gt;
		simple = getDplVar( &#039;simple&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local hardness = args[&#039;twardość&#039;]&lt;br /&gt;
	&lt;br /&gt;
	local function fillCells( cellsTable, text, num )&lt;br /&gt;
		for i = 1, num do&lt;br /&gt;
			table.insert( cellsTable, text )&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local materialGrade = {&lt;br /&gt;
		Any = 0,&lt;br /&gt;
		Wooden = 1, Wood = 1,&lt;br /&gt;
		Golden = 1,&lt;br /&gt;
		Stone = 2,&lt;br /&gt;
		Copper = 2,&lt;br /&gt;
		Iron = 3,&lt;br /&gt;
		Diamond = 4,&lt;br /&gt;
        Netherite = 5,&lt;br /&gt;
		None = 6,&lt;br /&gt;
		[&#039;Drewniany&#039;] = 1, [&#039;Drewno&#039;] = 1,&lt;br /&gt;
		[&#039;Złoty&#039;] = 1,&lt;br /&gt;
		[&#039;Kamienny&#039;] = 2,&lt;br /&gt;
		[&#039;Miedziany&#039;] = 2,&lt;br /&gt;
		[&#039;Żelazny&#039;] = 3,&lt;br /&gt;
		[&#039;Diamentowy&#039;] = 4,&lt;br /&gt;
        [&#039;Netherytowy&#039;] = 5,&lt;br /&gt;
		[&#039;Brak&#039;] = 6&lt;br /&gt;
	}&lt;br /&gt;
	local materialSpeed = {&lt;br /&gt;
		None = 1,&lt;br /&gt;
		Any = 1,&lt;br /&gt;
		Wooden = 2, Wood = 2,&lt;br /&gt;
		Stone = 4,&lt;br /&gt;
		Copper = 5,&lt;br /&gt;
		Iron = 6,&lt;br /&gt;
		Diamond = 8,&lt;br /&gt;
        Netherite = 9,&lt;br /&gt;
		Golden = 12,&lt;br /&gt;
		[&#039;Drewniany&#039;] = 2, [&#039;Drewno&#039;] = 2,&lt;br /&gt;
		[&#039;Złoty&#039;] = 12,&lt;br /&gt;
		[&#039;Kamienny&#039;] = 4,&lt;br /&gt;
		[&#039;Miedziany&#039;] = 5,&lt;br /&gt;
		[&#039;Żelazny&#039;] = 6,&lt;br /&gt;
		[&#039;Diamentowy&#039;] = 8,&lt;br /&gt;
        [&#039;Netherytowy&#039;] = 9,&lt;br /&gt;
		[&#039;Brak&#039;] = 1&lt;br /&gt;
	}&lt;br /&gt;
	local numberMaterials = 6&lt;br /&gt;
	&lt;br /&gt;
	local function insertBlock( blockArgs )&lt;br /&gt;
		local cells = {}&lt;br /&gt;
		local blocks = mw.text.split( blockArgs[1], &#039;%s*,%s*&#039; )&lt;br /&gt;
		local hardnessVal = hardness&lt;br /&gt;
		if not hardnessVal then&lt;br /&gt;
			hardnessVal = &#039;?&#039;&lt;br /&gt;
			local title = mw.title.getCurrentTitle()&lt;br /&gt;
			if title.namespace == 0 and not title.isSubpage then&lt;br /&gt;
				table.insert(categories, &#039;[[Category:Missing hardness]]&#039;)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		local unbreakable&lt;br /&gt;
		if hardnessVal == -1 or blockArgs.liquid then&lt;br /&gt;
			unbreakable = true&lt;br /&gt;
		elseif hardnessVal ~= 0 then&lt;br /&gt;
			showOptions = true&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local blockSprites = {}&lt;br /&gt;
		local links = mw.text.split( blockArgs.link or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		local ids = mw.text.split( blockArgs.sprite or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		local items = mw.text.split( blockArgs.item or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		for i, block in ipairs( blocks ) do&lt;br /&gt;
			local link&lt;br /&gt;
			if not links[i] and links[1] ~= &#039;&#039; then&lt;br /&gt;
				link = links[1]&lt;br /&gt;
			elseif links[i] ~= &#039;&#039; then&lt;br /&gt;
				link = links[i]&lt;br /&gt;
			end&lt;br /&gt;
			local id&lt;br /&gt;
			if not ids[i] and ids[1] ~= &#039;&#039; then&lt;br /&gt;
				id = ids[1]&lt;br /&gt;
			elseif ids[i] ~= &#039;&#039; then&lt;br /&gt;
				id = ids[i]&lt;br /&gt;
			end&lt;br /&gt;
			local blockText&lt;br /&gt;
			if args.textTrim then&lt;br /&gt;
				blockText = block:gsub( args.textTrim .. &#039;$&#039;, &#039;&#039; )&lt;br /&gt;
			else&lt;br /&gt;
				blockText = block&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			local image = f:expandTemplate({title=&#039;BlockLink&#039;, args = {[&#039;1&#039;]=block,text=blockText,link=link,id=id}})&lt;br /&gt;
			table.insert( blockSprites, image )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( cells,&lt;br /&gt;
			&#039;!&#039; .. (horizontal and &#039;&#039; or &#039; style=&amp;quot;text-align:left&amp;quot; | &#039;) .. table.concat( blockSprites, &#039;&amp;lt;br&amp;gt;&#039; ) .. ( blockArgs.note or &#039;&#039; )&lt;br /&gt;
		)&lt;br /&gt;
		&lt;br /&gt;
		local tool = mw.text.trim( simple and &#039;Tool&#039; or blockArgs[2] or &#039;Any&#039; ):gsub( &#039;^%l&#039;, string.upper )&lt;br /&gt;
		local material = mw.text.trim( simple and blockArgs[2] or blockArgs[3] or &#039;Any&#039; ):gsub( &#039;^%l&#039;, string.upper )&lt;br /&gt;
		if tool == &#039;None&#039; then&lt;br /&gt;
			material = tool&lt;br /&gt;
		end&lt;br /&gt;
		if not simple then&lt;br /&gt;
			local hardnessText = hardnessVal&lt;br /&gt;
			if hardnessVal == -1 then&lt;br /&gt;
				hardnessText = ( sortable and &#039;data-sort-value=&amp;quot;9999&amp;quot; | &#039; or &#039;&#039; ) .. &amp;quot;&amp;amp;#45;1 (infinite)&amp;quot;&lt;br /&gt;
			end&lt;br /&gt;
			table.insert( cells, &#039;|&#039; .. hardnessText )&lt;br /&gt;
			&lt;br /&gt;
			if showTool then&lt;br /&gt;
				local toolCell = &#039;—&#039;&lt;br /&gt;
				if tool ~= &#039;Any&#039; and tool ~= &#039;None&#039; then&lt;br /&gt;
					if material == &#039;Wood&#039; then&lt;br /&gt;
						material = &#039;Wooden&#039;&lt;br /&gt;
					end&lt;br /&gt;
					local isMaterialSpecified = (material ~= &#039;Any&#039;) and (material ~= &#039;None&#039;)&lt;br /&gt;
					local toolName = ( isMaterialSpecified and material .. &#039; &#039; or &#039;&#039; ) .. tool&lt;br /&gt;
					local toolSpriteName = toolName .. ( (isMaterialSpecified) and &#039;&#039; or &#039; Required&#039; )&lt;br /&gt;
					local image = f:expandTemplate({title=isMaterialSpecified and &#039;ItemSprite&#039; or &#039;SlotSprite&#039;, args = {[&#039;1&#039;]=toolSpriteName,title=toolName,link=tool,keepcase = not isMaterialSpecified}})&lt;br /&gt;
					&lt;br /&gt;
					toolCell = ( sortable and &#039;data-sort-value=&amp;quot;&#039; .. toolName .. &#039;&amp;quot; |&#039; or &#039;&#039; ) .. image&lt;br /&gt;
					table.insert( categories, spriteCat )&lt;br /&gt;
				end&lt;br /&gt;
				table.insert( cells, &#039;|&#039; .. toolCell )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local choices = {}&lt;br /&gt;
		local function getChoice( choice, text )&lt;br /&gt;
			if not choices[choice] then&lt;br /&gt;
				choices[choice] = f:expandTemplate{ title = &#039;Tc&#039;, args = { choice, &#039;&#039; } }&lt;br /&gt;
			end&lt;br /&gt;
			return choices[choice] .. text&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local function processTime( actualHardness, baseSpeed, tool )&lt;br /&gt;
			-- the number passed in has been multiplied by 100&lt;br /&gt;
			local num = actualHardness / baseSpeed&lt;br /&gt;
			if num &amp;lt;= 5 then	   -- Blocks with a breaking time &amp;lt;= 1 game tick (0.05 seconds) are instant mined (no delay after each block broken)&lt;br /&gt;
				num = &amp;quot;&#039;&#039;0.05&#039;&#039;&amp;quot;    -- Blocks have a minimum breaking time of 1 game tick&lt;br /&gt;
			else					-- And they must be broken in multiples of 1 game tick&lt;br /&gt;
				num = math.ceil( num / 5 ) / 20&lt;br /&gt;
			end&lt;br /&gt;
			return &#039;&amp;lt;span class=&amp;quot;calculator-field breakingrow-breakingtime-value&amp;quot; data-calculator-type=&amp;quot;plain&amp;quot; data-calculator-formula=&amp;quot;&#039;&lt;br /&gt;
				.. &#039;max(1,ceil(&#039; .. (actualHardness / 5) .. &#039;/(&#039; .. baseSpeed .. ((tool ~= &#039;Any&#039; and tool ~= &#039;Sword&#039;) and &#039;+efficiencySpeed&#039; or &#039;&#039;) .. &#039;)/hasteMultiplier))/20&#039;&lt;br /&gt;
				.. &#039;&amp;quot;&amp;gt;&#039; .. num .. &#039;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if hardnessVal == &#039;?&#039; then&lt;br /&gt;
			fillCells( cells, &#039;|?&#039;, numberMaterials + 1 )&lt;br /&gt;
		else&lt;br /&gt;
			if unbreakable then&lt;br /&gt;
				table.insert( cells, &#039;| &#039; .. ( sortable and &#039;data-sort-value=&amp;quot;9999&amp;quot; &#039; or &#039;&#039; ) .. getChoice( &#039;nie&#039;, &#039;∞&#039; ) )&lt;br /&gt;
				if showTool then&lt;br /&gt;
					fillCells( cells, &#039;|—&#039;, numberMaterials )&lt;br /&gt;
				end&lt;br /&gt;
			else&lt;br /&gt;
				local drop = &#039;tak&#039;&lt;br /&gt;
				local forceDrop = false&lt;br /&gt;
				if blockArgs.drop == &#039;0&#039; then&lt;br /&gt;
					drop = &#039;częściowo&#039;&lt;br /&gt;
				elseif blockArgs.drop == &#039;1&#039; then&lt;br /&gt;
					forceDrop = &#039;tak&#039;&lt;br /&gt;
				end&lt;br /&gt;
				local requiredLevel = unbreakable and 999 or materialGrade[material]&lt;br /&gt;
				local function insertMaterialCell( material )&lt;br /&gt;
					local shouldDrop = drop&lt;br /&gt;
					if materialGrade[material] &amp;lt; requiredLevel then&lt;br /&gt;
						shouldDrop = &#039;nie&#039;&lt;br /&gt;
					end&lt;br /&gt;
					-- prevent float number precision loss, multiply by 100 and divide it in processTime function&lt;br /&gt;
					local breakTime = processTime( hardnessVal * (shouldDrop == &#039;nie&#039; and 500 or 150), materialSpeed[material], material )&lt;br /&gt;
					table.insert( cells, &#039;|&#039; .. getChoice( forceDrop or shouldDrop, breakTime ) )&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				if not showTool or tool == &#039;Any&#039; or tool == &#039;None&#039; then&lt;br /&gt;
					insertMaterialCell( &#039;Any&#039; )&lt;br /&gt;
					if showTool then&lt;br /&gt;
						fillCells( cells, &#039;|—&#039;, numberMaterials )&lt;br /&gt;
					end&lt;br /&gt;
				else&lt;br /&gt;
					for _, material in ipairs{ &#039;Any&#039;, &#039;Wooden&#039;, &#039;Stone&#039;, &#039;Copper&#039;, &#039;Iron&#039;, &#039;Diamond&#039;, &#039;Netherite&#039;, &#039;Golden&#039; } do&lt;br /&gt;
						insertMaterialCell( material )&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not simple and ( showShears or showSword ) then&lt;br /&gt;
			local tools = {}&lt;br /&gt;
			if showShears then&lt;br /&gt;
				table.insert( tools, &#039;Shears&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if showSword then&lt;br /&gt;
				table.insert( tools, &#039;Sword&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if hardnessVal == &#039;?&#039; then&lt;br /&gt;
				fillCells( cells, &#039;|?&#039;, #tools )&lt;br /&gt;
			else&lt;br /&gt;
				local toolSpeed = {&lt;br /&gt;
					Shears = 1,&lt;br /&gt;
					Sword = 1.5&lt;br /&gt;
				}&lt;br /&gt;
				if blocks[1] == &#039;Wool&#039; then&lt;br /&gt;
					toolSpeed.Shears = 5&lt;br /&gt;
				elseif blocks[1] == &#039;Leaves&#039; then&lt;br /&gt;
					toolSpeed.Shears = 15&lt;br /&gt;
				elseif blocks[1] == &#039;Cobweb&#039; then&lt;br /&gt;
					toolSpeed.Sword = 15&lt;br /&gt;
					toolSpeed.Shears = 15&lt;br /&gt;
				elseif blocks[1] == &#039;Bamboo&#039; or blocks[1] == &#039;Bamboo Shoot&#039; then&lt;br /&gt;
					toolSpeed.Sword = 5000&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				for _, tool in ipairs( tools ) do&lt;br /&gt;
					local toolDrop = blockArgs[mw.ustring.lower( tool )]&lt;br /&gt;
					if not toolDrop then&lt;br /&gt;
						table.insert( cells, &#039;|—&#039; )&lt;br /&gt;
					else&lt;br /&gt;
						local willDrop = &#039;tak&#039;&lt;br /&gt;
						if toolDrop == &#039;0&#039; then&lt;br /&gt;
							willDrop = &#039;częściowo&#039;&lt;br /&gt;
						end&lt;br /&gt;
						-- prevent float number precision loss, multiply by 100 and divide it in processTime function&lt;br /&gt;
						local breakTime = processTime( hardnessVal * 150, toolSpeed[tool], tool )&lt;br /&gt;
						table.insert( cells, &#039;|&#039; .. getChoice( willDrop, breakTime ) )&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			cells = table.concat( cells, &#039;\n&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( tableParts, cells )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if horizontal then&lt;br /&gt;
		local blocksArgs = {}&lt;br /&gt;
		for _, arg in ipairs{ 1, &#039;note&#039;, &#039;sprite&#039;, &#039;link&#039;, &#039;item&#039;, &#039;drop&#039;, 2, 3, &#039;shears&#039;, &#039;sword&#039; } do&lt;br /&gt;
			if args[arg] then&lt;br /&gt;
				local col = 0&lt;br /&gt;
				for colVal in mw.text.gsplit( args[arg], &#039;%s*;%s*&#039; ) do&lt;br /&gt;
					col = col + 1&lt;br /&gt;
					if colVal ~= &#039;&#039; then&lt;br /&gt;
						if not blocksArgs[col] then&lt;br /&gt;
							blocksArgs[col] = {}&lt;br /&gt;
						end&lt;br /&gt;
						&lt;br /&gt;
						blocksArgs[col][arg] = colVal&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		for _, block in ipairs( blocksArgs ) do&lt;br /&gt;
			insertBlock( block )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local columns = #tableParts&lt;br /&gt;
		for row = 1, #tableParts[1] do&lt;br /&gt;
			local cells = {}&lt;br /&gt;
			for col = 1, columns do&lt;br /&gt;
				table.insert( cells, tableParts[col][row] )&lt;br /&gt;
			end&lt;br /&gt;
			table.insert( rows, table.concat( cells, &#039;\n&#039; ) )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- Insert breaking time header after block row when simple, or after tool or hardness row when not&lt;br /&gt;
		table.insert( rows, simple and 3 or showTool and 5 or 4, &#039;! colspan=&amp;quot;&#039; .. columns + 1 .. &#039;&amp;quot; |&#039; .. getBreakingTimeHeader( f ) )&lt;br /&gt;
	else&lt;br /&gt;
		insertBlock( args )&lt;br /&gt;
		for _, row in ipairs( tableParts ) do&lt;br /&gt;
			table.insert( rows, row )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039;&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local note = &#039;&#039;&lt;br /&gt;
	if args.foot or horizontal then&lt;br /&gt;
		note = f:preprocess( &#039;&amp;lt;references group=&amp;quot;FN&amp;quot;/&amp;gt;&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if args.foot == &#039;2&#039; then&lt;br /&gt;
			table.insert( rows, header or getDplVar( &#039;header&#039; ) )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039;|}&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			f:callParserFunction( &#039;#dplvar:set&#039;,&lt;br /&gt;
				&#039;breaking header&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hidetool&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hideshears&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hidesword&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking simple&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking sortable&#039;, &#039;&#039;&lt;br /&gt;
			)&lt;br /&gt;
		end&lt;br /&gt;
	elseif #dplVars &amp;gt; 0 then&lt;br /&gt;
		f:callParserFunction( &#039;#dplvar:set&#039;, dplVars )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local result = table.concat( rows, &#039;\n|-\n&#039; )&lt;br /&gt;
	return result .. note .. table.concat( categories )&lt;br /&gt;
end&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=Modu%C5%82:MetroKopUA_test&amp;diff=122945</id>
		<title>Moduł:MetroKopUA test</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=Modu%C5%82:MetroKopUA_test&amp;diff=122945"/>
		<updated>2025-07-20T01:13:30Z</updated>

		<summary type="html">&lt;p&gt;MetroKopUA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
local breakingTimeHeader;&lt;br /&gt;
local function getBreakingTimeHeader( f )&lt;br /&gt;
	if breakingTimeHeader == nil then&lt;br /&gt;
		breakingTimeHeader = &#039;[[Breaking]] time (sec)&#039; .. f:preprocess( &#039;&amp;lt;ref group=&amp;quot;FN&amp;quot; name=&amp;quot;breakingtimenote&amp;quot;&amp;gt;These durations ignore other influential factors (e.g. [[Mining Fatigue]]), and are measured in seconds. For more information, see [[Breaking#Speed|Breaking § Speed]].&amp;lt;/ref&amp;gt;&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	return breakingTimeHeader&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function p.row( f )&lt;br /&gt;
	local args = require( [[Moduł:ProcessArgs]] ).norm()&lt;br /&gt;
	&lt;br /&gt;
	local function getDplVar( var )&lt;br /&gt;
		local val = f:callParserFunction( &#039;#dplvar&#039;, &#039;breaking &#039; .. var )&lt;br /&gt;
		if val == &#039;&#039; then&lt;br /&gt;
			val = false&lt;br /&gt;
		end&lt;br /&gt;
		return val&lt;br /&gt;
	end&lt;br /&gt;
	local dplVars = {}&lt;br /&gt;
	local function setDplVar( var, val )&lt;br /&gt;
		table.insert( dplVars, &#039;breaking &#039; .. var )&lt;br /&gt;
		table.insert( dplVars, val or &#039;1&#039; )&lt;br /&gt;
	end&lt;br /&gt;
		&lt;br /&gt;
	local rows = {}&lt;br /&gt;
	local tableParts = {}&lt;br /&gt;
	local categories = {}&lt;br /&gt;
	local showOptions = false&lt;br /&gt;
	&lt;br /&gt;
	local horizontal&lt;br /&gt;
	if args[&#039;horyzontalny&#039;] or args[1]:match( &#039;;&#039; ) then&lt;br /&gt;
		horizontal = true&lt;br /&gt;
	end&lt;br /&gt;
	local showTool = true&lt;br /&gt;
	local showShears = true&lt;br /&gt;
	local showSword = true&lt;br /&gt;
	local header, sortable, simple&lt;br /&gt;
	if horizontal or not getDplVar( &#039;header&#039; ) then&lt;br /&gt;
		if args.hidetool or horizontal and ( not args[2] or args[2]:lower() == &#039;any&#039; or args[2]:lower() == &#039;none&#039; ) then&lt;br /&gt;
			showTool = false&lt;br /&gt;
			setDplVar( &#039;hidetool&#039; )&lt;br /&gt;
    		breakingTimeHeader = &#039;[[Breaking]] time (secs)&#039;&lt;br /&gt;
		end&lt;br /&gt;
		if args.hideshears or horizontal and not args.shears then&lt;br /&gt;
			showShears = false&lt;br /&gt;
			setDplVar( &#039;hideshears&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		if args.hidesword or horizontal and not args.sword then&lt;br /&gt;
			showSword = false&lt;br /&gt;
			setDplVar( &#039;hidesword&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		sortable = not horizontal and args.sort&lt;br /&gt;
		if sortable then&lt;br /&gt;
			setDplVar( &#039;sortable&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		simple = args.simple&lt;br /&gt;
		if simple and not horizontal then&lt;br /&gt;
			setDplVar( &#039;simple&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local tableClasses = { &#039;wikitable&#039; }&lt;br /&gt;
		if sortable then&lt;br /&gt;
			table.insert( tableClasses, &#039;sortable&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039; {| class=&amp;quot;&#039; .. table.concat( tableClasses, &#039; &#039; ) .. &#039;&amp;quot; style=&amp;quot;text-align: center; margin: 0;&amp;quot;&#039; )&lt;br /&gt;
		&lt;br /&gt;
		local sortType = &#039;&#039;&lt;br /&gt;
		if sortable then&lt;br /&gt;
			sortType = &#039;data-sort-type=&amp;quot;number&amp;quot;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		local rowspan = &#039;&#039;&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			rowspan = &#039;rowspan=&amp;quot;2&amp;quot; &#039;&lt;br /&gt;
		end&lt;br /&gt;
		header = {&lt;br /&gt;
			&#039;! &#039; .. rowspan .. &#039; | Block&#039;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		if not simple then&lt;br /&gt;
			table.insert( header, &#039;! &#039; .. rowspan .. sortType .. &#039; | Hardness&#039; )&lt;br /&gt;
			if showTool then&lt;br /&gt;
				table.insert( header, &#039;! &#039; .. rowspan .. &#039; | Tool&#039; )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local toolColumns = {}&lt;br /&gt;
		if showTool then&lt;br /&gt;
			toolColumns = { &#039;Wooden&#039;, &#039;Stone&#039;, &#039;Copper&#039;, &#039;Iron&#039;, &#039;Diamond&#039;, &#039;Netherite&#039;, &#039;Golden&#039;}&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( toolColumns, 1, &#039;Default&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if not simple then&lt;br /&gt;
			if showShears then&lt;br /&gt;
				table.insert( toolColumns, &#039;Shears&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if showSword then&lt;br /&gt;
				table.insert( toolColumns, &#039;Sword&#039; )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			table.insert( header, &#039;! colspan=&amp;quot;&#039; .. #toolColumns .. &#039;&amp;quot; |&#039; .. getBreakingTimeHeader( f ) )&lt;br /&gt;
			table.insert( header, &#039;|-&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local toolSprites = {&lt;br /&gt;
			Wooden = { &#039;Block&#039;, &#039;dębowe-deski&#039; },&lt;br /&gt;
			Stone = { &#039;Block&#039;, &#039;bruk&#039; },&lt;br /&gt;
			Copper = { &#039;Item&#039;, &#039;sztabka-miedzi&#039; },&lt;br /&gt;
			Iron = { &#039;Item&#039;, &#039;sztabka-żelaza&#039; },&lt;br /&gt;
			Diamond = { &#039;Item&#039;, &#039;diament&#039; },&lt;br /&gt;
			Netherite = { &#039;Item&#039;, &#039;sztabka-netherytu&#039; },&lt;br /&gt;
			Golden = { &#039;Item&#039;, &#039;sztabka-złota&#039; },&lt;br /&gt;
			Shears = { &#039;Item&#039;, &#039;nożyce&#039; },&lt;br /&gt;
			Sword = { &#039;Item&#039;, &#039;drewniany-miecz&#039; }&lt;br /&gt;
		}&lt;br /&gt;
		for _, tool in ipairs( toolColumns ) do&lt;br /&gt;
			if toolSprites[tool] then&lt;br /&gt;
				local image = f:expandTemplate({title = toolSprites[tool][1]..&#039;Sprite&#039;, args = {[&#039;1&#039;]=toolSprites[tool][2], text=tool}})&lt;br /&gt;
				table.insert( header, &#039;! style=&amp;quot;text-align:left&amp;quot; &#039; .. sortType .. &#039; | &#039; .. image )&lt;br /&gt;
				table.insert( categories, spriteCat )&lt;br /&gt;
			else&lt;br /&gt;
				table.insert( header, &#039;! &#039; .. sortType .. &#039; | &#039; .. tool )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			header = table.concat( header, &#039;\n&#039; )&lt;br /&gt;
			setDplVar( &#039;header&#039;, header )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( tableParts, header )&lt;br /&gt;
	else&lt;br /&gt;
		showTool = not getDplVar( &#039;hidetool&#039; )&lt;br /&gt;
		showShears = not getDplVar( &#039;hideshears&#039; )&lt;br /&gt;
		showSword = not getDplVar( &#039;hidesword&#039; )&lt;br /&gt;
		sortable = getDplVar( &#039;sortable&#039; )&lt;br /&gt;
		simple = getDplVar( &#039;simple&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local hardness = args[&#039;twardość&#039;]&lt;br /&gt;
	&lt;br /&gt;
	local function fillCells( cellsTable, text, num )&lt;br /&gt;
		for i = 1, num do&lt;br /&gt;
			table.insert( cellsTable, text )&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local materialGrade = {&lt;br /&gt;
		Any = 0,&lt;br /&gt;
		Wooden = 1, Wood = 1,&lt;br /&gt;
		Golden = 1,&lt;br /&gt;
		Stone = 2,&lt;br /&gt;
		Copper = 2,&lt;br /&gt;
		Iron = 3,&lt;br /&gt;
		Diamond = 4,&lt;br /&gt;
        Netherite = 5,&lt;br /&gt;
		None = 6,&lt;br /&gt;
		[&#039;Drewniany&#039;] = 1, [&#039;Drewno&#039;] = 1,&lt;br /&gt;
		[&#039;Złoty&#039;] = 1,&lt;br /&gt;
		[&#039;Kamienny&#039;] = 2,&lt;br /&gt;
		[&#039;Miedziany&#039;] = 2,&lt;br /&gt;
		[&#039;Żelazny&#039;] = 3,&lt;br /&gt;
		[&#039;Diamentowy&#039;] = 4,&lt;br /&gt;
        [&#039;Netherytowy&#039;] = 5,&lt;br /&gt;
		[&#039;Brak&#039;] = 6&lt;br /&gt;
	}&lt;br /&gt;
	local materialSpeed = {&lt;br /&gt;
		None = 1,&lt;br /&gt;
		Any = 1,&lt;br /&gt;
		Wooden = 2, Wood = 2,&lt;br /&gt;
		Stone = 4,&lt;br /&gt;
		Copper = 5,&lt;br /&gt;
		Iron = 6,&lt;br /&gt;
		Diamond = 8,&lt;br /&gt;
        Netherite = 9,&lt;br /&gt;
		Golden = 12,&lt;br /&gt;
		[&#039;Drewniany&#039;] = 2, [&#039;Drewno&#039;] = 2,&lt;br /&gt;
		[&#039;Złoty&#039;] = 12,&lt;br /&gt;
		[&#039;Kamienny&#039;] = 4,&lt;br /&gt;
		[&#039;Miedziany&#039;] = 5,&lt;br /&gt;
		[&#039;Żelazny&#039;] = 6,&lt;br /&gt;
		[&#039;Diamentowy&#039;] = 8,&lt;br /&gt;
        [&#039;Netherytowy&#039;] = 9,&lt;br /&gt;
		[&#039;Brak&#039;] = 1&lt;br /&gt;
	}&lt;br /&gt;
	local numberMaterials = 6&lt;br /&gt;
	&lt;br /&gt;
	local function insertBlock( blockArgs )&lt;br /&gt;
		local cells = {}&lt;br /&gt;
		local blocks = mw.text.split( blockArgs[1], &#039;%s*,%s*&#039; )&lt;br /&gt;
		local hardnessVal = hardness&lt;br /&gt;
		if not hardnessVal then&lt;br /&gt;
			hardnessVal = &#039;?&#039;&lt;br /&gt;
			local title = mw.title.getCurrentTitle()&lt;br /&gt;
			if title.namespace == 0 and not title.isSubpage then&lt;br /&gt;
				table.insert(categories, &#039;[[Category:Missing hardness]]&#039;)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		local unbreakable&lt;br /&gt;
		if hardnessVal == -1 or blockArgs.liquid then&lt;br /&gt;
			unbreakable = true&lt;br /&gt;
		elseif hardnessVal ~= 0 then&lt;br /&gt;
			showOptions = true&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local blockSprites = {}&lt;br /&gt;
		local links = mw.text.split( blockArgs.link or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		local ids = mw.text.split( blockArgs.sprite or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		local items = mw.text.split( blockArgs.item or &#039;&#039;, &#039;%s*,%s*&#039; )&lt;br /&gt;
		for i, block in ipairs( blocks ) do&lt;br /&gt;
			local link&lt;br /&gt;
			if not links[i] and links[1] ~= &#039;&#039; then&lt;br /&gt;
				link = links[1]&lt;br /&gt;
			elseif links[i] ~= &#039;&#039; then&lt;br /&gt;
				link = links[i]&lt;br /&gt;
			end&lt;br /&gt;
			local id&lt;br /&gt;
			if not ids[i] and ids[1] ~= &#039;&#039; then&lt;br /&gt;
				id = ids[1]&lt;br /&gt;
			elseif ids[i] ~= &#039;&#039; then&lt;br /&gt;
				id = ids[i]&lt;br /&gt;
			end&lt;br /&gt;
			local blockText&lt;br /&gt;
			if args.textTrim then&lt;br /&gt;
				blockText = block:gsub( args.textTrim .. &#039;$&#039;, &#039;&#039; )&lt;br /&gt;
			else&lt;br /&gt;
				blockText = block&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			local image = f:expandTemplate({title=&#039;BlockLink&#039;, args = {[&#039;1&#039;]=block,text=blockText,link=link,id=id}})&lt;br /&gt;
			table.insert( blockSprites, image )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( cells,&lt;br /&gt;
			&#039;!&#039; .. (horizontal and &#039;&#039; or &#039; style=&amp;quot;text-align:left&amp;quot; | &#039;) .. table.concat( blockSprites, &#039;&amp;lt;br&amp;gt;&#039; ) .. ( blockArgs.note or &#039;&#039; )&lt;br /&gt;
		)&lt;br /&gt;
		&lt;br /&gt;
		local tool = mw.text.trim( simple and &#039;Tool&#039; or blockArgs[2] or &#039;Any&#039; ):gsub( &#039;^%l&#039;, string.upper )&lt;br /&gt;
		local material = mw.text.trim( simple and blockArgs[2] or blockArgs[3] or &#039;Any&#039; ):gsub( &#039;^%l&#039;, string.upper )&lt;br /&gt;
		if tool == &#039;None&#039; then&lt;br /&gt;
			material = tool&lt;br /&gt;
		end&lt;br /&gt;
		if not simple then&lt;br /&gt;
			local hardnessText = hardnessVal&lt;br /&gt;
			if hardnessVal == -1 then&lt;br /&gt;
				hardnessText = ( sortable and &#039;data-sort-value=&amp;quot;9999&amp;quot; | &#039; or &#039;&#039; ) .. &amp;quot;&amp;amp;#45;1 (infinite)&amp;quot;&lt;br /&gt;
			end&lt;br /&gt;
			table.insert( cells, &#039;|&#039; .. hardnessText )&lt;br /&gt;
			&lt;br /&gt;
			if showTool then&lt;br /&gt;
				local toolCell = &#039;—&#039;&lt;br /&gt;
				if tool ~= &#039;Any&#039; and tool ~= &#039;None&#039; then&lt;br /&gt;
					if material == &#039;Wood&#039; then&lt;br /&gt;
						material = &#039;Wooden&#039;&lt;br /&gt;
					end&lt;br /&gt;
					local isMaterialSpecified = (material ~= &#039;Any&#039;) and (material ~= &#039;None&#039;)&lt;br /&gt;
					local toolName = ( isMaterialSpecified and material .. &#039; &#039; or &#039;&#039; ) .. tool&lt;br /&gt;
					local toolSpriteName = toolName .. ( (isMaterialSpecified) and &#039;&#039; or &#039; Required&#039; )&lt;br /&gt;
					local image = f:expandTemplate({title=isMaterialSpecified and &#039;ItemSprite&#039; or &#039;SlotSprite&#039;, args = {[&#039;1&#039;]=toolSpriteName,title=toolName,link=tool,keepcase = not isMaterialSpecified}})&lt;br /&gt;
					&lt;br /&gt;
					toolCell = ( sortable and &#039;data-sort-value=&amp;quot;&#039; .. toolName .. &#039;&amp;quot; |&#039; or &#039;&#039; ) .. image&lt;br /&gt;
					table.insert( categories, spriteCat )&lt;br /&gt;
				end&lt;br /&gt;
				table.insert( cells, &#039;|&#039; .. toolCell )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local choices = {}&lt;br /&gt;
		local function getChoice( choice, text )&lt;br /&gt;
			if not choices[choice] then&lt;br /&gt;
				choices[choice] = f:expandTemplate{ title = &#039;Tc&#039;, args = { choice, &#039;&#039; } }&lt;br /&gt;
			end&lt;br /&gt;
			return choices[choice] .. text&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local function processTime( actualHardness, baseSpeed, tool )&lt;br /&gt;
			-- the number passed in has been multiplied by 100&lt;br /&gt;
			local num = actualHardness / baseSpeed&lt;br /&gt;
			if num &amp;lt;= 5 then	   -- Blocks with a breaking time &amp;lt;= 1 game tick (0.05 seconds) are instant mined (no delay after each block broken)&lt;br /&gt;
				num = &amp;quot;&#039;&#039;0.05&#039;&#039;&amp;quot;    -- Blocks have a minimum breaking time of 1 game tick&lt;br /&gt;
			else					-- And they must be broken in multiples of 1 game tick&lt;br /&gt;
				num = math.ceil( num / 5 ) / 20&lt;br /&gt;
			end&lt;br /&gt;
			return &#039;&amp;lt;span class=&amp;quot;calculator-field breakingrow-breakingtime-value&amp;quot; data-calculator-type=&amp;quot;plain&amp;quot; data-calculator-formula=&amp;quot;&#039;&lt;br /&gt;
				.. &#039;max(1,ceil(&#039; .. (actualHardness / 5) .. &#039;/(&#039; .. baseSpeed .. ((tool ~= &#039;Any&#039; and tool ~= &#039;Sword&#039;) and &#039;+efficiencySpeed&#039; or &#039;&#039;) .. &#039;)/hasteMultiplier))/20&#039;&lt;br /&gt;
				.. &#039;&amp;quot;&amp;gt;&#039; .. num .. &#039;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if hardnessVal == &#039;?&#039; then&lt;br /&gt;
			fillCells( cells, &#039;|?&#039;, numberMaterials + 1 )&lt;br /&gt;
		else&lt;br /&gt;
			if unbreakable then&lt;br /&gt;
				table.insert( cells, &#039;| &#039; .. ( sortable and &#039;data-sort-value=&amp;quot;9999&amp;quot; &#039; or &#039;&#039; ) .. getChoice( &#039;nie&#039;, &#039;∞&#039; ) )&lt;br /&gt;
				if showTool then&lt;br /&gt;
					fillCells( cells, &#039;|—&#039;, numberMaterials )&lt;br /&gt;
				end&lt;br /&gt;
			else&lt;br /&gt;
				local drop = &#039;tak&#039;&lt;br /&gt;
				local forceDrop = false&lt;br /&gt;
				if blockArgs.drop == &#039;0&#039; then&lt;br /&gt;
					drop = &#039;częściowo&#039;&lt;br /&gt;
				elseif blockArgs.drop == &#039;1&#039; then&lt;br /&gt;
					forceDrop = &#039;tak&#039;&lt;br /&gt;
				end&lt;br /&gt;
				local requiredLevel = unbreakable and 999 or materialGrade[material]&lt;br /&gt;
				local function insertMaterialCell( material )&lt;br /&gt;
					local shouldDrop = drop&lt;br /&gt;
					if materialGrade[material] &amp;lt; requiredLevel then&lt;br /&gt;
						shouldDrop = &#039;nie&#039;&lt;br /&gt;
					end&lt;br /&gt;
					-- prevent float number precision loss, multiply by 100 and divide it in processTime function&lt;br /&gt;
					local breakTime = processTime( hardnessVal * (shouldDrop == &#039;nie&#039; and 500 or 150), materialSpeed[material], material )&lt;br /&gt;
					table.insert( cells, &#039;|&#039; .. getChoice( forceDrop or shouldDrop, breakTime ) )&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				if not showTool or tool == &#039;Any&#039; or tool == &#039;None&#039; then&lt;br /&gt;
					insertMaterialCell( &#039;Any&#039; )&lt;br /&gt;
					if showTool then&lt;br /&gt;
						fillCells( cells, &#039;|—&#039;, numberMaterials )&lt;br /&gt;
					end&lt;br /&gt;
				else&lt;br /&gt;
					for _, material in ipairs{ &#039;Any&#039;, &#039;Wooden&#039;, &#039;Stone&#039;, &#039;Copper&#039;, &#039;Iron&#039;, &#039;Diamond&#039;, &#039;Netherite&#039;, &#039;Golden&#039; } do&lt;br /&gt;
						insertMaterialCell( material )&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not simple and ( showShears or showSword ) then&lt;br /&gt;
			local tools = {}&lt;br /&gt;
			if showShears then&lt;br /&gt;
				table.insert( tools, &#039;Shears&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if showSword then&lt;br /&gt;
				table.insert( tools, &#039;Sword&#039; )&lt;br /&gt;
			end&lt;br /&gt;
			if hardnessVal == &#039;?&#039; then&lt;br /&gt;
				fillCells( cells, &#039;|?&#039;, #tools )&lt;br /&gt;
			else&lt;br /&gt;
				local toolSpeed = {&lt;br /&gt;
					Shears = 1,&lt;br /&gt;
					Sword = 1.5&lt;br /&gt;
				}&lt;br /&gt;
				if blocks[1] == &#039;Wool&#039; then&lt;br /&gt;
					toolSpeed.Shears = 5&lt;br /&gt;
				elseif blocks[1] == &#039;Leaves&#039; then&lt;br /&gt;
					toolSpeed.Shears = 15&lt;br /&gt;
				elseif blocks[1] == &#039;Cobweb&#039; then&lt;br /&gt;
					toolSpeed.Sword = 15&lt;br /&gt;
					toolSpeed.Shears = 15&lt;br /&gt;
				elseif blocks[1] == &#039;Bamboo&#039; or blocks[1] == &#039;Bamboo Shoot&#039; then&lt;br /&gt;
					toolSpeed.Sword = 5000&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				for _, tool in ipairs( tools ) do&lt;br /&gt;
					local toolDrop = blockArgs[mw.ustring.lower( tool )]&lt;br /&gt;
					if not toolDrop then&lt;br /&gt;
						table.insert( cells, &#039;|—&#039; )&lt;br /&gt;
					else&lt;br /&gt;
						local willDrop = &#039;tak&#039;&lt;br /&gt;
						if toolDrop == &#039;0&#039; then&lt;br /&gt;
							willDrop = &#039;częściowo&#039;&lt;br /&gt;
						end&lt;br /&gt;
						-- prevent float number precision loss, multiply by 100 and divide it in processTime function&lt;br /&gt;
						local breakTime = processTime( hardnessVal * 150, toolSpeed[tool], tool )&lt;br /&gt;
						table.insert( cells, &#039;|&#039; .. getChoice( willDrop, breakTime ) )&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			cells = table.concat( cells, &#039;\n&#039; )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( tableParts, cells )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if horizontal then&lt;br /&gt;
		local blocksArgs = {}&lt;br /&gt;
		for _, arg in ipairs{ 1, &#039;note&#039;, &#039;sprite&#039;, &#039;link&#039;, &#039;item&#039;, &#039;drop&#039;, 2, 3, &#039;shears&#039;, &#039;sword&#039; } do&lt;br /&gt;
			if args[arg] then&lt;br /&gt;
				local col = 0&lt;br /&gt;
				for colVal in mw.text.gsplit( args[arg], &#039;%s*;%s*&#039; ) do&lt;br /&gt;
					col = col + 1&lt;br /&gt;
					if colVal ~= &#039;&#039; then&lt;br /&gt;
						if not blocksArgs[col] then&lt;br /&gt;
							blocksArgs[col] = {}&lt;br /&gt;
						end&lt;br /&gt;
						&lt;br /&gt;
						blocksArgs[col][arg] = colVal&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		for _, block in ipairs( blocksArgs ) do&lt;br /&gt;
			insertBlock( block )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local columns = #tableParts&lt;br /&gt;
		for row = 1, #tableParts[1] do&lt;br /&gt;
			local cells = {}&lt;br /&gt;
			for col = 1, columns do&lt;br /&gt;
				table.insert( cells, tableParts[col][row] )&lt;br /&gt;
			end&lt;br /&gt;
			table.insert( rows, table.concat( cells, &#039;\n&#039; ) )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- Insert breaking time header after block row when simple, or after tool or hardness row when not&lt;br /&gt;
		table.insert( rows, simple and 3 or showTool and 5 or 4, &#039;! colspan=&amp;quot;&#039; .. columns + 1 .. &#039;&amp;quot; |&#039; .. getBreakingTimeHeader( f ) )&lt;br /&gt;
	else&lt;br /&gt;
		insertBlock( args )&lt;br /&gt;
		for _, row in ipairs( tableParts ) do&lt;br /&gt;
			table.insert( rows, row )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039;&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local note = &#039;&#039;&lt;br /&gt;
	if args.foot or horizontal then&lt;br /&gt;
		note = f:preprocess( &#039;&amp;lt;references group=&amp;quot;FN&amp;quot;/&amp;gt;&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if args.foot == &#039;2&#039; then&lt;br /&gt;
			table.insert( rows, header or getDplVar( &#039;header&#039; ) )&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( rows, &#039;|}&#039; )&lt;br /&gt;
		&lt;br /&gt;
		if not horizontal then&lt;br /&gt;
			f:callParserFunction( &#039;#dplvar:set&#039;,&lt;br /&gt;
				&#039;breaking header&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hidetool&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hideshears&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking hidesword&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking simple&#039;, &#039;&#039;,&lt;br /&gt;
				&#039;breaking sortable&#039;, &#039;&#039;&lt;br /&gt;
			)&lt;br /&gt;
		end&lt;br /&gt;
	elseif #dplVars &amp;gt; 0 then&lt;br /&gt;
		f:callParserFunction( &#039;#dplvar:set&#039;, dplVars )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local result = table.concat( rows, &#039;\n|-\n&#039; )&lt;br /&gt;
	return result .. note .. table.concat( categories )&lt;br /&gt;
end&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>MetroKopUA</name></author>
	</entry>
</feed>