<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>https://playzone.in.ua/wiki/mc//index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3A%D0%AF%D1%87%D0%B5%D0%B9%D0%BA%D0%B0_%D0%B8%D0%BD%D0%B2%D0%B5%D0%BD%D1%82%D0%B0%D1%80%D1%8F</id>
		<title>Модуль:Ячейка инвентаря - История изменений</title>
		<link rel="self" type="application/atom+xml" href="https://playzone.in.ua/wiki/mc//index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3A%D0%AF%D1%87%D0%B5%D0%B9%D0%BA%D0%B0_%D0%B8%D0%BD%D0%B2%D0%B5%D0%BD%D1%82%D0%B0%D1%80%D1%8F"/>
		<link rel="alternate" type="text/html" href="https://playzone.in.ua/wiki/mc//index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:%D0%AF%D1%87%D0%B5%D0%B9%D0%BA%D0%B0_%D0%B8%D0%BD%D0%B2%D0%B5%D0%BD%D1%82%D0%B0%D1%80%D1%8F&amp;action=history"/>
		<updated>2026-05-05T02:55:54Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.28.3</generator>

	<entry>
		<id>https://playzone.in.ua/wiki/mc//index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:%D0%AF%D1%87%D0%B5%D0%B9%D0%BA%D0%B0_%D0%B8%D0%BD%D0%B2%D0%B5%D0%BD%D1%82%D0%B0%D1%80%D1%8F&amp;diff=13458&amp;oldid=prev</id>
		<title>Softer: 1 версия импортирована</title>
		<link rel="alternate" type="text/html" href="https://playzone.in.ua/wiki/mc//index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:%D0%AF%D1%87%D0%B5%D0%B9%D0%BA%D0%B0_%D0%B8%D0%BD%D0%B2%D0%B5%D0%BD%D1%82%D0%B0%D1%80%D1%8F&amp;diff=13458&amp;oldid=prev"/>
				<updated>2017-01-17T22:27:30Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия импортирована&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style='vertical-align: top;' lang='ru'&gt;
				&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 22:27, 17 января 2017&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan='2' style='text-align: center;' lang='ru'&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Softer</name></author>	</entry>

	<entry>
		<id>https://playzone.in.ua/wiki/mc//index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:%D0%AF%D1%87%D0%B5%D0%B9%D0%BA%D0%B0_%D0%B8%D0%BD%D0%B2%D0%B5%D0%BD%D1%82%D0%B0%D1%80%D1%8F&amp;diff=13457&amp;oldid=prev</id>
		<title>NickTheRed37: Отмена правки 498592, сделанной участником GRAND RADION (обс.) Да.</title>
		<link rel="alternate" type="text/html" href="https://playzone.in.ua/wiki/mc//index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:%D0%AF%D1%87%D0%B5%D0%B9%D0%BA%D0%B0_%D0%B8%D0%BD%D0%B2%D0%B5%D0%BD%D1%82%D0%B0%D1%80%D1%8F&amp;diff=13457&amp;oldid=prev"/>
				<updated>2016-08-09T11:45:11Z</updated>
		
		<summary type="html">&lt;p&gt;Отмена правки 498592, сделанной участником &lt;a href=&quot;/wiki/mc/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/GRAND_RADION&quot; title=&quot;Служебная:Вклад/GRAND RADION&quot;&gt;GRAND RADION&lt;/a&gt; (&lt;a href=&quot;/wiki/mc//index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D1%83%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%D0%B0:GRAND_RADION&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Обсуждение участника:GRAND RADION (страница не существует)&quot;&gt;обс.&lt;/a&gt;) Да.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- К УДАЛЕНИЮ: Дубликат страницы [[Модуль:Инвентарный слот]]&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.slot( f )&lt;br /&gt;
	local args = f.args or f&lt;br /&gt;
	if f == mw.getCurrentFrame() and args[1] == nil then&lt;br /&gt;
		args = f:getParent().args&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	args[1] = mw.text.trim( args[1] or '' )&lt;br /&gt;
	&lt;br /&gt;
	-- Comment this next line out if you're not using aliases&lt;br /&gt;
	local aliases = mw.loadData( 'Module:Inventory slot/Aliases' )&lt;br /&gt;
	&lt;br /&gt;
	local modAliases = args.modaliases or ''&lt;br /&gt;
	if modAliases ~= '' then&lt;br /&gt;
		modAliases = mw.loadData( 'Module:' .. modAliases )&lt;br /&gt;
	else&lt;br /&gt;
		modAliases = nil&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if aliases or modAliases then&lt;br /&gt;
		local frames = {}&lt;br /&gt;
		for frame in mw.text.gsplit( args[1], '%s*;%s*' ) do&lt;br /&gt;
			local frameParts = p.getParts( frame, args.mod )&lt;br /&gt;
&lt;br /&gt;
            local id = frameParts.name&lt;br /&gt;
			if frameParts.mod then&lt;br /&gt;
				id = frameParts.mod .. ':' .. id&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			local alias&lt;br /&gt;
			if modAliases and modAliases[id] then&lt;br /&gt;
				alias = modAliases[id]&lt;br /&gt;
			elseif aliases and aliases[id] then&lt;br /&gt;
				alias = aliases[id]&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			if alias then&lt;br /&gt;
				table.insert( frames, p.expandAlias( frameParts, alias ) )&lt;br /&gt;
			else&lt;br /&gt;
				table.insert( frames, frame )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		args[1] = table.concat( frames, ';' )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local sprite&lt;br /&gt;
	local ids = mw.loadData( [[Module:InvSprite/IDs]] ).ids&lt;br /&gt;
    local modIds = {}&lt;br /&gt;
	local animated = args[1]:find( ';' )&lt;br /&gt;
	local pageName = mw.title.getCurrentTitle().text&lt;br /&gt;
	local imgClass = args.imgclass&lt;br /&gt;
	local numStyle = args.numstyle&lt;br /&gt;
	local body = mw.html.create( 'span' ):addClass( 'invslot' ):css{ ['vertical-align'] = args.align }&lt;br /&gt;
	if animated then&lt;br /&gt;
		body:addClass( 'animated' )&lt;br /&gt;
	end&lt;br /&gt;
	if args.class then&lt;br /&gt;
		body:addClass( args.class )&lt;br /&gt;
	end&lt;br /&gt;
	if args.style then&lt;br /&gt;
		body:cssText( args.style )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if ( args.default or '' ) ~= '' then&lt;br /&gt;
		body:css( 'background-image', '{{FileUrl|' .. args.default .. '.png}}' )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local first = true&lt;br /&gt;
	for frame in mw.text.gsplit( args[1], '%s*;%s*' ) do&lt;br /&gt;
		local item&lt;br /&gt;
		if frame ~= '' or frame == '' and animated then&lt;br /&gt;
			item = body:tag( 'span' ):addClass( 'invslot-item' )&lt;br /&gt;
			if imgClass then&lt;br /&gt;
				item:addClass( imgClass )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if frame == '' then&lt;br /&gt;
			( item or body ):tag( 'br' )&lt;br /&gt;
		else&lt;br /&gt;
			local category&lt;br /&gt;
			local parts = p.getParts( frame, args.mod )&lt;br /&gt;
			local title = parts.title or mw.text.trim( args.title or '' )&lt;br /&gt;
			local mod = parts.mod&lt;br /&gt;
			local name = parts.name&lt;br /&gt;
			local num = parts.num&lt;br /&gt;
			local description = parts.text&lt;br /&gt;
			&lt;br /&gt;
			local img, idData&lt;br /&gt;
			if mod then&lt;br /&gt;
				local modData = modIds[mod]&lt;br /&gt;
				if not modData and mw.title.new( 'Module:InvSprite/Mods/' .. mod .. '/IDs' ).exists then&lt;br /&gt;
					modData = mw.loadData( 'Module:InvSprite/Mods/' .. mod .. '/IDs' )&lt;br /&gt;
					modIds[mod] = modData&lt;br /&gt;
				end&lt;br /&gt;
				if modData and modData[name] then&lt;br /&gt;
					idData = modData[name]&lt;br /&gt;
				else&lt;br /&gt;
					img = name .. ' (' .. mod .. ')'&lt;br /&gt;
				end&lt;br /&gt;
			elseif ids[name] then&lt;br /&gt;
				idData = ids[name]&lt;br /&gt;
			else&lt;br /&gt;
				img = name&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			local link = args.link or ''&lt;br /&gt;
			if link == '' then&lt;br /&gt;
				if mod then&lt;br /&gt;
					link = 'Mods/' .. mod .. '/' .. name&lt;br /&gt;
				else&lt;br /&gt;
					link = name&lt;br /&gt;
				end&lt;br /&gt;
			elseif link:lower() == 'none' then&lt;br /&gt;
				link = nil&lt;br /&gt;
			end&lt;br /&gt;
			if link == pageName then&lt;br /&gt;
				link = nil&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			local formattedTitle&lt;br /&gt;
			local plainTitle&lt;br /&gt;
			if title == '' then&lt;br /&gt;
				plainTitle = name&lt;br /&gt;
			elseif title:lower() ~= 'none' then&lt;br /&gt;
				plainTitle = title:gsub( '\\\\', '&amp;amp;#92;' ):gsub( '\\&amp;amp;', '&amp;amp;#38;' )&lt;br /&gt;
				&lt;br /&gt;
				local formatPattern = '&amp;amp;[0-9a-fk-or]'&lt;br /&gt;
				if plainTitle:match( formatPattern ) then&lt;br /&gt;
					formattedTitle = title&lt;br /&gt;
					plainTitle = plainTitle:gsub( formatPattern, '' )&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				if plainTitle == '' then&lt;br /&gt;
					plainTitle = name&lt;br /&gt;
				else&lt;br /&gt;
					plainTitle = plainTitle:gsub( '&amp;amp;#92;', '\\' ):gsub( '&amp;amp;#38;', '&amp;amp;' )&lt;br /&gt;
				end&lt;br /&gt;
			elseif link then&lt;br /&gt;
				if img then&lt;br /&gt;
					formattedTitle = ''&lt;br /&gt;
				else&lt;br /&gt;
					plainTitle = ''&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			item:attr{&lt;br /&gt;
				['data-minetip-title'] = formattedTitle,&lt;br /&gt;
				['data-minetip-text'] = description&lt;br /&gt;
			}&lt;br /&gt;
			&lt;br /&gt;
			if img then&lt;br /&gt;
				-- &amp;amp; is re-escaped because mw.html treats attributes&lt;br /&gt;
				-- as plain text, but MediaWiki doesn't&lt;br /&gt;
				local escapedTitle = ( plainTitle or '' ):gsub( '&amp;amp;', '&amp;amp;#38;' )&lt;br /&gt;
				item:addClass( 'invslot-item-image' )&lt;br /&gt;
					:wikitext( '[[File:Grid ', img, '.png|32x32px|link=', link or '', '|', escapedTitle, ']]' )&lt;br /&gt;
			else&lt;br /&gt;
				if not sprite then&lt;br /&gt;
					sprite = require( [[Module:Sprite]] ).sprite&lt;br /&gt;
				end&lt;br /&gt;
				local image&lt;br /&gt;
				if mod then&lt;br /&gt;
					image = args.spritesheet or mod .. 'Sprite.png'&lt;br /&gt;
				end&lt;br /&gt;
				if link then&lt;br /&gt;
					item:wikitext( '[[', link, '|' )&lt;br /&gt;
				end&lt;br /&gt;
				local image, spriteCat = sprite{&lt;br /&gt;
					iddata = idData, title = plainTitle,&lt;br /&gt;
					image = image, settings = 'InvSprite'&lt;br /&gt;
				}&lt;br /&gt;
				item:node( image )&lt;br /&gt;
				category = spriteCat&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			if num and num &amp;gt; 1 and num &amp;lt; 1000 then&lt;br /&gt;
				if img and link then&lt;br /&gt;
					item:wikitext( '[[', link, '|' )&lt;br /&gt;
				end&lt;br /&gt;
				local number = item&lt;br /&gt;
					:tag( 'span' )&lt;br /&gt;
						:addClass( 'invslot-stacksize' )&lt;br /&gt;
						:attr{ title = plainTitle }&lt;br /&gt;
						:wikitext( num )&lt;br /&gt;
				if numStyle then&lt;br /&gt;
					number:cssText( numStyle )&lt;br /&gt;
				end&lt;br /&gt;
				if img and link then&lt;br /&gt;
					item:wikitext( ']]' )&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			if idData and link then&lt;br /&gt;
				item:wikitext( ']]' )&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			item:wikitext( category )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if first then&lt;br /&gt;
			if animated and item then&lt;br /&gt;
				item:addClass( 'active' )&lt;br /&gt;
			end&lt;br /&gt;
			first = false&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return tostring( body )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.expandAlias( frameParts, alias )&lt;br /&gt;
	-- If the frame has no parts, we can just return the alias as-is&lt;br /&gt;
	if not frameParts.title and not frameParts.mod and not frameParts.num and not frameParts.text then&lt;br /&gt;
		return alias&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local expandedFrames = {}&lt;br /&gt;
	for aliasFrame in mw.text.gsplit( alias, '%s*;%s*' ) do&lt;br /&gt;
		local aliasParts = p.getParts( aliasFrame )&lt;br /&gt;
		aliasParts.title = frameParts.title or aliasParts.title or ''&lt;br /&gt;
		aliasParts.mod = frameParts.mod or aliasParts.mod or 'Minecraft'&lt;br /&gt;
		aliasParts.num = frameParts.num or aliasParts.num or ''&lt;br /&gt;
		aliasParts.text = frameParts.text or aliasParts.text or ''&lt;br /&gt;
		&lt;br /&gt;
		table.insert( expandedFrames, string.format(&lt;br /&gt;
			'[%s]%s:%s,%s[%s]',&lt;br /&gt;
			aliasParts.title, aliasParts.mod, aliasParts.name, aliasParts.num, aliasParts.text&lt;br /&gt;
		) )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return table.concat( expandedFrames, ';' )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getParts( frame, mod )&lt;br /&gt;
	local parts = {}&lt;br /&gt;
	parts.title = frame:match( '^%[%s*([^%]]+)%s*%]' )&lt;br /&gt;
	&lt;br /&gt;
	parts.mod = mw.text.trim( frame:match( '([^:%]]+):' ) or mod or '' )&lt;br /&gt;
	&lt;br /&gt;
	local vanilla = { v = 1, vanilla = 1, mc = 1, minecraft = 1 }&lt;br /&gt;
	if parts.mod == '' or vanilla[mw.ustring.lower( parts.mod )] then&lt;br /&gt;
		parts.mod = nil&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local nameStart = ( frame:find( ':' ) or frame:find( '%]' ) or 0 ) + 1&lt;br /&gt;
	if nameStart - 1 == #frame then&lt;br /&gt;
		nameStart = 1&lt;br /&gt;
	end&lt;br /&gt;
	parts.name = mw.text.trim( frame:sub( nameStart, ( frame:find( '[,%[]', nameStart ) or 0 ) - 1 ) )&lt;br /&gt;
	&lt;br /&gt;
	parts.num = math.floor( frame:match( ',%s*(%d+)' ) or 0 )&lt;br /&gt;
	if parts.num == 0 then&lt;br /&gt;
		parts.num = nil&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	parts.text = frame:match( '%[%s*([^%]]+)%s*%]$' )&lt;br /&gt;
	&lt;br /&gt;
	return parts&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>NickTheRed37</name></author>	</entry>

	</feed>