Hello there! We are conducting a survey to better understand the user experience in making a first edit. If you have ever made an edit on Gamepedia, please fill out the survey. Thank you!

Модуль:Таблица идентификаторов

Материал из Minecraft Wiki
Перейти к: навигация, поиск

Этот модуль используется шаблоном Таблица идентификаторов.

local p = {};

function p.idtable(f)
	local args = f;
	if f == mw.getCurrentFrame() then
		args = f:getParent().args;
	else
		f = mw.getCurrentFrame();
	end;
	
	local slot = require('Модуль:Спрайт');
	
	local style = args['тип'];
	local spr = args['спрайт-тип'] or 'Блок';
	local out = {'{|class="wikitable"\n |-\n !'};
	table.insert(out, args['назв'] or 'Название');
	table.insert(out, '!!');
	table.insert(out, args['назв2'] or 'Текстовый ID');
	
	if style == '2' then
		table.insert(out, '!!');
		table.insert(out, args['назв3'] or 'Числовой ID');
	end;
	
	local i = 1;
	while args[i] ~= nil do
		local line = mw.text.split(args[i], '%s*;%s*');
		local name = mw.text.split(line[1], '%s*,%s*');
		local sprite, body = slot.sprite({name[1], ['текст'] = name[2] or name[1], ['данные'] = 'Спрайт/' .. spr});
		table.insert(out, '\n|-\n|');
		table.insert(out, sprite);
		table.insert(out, '||<code>');
		table.insert(out, mw.text.trim(line[2]));
		table.insert(out, '</code>');
		
		if style == '2' then
			table.insert(out, '||' .. line[3]);
		end;
		i = i + 1;
	end;
	
	table.insert(out, '\n|}');
	return table.concat(out);
end;

return p;