Модуль:Лицензия/Модификация

Материал из Minecraft Wiki
Перейти к: навигация, поиск
[создать | история | обновить]Документация
У этого модуля нет документации. Если вы знаете, как использовать этот модуль, пожалуйста, добавьте соответствующую информацию.
local addon_list = {
	["Additional BuildCraft Objects"] = true,
	["Additional Pipes"] = true,
	["Advanced Generators"] = true,
	["Advanced Machines"] = true,
	["Advanced Solar Panels"] = true,
	["AFSU mod"] = true,
	["Charge Pads"] = true,
	["Combo Armors"] = true,
	["Extra Bees"] = true,
	["Extra Trees"] = true,
	["Gendustry"] = true,
	["Genetics"] = true,
	["Gravitation Suite"] = true,
	["GregTech"] = true,
	["GregTech 4"] = true,
	["GregTech 5"] = true,
	["Galaxy Space"] = true,
	["Immersive Petroleum"] = true,
	["Super Solar Panels"] = true,
	["Transformers"] = true,
	["Wireless Solar Panels Improved Vajra and XP Tools"] = true
}

local p = {}

function compile_link_list(list, singular, plural)
	if #list == 0 then
		return
	end
	
	local text = (#list == 1 and singular or plural) .. " [[" .. list[1] .. "]]"
	for i = 2, #list do
		if i == #list then
			text = text .. " и "
		else
			text = text .. ", "
		end
		text = text .. "[[" .. list[i] .. "]]"
	end
	return text
end

function p.main(f)
	local args = require("Модуль:ProcessArgs").merge(true)
	local mods = {}
	local addons = {}
	local cats = {}
	
	for i, v in ipairs(args) do
		if addon_list[v] then
			table.insert(addons, v)
		else
			table.insert(mods, v)
		end
		
		table.insert(cats, '[[Категория:Файлы с материалами модификации ' .. v .. ']]')
	end
	
	local mod_singular = "модификации"
	local mod_plural = "модификаций"
	local addon_singular = "дополнения"
	local addon_plural = "дополнений"
	
	local mod_list = compile_link_list(mods, mod_singular, mod_plural)
	local addon_list = compile_link_list(addons, addon_singular, addon_plural)
	
	local link_list
	if mod_list then
		if addon_list then
			link_list = mod_list .. ", а также разработчикам " .. addon_list
		else
			link_list = mod_list
		end
	else -- предполагаем, что указан хотя бы один параметр модификации/дополнения
		link_list = addon_list
	end
	
	local image = "Copyright.svg"
	local title_text = "Этот файл (или его часть) принадлежит по авторскому праву разработчикам " .. link_list .. "."
	local main_text = "Этот файл может свободно использоваться в вики. Условия его использования вне вики зависят от лицензий на вышеперечисленные модификации и/или дополнения."
	local category_text = ""
	if not args["некат"] then
		category_text = table.concat(cats)
	end
	
	return mw.getCurrentFrame():expandTemplate({ title = "Лицензия", args = {
		['изобр'] = image,
		['назв'] = title_text,
		['описание'] = main_text,
		['некат'] = args["некат"]
	}}) .. category_text
end

return p