Minecraft Wiki
Advertisement

Ця таблиця визначає псевдоніми, використовувані в Модуль:Інвентарний слот.

local ukrainian = mw.language.new('uk')

local coloredDyes = {
	'Помаранчевий барвник', 'Пурпуровий барвник', 'Блакитний барвник', 'Жовтий барвник', 'Лаймовий барвник',
	'Рожевий барвник', 'Сірий барвник', 'Світло-сірий барвник', 'Бірюзовий барвник', 'Фіолетовий барвник',
	'Синій барвник', 'Коричневий барвник', 'Зелений барвник', 'Червоний барвник', 'Чорний барвник'
}
local aliases = {
	-- Загальні види палива --
	['Будь-яке паливо'] = { 'Вугілля', 'Деревне вугілля', 'Дубова деревина' , 'Смерекова деревина', 'Березова деревина', 'Деревина тропічного дерева', 'Акацієва деревина', 'Деревина темного дубу', 'Дубові дошки', 'Смерекові дошки', 'Дошки з тропічного дерева', 'Акацієві дошки', 'Дошки з темного дубу', 'Вугільний блок' },
	
	['Будь-яка шкіряна броня'] = { 'Шкіряна шапка', 'Шкіряна туніка', 'Шкіряні штани', 'Шкіряні чоботи' },
	['Будь-яка золота броня'] = { 'Золотий шолом', 'Золотий нагрудник', 'Золоті наголінники', 'Золоті чоботи' },
	['Будь-яка кольчужна броня'] = { 'Кольчужний шолом', 'Кольчужний нагрудник', 'Кольчужні наголінники', 'Кольчужні чоботи' },
	['Будь-яка залізна броня'] = { 'Залізний шолом', 'Залізний нагрудник', 'Залізні наголінники', 'Залізні чоботи' },
	['Будь-яка діамантова броня'] = { 'Діамантовий шолом', 'Діамантовий нагрудник', 'Діамантові наголінники', 'Діамантові чоботи' },
	['Будь-яка незеритова броня'] = { 'Незеритовий шолом', 'Незеритовий нагрудник', 'Незеритові наголінники', 'Незеритові чоботи' },
	
	-- каміння --
	['Будь-який кругляк'] = { 'Кругляк', 'Чорнокамінь', 'Глибосланцевий кругляк' },
		
	-- Відображені імена --
	['Зламані елітри'] = { title = '&eЕлітри', name = 'Зламані елітри' },
	['Блок глини'] = { title = 'Глина', name = 'Блок глини' },
	['Зачароване золоте яблуко'] = { title = '&dЗачароване золоте яблуко', name = 'Золоте яблуко' },
	['Шаблон стяга (Квітка)'] = { title = 'Шаблон стяга', name = 'Шаблон стяга', text = '&7Емблема квітки'},
	['Шаблон стяга (Кріпер)'] = { title = '&eШаблон стяга', name = 'Шаблон стяга', text = '&7Емблема кріпера'},
	['Шаблон стяга (Череп)'] = { title = '&eШаблон стяга', name = 'Шаблон стяга', text = '&7Емблема черепа'},
	['Шаблон стяга (Символ)'] = { title = '&dШаблон стяга', name = 'Шаблон стяга', text = '&7Символ'},
	['Кнопка'] = { title = 'Кнопка', name = "Кам'яна кнопка"},
	["Дерев'яна кнопка"] = { title = 'Кнопка', name = 'Дубова кнопка'},
	['Арбалет зі стрілою'] = { title = 'Арбалет', name = 'Арбалет зі стрілою' },
	['Арбалет з феєрверком'] = { title = 'Арбалет', name = 'Арбалет з феєрверком' },
	['Бибачий стяг'] = { title = '&6&oБибачий стяг', name = 'Бибачий стяг', text = 
		'&7Бірюзовий ромб/&7Світло-сіра основа/&7Сіра вертикальна смуга по центру/&7Світло-сіра рамка/&7Чорна горизонтальна смуга посередині/&7Світло-сіра верхня половина'},
	['Пазл'] = { title = '&dПазл', name = 'Пазл' },
	-- Для анімаційних файлів icon --
	['Тепловий блок'] = { title='Тепловий блок', name = 'Heat Block'},
	['Призмарин'] = { title='Призмарин', name = 'Prismarine'},
	['Морський ліхтар'] = { title='Морський ліхтар', name = 'Sea Lantern'},
	['Блок магми'] = { title='Блок магми', name='Magma Block'},
	-- Для анімаційних файлів Invicon --
	['Командний блок'] = { title='&dКомандний блок', name='Command Block'},
	['Ланцюговий командний блок'] = { title='&dЛанцюговий командний блок', name='Chain Command Block'},
	['Повторюючий командний блок'] = { title='&dПовторюючий командний блок', name='Repeating Command Block'},
	
	-- Weapons --
	['Тризуб'] = { name = 'Тризуб', text = '/&7 Коли в основній руці:/ &2 1.1 швидкості атаки/ &2 9 пошкодження'},	

	-- Bedrock and Education Edition display names --
	['Крила елітри'] = { title = 'Крила елітри', name = 'Елітри' },
	['Смажена яловичина'] = { title = 'Смажена яловичина', name = 'Стейк' },
	['Карта (немає маркерів)'] = { title = 'Карта', name = 'Карта', text = 'Маркери відображення: &cНемає' },
	['Локаційна карта'] = { title = 'Карта', name = 'Карта', text = 'Маркери відображення: &aТак' },

	-- Chemistry --
	['Вода (розчин)'] = { title = 'Вода', name = 'Вода (розчин)' },
	['Хлорид'] = { 'Хлорид кальцію', 'Хлорид церію', 'Хлорид ртуті', 'Хлорид калію', 'Хлорид вольфраму' },
	['Бенгальський вогонь'] = { 'Помаранчевий бенгальський вогонь', 'Синій бенгальський вогонь', 'Червоний бенгальський вогонь', 'Фіолетовий бенгальський вогонь', 'Зелений бенгальський вогонь' },
	['Відповідний хлорид'] = { 'Хлорид церію', 'Хлорид ртуті', 'Хлорид калію', 'Хлорид вольфраму' },
	['Відповідний кольоровий факел'] = { 'Blue Torch', 'Red Torch', 'Purple Torch', 'Green Torch' },
	['Застосовуваний барвник'] = { 'Білий барвник', 'Помаранчевий барвник', 'Пурпуровий барвник', 'Блакитний барвник', 'Жовтий барвник', 'Лаймовий барвник',
		'Рожевий барвник', 'Сірий барвник', 'Бірюзовий барвник', 'Фіолетовий барвник', 'Синій барвник', 'Коричневий барвник', 'Зелень кактуса', 'Червоний барвник' },
	['Відповідна світляна палиця'] = { 'Біла світляна палиця', 'Помаранчева світляна палиця', 'Пурпурова світляна палиця', 'Блакитна світляна палиця',
		'Жовта світляна палиця', 'Лаймова світляна палиця', 'Рожева світляна палиця', 'Сіра світляна палиця', 'Бірюзова світляна палиця',
		'Фіолетова світляна палиця', 'Синя світляна палиця', 'Коричнева світляна палиця', 'Зелена світляна палиця', 'Червона світляна палиця' },
	
	-- Зілля без ефектів --
	['Густе зілля'] = { name = 'Густе зілля', text = '&7Без ефектів'},
	['Пляшка води'] = { name = 'Пляшка води', text = '&7Без ефектів'}, -- колба води теж відноситься до зельям
	['Незграбне зілля'] = { name = 'Незграбне зілля', text = '&7Без ефектів'},
	['Звичайне зілля'] = { name = 'Звичайне зілля', text = '&7Без ефектів'},

    -- Зелья --
	['Зілля нічного бачення'] = { name = 'Зілля нічного бачення', text = '&9Нічне бачення (3:00)'},
	['Зілля нічного бачення +'] = { name = 'Зілля нічного бачення', text = '&9Нічне бачення (8:00)'},
	['Зілля невидимості'] = { name = 'Зілля невидимості', text = '&9Невидимість (3:00)'},
	['Зілля невидимості +'] = { name = 'Зілля невидимості', text = '&9Невидимість (8:00)'},
	['Зілля стрибучості'] = { name = 'Зілля стрибучості', text = '&9Стрибучість (3:00)'},
	['Зілля стрибучості +'] = { name = 'Зілля стрибучості', text = '&9Стрибучість (8:00)'},
	['Зілля стрибучості II'] = { name = 'Зілля стрибучості', text = '&9Стрибучість II (1:30)'},
	['Зілля вогнестійкості'] = { name = 'Зілля вогнестійкості', text = '&9Вогнестійкість (3:00)'},
	['Зілля вогнестійкості +'] = { name = 'Зілля вогнестійкості', text = '&9Вогнестійкість (8:00)'},
	['Зілля швидкості'] = { name = 'Зілля швидкості', text = '&9Швидкість (3:00)//&5При використанні:/&9+20% Швидкість'},
	['Зілля швидкості +'] = { name = 'Зілля швидкості', text = '&9Швидкість (8:00)//&5При використанні:/&9+20% Швидкість'},
	['Зілля швидкості II'] = { name = 'Зілля швидкості', text = '&9Швидкість II (1:30)//&5При використанні:/&9+40% Швидкість'},
	['Зілля заповільнення'] = { name = 'Зілля заповільнення', text = '&cЗаповільнення (1:30)//&5При використанні:/&c-15% Швидкість'},
	['Зілля заповільнення +'] = { name = 'Зілля заповільнення', text = '&cЗаповільнення (4:00)//&5При використанні:/&c-15% Швидкість'},
	['Зілля водяного дихання'] = { name = 'Зілля водяного дихання', text = '&9Водяне дихання (3:00)'},
	['Зілля водяного дихання +'] = { name = 'Зілля водяного дихання', text = '&9Водяне дихання (8:00)'},
	['Лікувальне зілля'] = { name = 'Лікувальне зілля', text = '&9Лікування'},
	['Лікувальне зілля II'] = { name = 'Лікувальне зілля', text = '&9Лікування II'},
	['Зілля шкоди'] = { name = 'Зілля шкоди', text = '&cМоментальні шкоди'},
	['Зілля шкоди II'] = { name = 'Зілля шкоди', text = '&cМоментальні шкоди II'},
	['Зілля отрути'] = { name = 'Зілля отрути', text = '&cОтруєння (0:45)'},
	['Зілля отрути +'] = { name = 'Зілля отрути', text = '&cОтруєння (1:30)'},
	['Зілля отрути II'] = { name = 'Зілля отрути', text = '&cОтруєння (0:21)'},
	['Зілля відновлення'] = { name = 'Зілля відновлення', text = '&9Відновлення (0:45)'},
	['Зілля відновлення +'] = { name = 'Зілля відновлення', text = '&9Відновлення (1:30)'},
	['Зілля відновлення II'] = { name = 'Зілля відновлення', text = '&9Відновлення II (0:22)'},
	['Зілля сили'] = { name = 'Зілля сили', text = '&9Сила (3:00)//&5При використанні:/&9+3 Шкоди'},
	['Зілля сили +'] = { name = 'Зілля сили', text = '&9Сила (8:00)//&5При використанні:/&9+3 Шкоди'},
	['Зілля сили II'] = { name = 'Зілля сили', text = '&9Сила II (1:30)//&5При використанні:/&9+6 Шкоди'},
	['Зілля слабості'] = { name = 'Зілля слабості', text = '&cСлабкість (1:30)//&5При використанні:/&9-4 Шкоди'},
	['Зілля слабості +'] = { name = 'Зілля слабості', text = '&cСлабкість (4:00)//&5При використанні:/&9-4 Шкоди'},
	['Зілля удачі'] = { name = 'Зілля удачі', text = '&9Удача (5:00)//&5При використанні:/&9+1 Удача'},
	
}

-- Tooltip colors --
local yellowTooltips = {
	'Пляшечка чар',
	'Голова кріпера',
	'Пошкоджені елітри',
	'Голова дракона',
	'Дихання дракона',
	'Елітри',
	'Зачарована книга',
	'Голова',
	'Серце моря',
	'Пекельна зірка',
	'Голова гравця',
	'Череп скелета',
	'Тотем безсмертя',
	'Череп скелета-висушувача',
	'Голова зомбі',
}
for _, name in ipairs( yellowTooltips ) do
	aliases[name] = { title = '&e', name = name }
end

local aquaTooltips = {
	'Маяк',
	'Провідник',
	'Кристал Енду',
	'Золоте яблуко',
}
for _, name in ipairs( aquaTooltips ) do
	aliases[name] = { title = '&b', name = name }
end

local lightPurpleTooltips = {
	'Яйце дракона',
	'Структурний блок',
}
for _, name in ipairs( lightPurpleTooltips ) do
	aliases[name] = { title = '&d', name = name }
end

-- Animated icons --
local animatedIcons = {
	'Fire',
	'Heat Block',
	'Magma Block',
	'Prismarine',
	'Sea Lantern',
}
for _, icon in ipairs( animatedIcons ) do
	aliases[icon] = icon .. '.gif'
end

-- Command blocks are both animated and purple --
local commandBlocks = {
	'Command Block',
	'Chain Command Block',
	'Repeating Command Block',
}
for _, name in ipairs( commandBlocks ) do
	aliases[name] = { title = '&d', name = name .. '.gif' }
end

-- Tools and weapons --
local tools = {
	{"Дерев'яний", 'меч', 1.6, 4 },
	{"Кам'яний", 'меч', 1.6, 5 },
	{'Залізний', 'меч', 1.6, 4 },
	{'Золотий', 'меч', 1.6, 7 },
	{'Діамантовий', 'меч', 1.6, 6 },
	{'Незеритовий', 'меч', 1.6, 8 },
	
	{"Дерев'яне", 'кайло', 1.2, 2 },
	{"Кам'яне", 'кайло', 1.2, 3 },
	{'Залізне', 'кайло', 1.2, 4 },
	{'Золоте', 'кайло', 1.2, 2 },
	{'Діамантове', 'кайло', 1.2, 5 },
	{'Незеритове', 'кайло', 1.2, 6 },
	
	{"Дерев'яна", 'сокира', 0.8, 7 },
	{"Кам'яна", 'сокира', 0.8, 9 },
	{'Залізна', 'сокира', 0.9, 9 },
	{'Золота', 'сокира', 1, 7 },
	{'Діамантова', 'сокира', 1, 9 },
	{'Незеритова', 'сокира', 1, 10 },
	
	{"Дерев'яна", 'лопата', 1, 2.5 },
	{"Кам'яна", 'лопата', 1, 3.5 },
	{'Залізна', 'лопата', 1, 4.5 },
	{'Золота', 'лопата', 1, 2.5 },
	{'Діамантова', 'лопата', 1, 5.5 },
	{'Незеритова', 'лопата', 1.6, 6.5 },
	
	{"Дерев'яна", 'мотика', 1, 1 },
	{"Кам'яна", 'мотика', 2, 1 },
	{'Залізна', 'мотика', 3, 1 },
	{'Золота', 'мотика', 1, 1 },
	{'Діамантова', 'мотика', 4, 1 },
	{'Незеритова', 'мотика', 4, 1 }
}

local materialGroups = {}
local toolGroups = {}

for _, toolProps in ipairs( tools ) do
	local aliasName = toolProps[1] .. ' ' .. toolProps[2]
	aliases[aliasName] = { title = aliasName, name = aliasName, text = '/&7Коли в основній руці:/ &2' .. toolProps[3] .. ' швидкості атаки/ &2' .. toolProps[4] .. ' пошкодження' }
	
	local materialGroup = toolProps[1]:lower();
	local toolGroup = toolProps[2]:lower();
	
	if toolProps[2] ~= 'меч' then
		if materialGroups[materialGroup] == nil then materialGroups[materialGroup] = {} end
		table.insert( materialGroups[materialGroup], aliases[aliasName] )
	end
	if toolGroups[toolGroup] == nil then toolGroups[toolGroup] = {} end
	table.insert( toolGroups[toolGroup], aliases[aliasName] )
end

-- Lists of item variants --
local itemVariantsMasculine = {
	['барвник'] = mw.clone( coloredDyes ),
	['кольоровий барвник'] = coloredDyes,
	['килим'] = {
		'Білий килим', 'Помаранчевий килим', 'Пурпуровий килим', 'Блакитний килим', 'Жовтий килим', 'Лаймовий килим',
		'Рожевий килим', 'Сірий килим', 'Світло-сірий килим', 'Бірюзовий килим', 'Фіолетовий килим',
		'Синій килим', 'Коричневий килим', 'Зелений килим', 'Червоний килим', 'Чорний килим',
	},
	['кольоровий килим'] = {
		'Помаранчевий килим', 'Пурпуровий килим', 'Блакитний килим', 'Жовтий килим', 'Лаймовий килим',
		'Рожевий килим', 'Сірий килим', 'Світло-сірий килим', 'Бірюзовий килим', 'Фіолетовий килим',
		'Синій килим', 'Коричневий килим', 'Зелений килим', 'Червоний килим', 'Чорний килим',
	},
	['гриб'] = { 'Червоний гриб', 'Коричневий гриб' },
	['кварцовий блок'] = { 'Блок кварцу', 'Точений кварцовий блок', 'Кварцова колонна' },
	['червоний пісковик'] = { 'Червоний пісковик', 'Точений червоний пісковик', 'Гладкий червоний пісковик' },
	['пісковик'] = { 'Пісковик', 'Точений пісковик', 'Гладкий пісковик' },
	['пурпурний блок'] = { 'Пурпурний блок', 'Колона з пурпуру' },
	['камінь'] = { 'Камінь', 'Андезит', 'Граніт', 'Діорит', 'Полірований андезит', 'Полірований граніт', 'Полірований діорит' },
	['тюльпан'] = { 'Червоний тюльпан', 'Помаранчевий тюльпан', 'Білий тюльпан', 'Рожевий тюльпан' },
	['меч'] = { "Дерев'яний меч", "Кам'яний меч", 'Залізний меч', 'Золотий меч', 'Діамантовий меч' },
}
table.insert( itemVariantsMasculine['барвник'], 1, 'Білий барвник' )
for aliasName, aliasItems in pairs( itemVariantsMasculine ) do
	aliases['Будь-який ' .. aliasName] = aliasItems
	aliases['Відповідний ' .. aliasName] = aliasItems
end

local itemVariantsFeminine = {	
	['кольорова вовна'] = {
		'Помаранчева вовна', 'Пурпурова вовна', 'Блакитна вовна', 'Жовта вовна', 'Лаймова вовна',
		'Рожева вовна', 'Сіра вовна', 'Світло-сіра вовна', 'Бірюзова вовна', 'Фіолетова вовна',
		'Синя вовна', 'Коричнева вовна', 'Зелена вовна', 'Червона вовна', 'Чорна вовна',
	},
	['кольорова кераміка'] = {
		'Біла кераміка', 'Помаранчева кераміка', 'Пурпурова кераміка', 'Блакитна кераміка',
		'Жовта кераміка', 'Лаймова кераміка', 'Рожева кераміка', 'Сіра кераміка', 'Світло-сіра кераміка',
		'Бірюзова кераміка', 'Фіолетова кераміка', 'Синя кераміка', 'Коричнева кераміка', 'Зелена кераміка', 'Червона кераміка', 'Чорна кераміка',
	},
	['квітка'] = { 'Ромашка', 'Волошка', 'Конвалія', 'Висушена троянда', 'Червоний тюльпан', 'Помаранчевий тюльпан', 'Білий тюльпан', 'Рожевий тюльпан', 'Черемша', 'Різанець', 'Блакитна орхідея', 'Мак', 'Кульбаба' },
	["кам'яна цегла"] = { "Кам'яна цегла", "Моховита кам'яна цегла", "Тріснута кам'яна цегла", "Точена кам'яна цегла" },
	["кам'яна плита"] = { 'Плита з гладкого каменю', 'Плита з пісковику', 'Плита з кругляку', 'Цегляна плита', "Плита з кам'яної цегли", 'Плита з пекельної цегли', 'Плита з кварцу' },
	['сокира'] = { "Дерев'яна сокира", "Кам'яна сокира", 'Залізна сокира', 'Золота сокира', 'Діамантова сокира', 'Незеритова сокира' },
	['лопата'] = { "Дерев'яна лопата", "Кам'яна лопата", 'Залізна лопата', 'Золота лопата', 'Діамантова лопата', 'Незеритова лопата' },
	['мотика'] = { "Дерев'яна мотика", "Кам'яна мотика", 'Залізна мотика', 'Золота мотика', 'Діамантова мотика', 'Незеритова мотика' },
	['скляна панель'] = {
		'Біла скляна панель', 'Помаранчева скляна панель', 'Пурпурова скляна панель', 'Блакитна скляна панель', 'Жовта скляна панель', 'Лаймова скляна панель',
		'Рожева скляна панель', 'Сіра скляна панель', 'Світло-сіра скляна панель', 'Бірюзова скляна панель', 'Фіолетова скляна панель',
		'Синя скляна панель', 'Коричнева скляна панель', 'Зелена скляна панель', 'Червона скляна панель', 'Чорна скляна панель',
	},
	['кольорова скляна панель'] = {
		'Помаранчева скляна панель', 'Пурпурова скляна панель', 'Блакитна скляна панель', 'Жовта скляна панель', 'Лаймова скляна панель',
		'Рожева скляна панель', 'Сіра скляна панель', 'Світло-сіра скляна панель', 'Бірюзова скляна панель', 'Фіолетова скляна панель',
		'Синя скляна панель', 'Коричнева скляна панель', 'Зелена скляна панель', 'Червона скляна панель', 'Чорна скляна панель',
	},
}
for aliasName, aliasItems in pairs( itemVariantsFeminine ) do
	aliases['Будь-яка ' .. aliasName] = aliasItems
	aliases['Відповідна ' .. aliasName] = aliasItems
end

local itemVariantsNeuter= {
	['ліжко'] = {
		'Біле ліжко', 'Помаранчеве ліжко', 'Пурпурове ліжко', 'Блакитне ліжко', 'Жовте ліжко', 'Лаймове ліжко',
		'Рожеве ліжко', 'Сіре ліжко', 'Світло-сіре ліжко', 'Бірюзове ліжко', 'Фіолетове ліжко',
		'Синє ліжко', 'Коричневе ліжко', 'Зелене ліжко', 'Червоне ліжко', 'Чорне ліжко',
	},
	['кольорове ліжко'] = {
		'Помаранчеве ліжко', 'Пурпурове ліжко', 'Блакитне ліжко', 'Жовте ліжко', 'Лаймове ліжко',
		'Рожеве ліжко', 'Сіре ліжко', 'Світло-сіре ліжко', 'Бірюзове ліжко', 'Фіолетове ліжко',
		'Синє ліжко', 'Коричневе ліжко', 'Зелене ліжко', 'Червоне ліжко', 'Чорне ліжко',
	},
	['кайло'] = { "Дерев'яне кайло", "Кам'яне кайло", 'Залізне кайло', 'Золоте кайло', 'Діамантове кайло', 'Незеритове кайло' },
	['скло'] = {
		'Біле скло', 'Помаранчеве скло', 'Пурпурове скло', 'Блакитне скло', 'Жовте скло', 'Лаймове скло',
		'Рожеве скло', 'Сіре скло', 'Світло-сіре скло', 'Бірюзове скло', 'Фіолетове скло',
		'Синє скло', 'Коричневе скло', 'Зелене скло', 'Червоне скло', 'Чорне скло',
	},
	['кольорове скло'] = {
		'Помаранчеве скло', 'Пурпурове скло', 'Блакитне скло', 'Жовте скло', 'Лаймове скло',
		'Рожеве скло', 'Сіре скло', 'Світло-сіре скло', 'Бірюзове скло', 'Фіолетове скло',
		'Синє скло', 'Коричневе скло', 'Зелене скло', 'Червоне скло', 'Чорне скло',
	},
}
for aliasName, aliasItems in pairs( itemVariantsNeuter ) do
	aliases['Будь-яке ' .. aliasName] = aliasItems
	aliases['Відповідне ' .. aliasName] = aliasItems
end

-- Discs --
local discs = { '13', 'cat', 'blocks', 'chirp', 'far', 'mall', 'mellohi', 'stal', 'strad', 'ward', '11', 'wait' }
for _, disc in ipairs( discs ) do
	local name = 'Платівка ' .. disc
	aliases[name] = { title = '&bПлатівка', name = name, text = '&7C418 - ' .. disc }
end

-- Damaged armor, tools and weapons --
local damagedItems = {
	{'лук', 'ч'}, -- чоловічий рід
	{'кольчужний шолом', 'ч'},
	{"кольчужний нагрудник", "ч"},
	{'діамантовий шолом', 'ч'},
	{"діамантовий нагрудник", "ч"},
	{'діамантовий меч', 'ч'},
	{'золотий шолом', 'ч'},
	{"золотий нагрудник", "ж"},
	{'золотий меч', 'ч'},
	{'залізний шолом', 'ч'},
	{"залізний нагрудник", "ж"},
	{'незеритовий шолом', 'ч'},
	{"незеритовий нагрудник", "ж"},
	{'залізний меч', 'ч'},
	{'щит', 'ч'},
	{"кам'яний меч", 'ч'},
	{'деревянный меч', 'ч'},
	{'незеритовий меч', "ч"},
	{"діамантове кайло", "с"}, -- середній рід
	{'незеритове кайло', "с"},
	{"золоте кайло", "с"},
	{"залізне кайло", "с"},
	{"кам'яне кайло", "с"},
	{"дерев'яне кайло", "с"},
	{'запальничка', 'ж'}, -- жіночий рід
	{'шкіряна шапка', "ж"},
	{"морква на паличці", "ж"},
	{'діамантова сокира', 'ж'},
	{"діамантова мотика", "ж"},
	{"діамантова лопата", "ж"},
	{"удочка", "ж"},
	{'золота сокира', 'ж'},
	{"золота мотика", "ж"},
	{"золота лопата", "ж"},
	{'залізна сокира', 'ж'},
	{'незеритова сокира', 'ж'},
	{"залізна мотика", "ж"},
	{"залізна лопата", "ж"},
	{'незеритова лопата', "ж"},
	{"шкіряна туніка", "ж"},
	{"кам'яна сокира", 'ж'},
	{"кам'яна мотика", "ж"},
	{"кам'яна лопата", "ж"},
	{"дерев'яна мотика", "ж"},
	{"дерев'яна сокира", 'ж'},
	{"дерев'яна лопата", "ж"},
	{"кольчужні чоботи", "м"}, -- множина
	{"кольчужні наголінники", "м"},
	{"діамантові чоботи", "м"},
	{"діамантові наголінники", "м"},
	{"елітри", "м"},
	{"золоті чоботи", "м"},
	{"золоті наголінники", "м"},
	{"залізні чоботи", "м"},
	{"залізні наголінники", "м"},
	{"незеритові чоботи", "м"},
	{"незеритові наголінники", "м"},
	{"шкіряні чоботи", "м"},
	{"шкіряні штани", "м"},
	{"ножиці", "м"}
}
local damaged = {["ч"] = "Пошкоджений", ["ж"] = "Пошкоджена", ["с"] = "Пошкоджене", ["м"] = "Пошкоджені"}

-- Добавление
for _, item in ipairs(damagedItems) do
	local name = damaged[item[2]] .. ' ' .. item[1]
	aliases[name] = { title = mw.ustring.gsub( item[1], '^%l', mw.ustring.upper ), name = name }
end

local anyDeclensed = {["ч"] = "Будь-який", ["ж"] = "Будь-яка", ["с"] = "Будь-яке", ["м"] = "Будь-які"}
local matchingDeclensed = {["ч"] = "Відповідний", ["ж"] = "Відповідна", ["с"] = "Відповідне", ["м"] = "Відповідні"}

local colors = {
	"білий",
	"помаранчевий",
	"пурпуровий",
	"блакитний",
	"жовтий",
	"лаймовий",
	"рожевий",
	"сірий",
	"світло-сірий",
	"бірюзовий",
	"фіолетовий",
	"синій",
	"коричневий",
	"зелений",
	"червоний",
	"чорний"
}

local colorsDeclensed = mw.loadData("Модуль:Відмінювання прикметників")

-- Banners and colored items --
local patterns = {
	{'%s основою', 'ж'},
	{'%s крижем зліва знизу', 'ч'},
	{'%s градієнтом знизу', 'ч'},
	{'%s зубцями знизу', 'м'},
	{'%s крижем справа знизу', 'ч'},
	{'%s діагоналлю зліва направо', 'ж'},
	{'%s діагоналлю справа наліво', 'ж'},
	{'%s рамкою', 'ж'},
	{'%s зубчастою рамкою', 'ж'},
	{'%s шевроном знизу', 'ч'},
	{'%s верхом', 'ч'},
	{'%s крижем зліва згори', 'ч'},
	{'%s зубцями згори', 'м'},
	{'%s крижем справа згори', 'м'},
	{'%s емблемою кріпера', 'ж'},
	{'%s хрестом', 'ч'},
	{'%s косим хрестом', 'ч'},
	{'%s горизонтальною смугою посередині', 'ж'},
	{'%s цегляним фоном', 'ч'},
	{'%s емблемою квітки', 'ж'},
	{'%s градієнтом згори', 'ч'},
	{'%s шевроном згори', 'ч'},
	{'%s ромбом', 'ч'},
	{'%s вертикальною смугою по центру', 'ж'},
	{'%s вертикальною смугою зліва', 'ж'},
	{'%s вертикальною смугою справа', 'ж'},
	{'%s вертикальними смугами', 'ч'},
	{'%s верхньою правої половиною', 'ж'},
	{'%s нижньою лівої половиною', 'ж'},
	{'%s верхньою лівої половиною', 'ж'},
	{'%s нижньою правої половиною', 'ж'},
	{'%s верхньою половиною', 'ж'},
	{'%s нижньою половиною', 'ж'},
	{'%s лівої половиною', 'ж'},
	{'%s правої половиною', 'ж'},
	{'%s кругом', 'ч'},
	{'%s косим хрестом', 'ч'},
	{'%s символом', 'ч'},
}

-- Firework Stars --
aliases['Будь-яка зірка феєрверку'] = {}
for _, color in ipairs( colors ) do
	local name = ukrainian:ucfirst(colorsDeclensed[color]["ж"]["н"]) .. ' зірка феєрверку'
	aliases[name] = { title = 'Зірка феєрверку', name = name, text = '&7' .. mw.ustring.gsub( color, '^%l', mw.ustring.upper ) }
	table.insert( aliases['Будь-яка зірка феєрверку'], aliases[name] )
	for _, pattern in ipairs( patterns ) do
		name = "Стяг з " .. mw.ustring.format(pattern[1], colorsDeclensed[color][pattern[2] ]["о"])
		aliases[name] = { title = 'Стяг', name = name, text =  '&7С ' .. mw.ustring.format(pattern[1], colorsDeclensed[color][pattern[2] ]["о"])}
	end
end

-- Items that use the sixteen colors --
local coloredItems = {
	{'куля', 'ж'},
	{'стяг', 'ч'},
	{'ліжко', 'с'},
	{'килим', 'ч'},
	{'бетон', 'ч'},
	{'цемент', 'ч'},
	{'глазурована кераміка', 'ж'},
	{'щит', 'ч'},
	{'шалкеровий ящик', 'ч'},
	{'скло', 'с'},
	{'скляна панель', 'ч'},
	{'вовна', 'ж'}
}

for _, item in ipairs( coloredItems ) do
	local name = anyDeclensed[item[2]] .. ' ' .. item[1]
	aliases[name] = {}
	for _, color in ipairs( colors ) do
		table.insert( aliases[name], ukrainian:ucfirst(colorsDeclensed[color][item[2]]["н"]) .. ' ' .. item[1] )
	end
end

for _, item in ipairs( coloredItems ) do
	local name = matchingDeclensed[item[2]] .. ' ' .. item[1]
	aliases[name] = {}
	for _, color in ipairs( colors ) do
		table.insert( aliases[name], ukrainian:ucfirst(colorsDeclensed[color][item[2]]["н"]) .. ' ' .. item[1] )
	end
end

-- list of all potions with no effects
local noEffects = {
	'Water Bottle',
	'Awkward Potion',
	'Thick Potion',
	'Mundane Potion',
	'Uncraftable Potion',
	'Splash Water Bottle',
	'Awkward Splash Potion',
	'Thick Splash Potion',
	'Mundane Splash Potion',
	'Uncraftable Splash Potion',
	'Lingering Water Bottle',
	'Awkward Lingering Potion',
	'Thick Lingering Potion',
	'Mundane Lingering Potion',
	'Uncraftable Lingering Potion',
	'Tipped Arrow',
	'Arrow of Splashing',
	'Uncraftable Tipped Arrow',
}
for _, name in ipairs(noEffects) do
	aliases[name] = { name = name, text = '&7No effects' }
end

-- start these lists with the no effect items as names are not normal
local potionItems = {
	['Potion'] = {
		aliases['Water Bottle'],
		aliases['Awkward Potion'],
		aliases['Thick Potion'],
		aliases['Mundane Potion'],
	},
	['Splash Potion'] = {
		aliases['Splash Water Bottle'],
		aliases['Awkward Splash Potion'],
		aliases['Thick Splash Potion'],
		aliases['Mundane Splash Potion'],
	},
	['Lingering Potion'] = {
		aliases['Lingering Water Bottle'],
		aliases['Awkward Lingering Potion'],
		aliases['Thick Lingering Potion'],
		aliases['Mundane Lingering Potion'],
	},
	['Tipped Arrow'] = {
		aliases['Arrow of Splashing'],
	},
}

-- Potions --
local effects = {
	-- durations are in the order normal, extended, enhanced
	{name = 'Regeneration', effect = '&9Regeneration', enhanced = 'II',
		durations = { normal = { '0:45', '1:30', '0:22' }, lingering = { '0:11', '0:22', '0:05' }, arrow = { '0:05', '0:11', '0:02' }}},
	{ name = 'Swiftness', effect = '&9Speed', enhanced = 'II', 
		durations = { normal = { '3:00', '8:00', '1:30' }, lingering = { '0:45', '2:00', '0:22' }, arrow = { '0:22', '1:00', '0:11' }}},
	{ name = 'Fire Resistance', effect = '&9Fire Resistance', durations = { normal = { '3:00', '8:00' }, lingering = { '0:45', '2:00' }, arrow = { '0:22', '1:00' }}},
	{ name = 'Poison', effect = '&cPoison', enhanced = 'II', 
		durations = { normal = { '0:45', '1:30', '0:21' }, lingering = { '0:11', '0:22', '0:05' }, arrow = { '0:05', '0:11', '0:02' }}},
	{ name = 'Healing', effect = '&9Instant Health', enhanced = 'II' },
	{ name = 'Night Vision',    effect = '&9Night Vision',    durations = { normal = { '3:00', '8:00' }, lingering = { '0:45', '2:00' }, arrow = { '0:22', '1:00' }}},
	{ name = 'Weakness',        effect = '&cWeakness',        durations = { normal = { '1:30', '4:00' }, lingering = { '0:22', '1:00' }, arrow = { '0:11', '0:30' }}},
	{ name = 'Strength', effect = '&9Strength', enhanced = 'II', 
		durations = { normal = { '3:00', '8:00', '1:30'}, lingering = {'0:45', '2:00', '0:22'}, arrow = { '0:22', '1:00', '0:11' }}},
	{ name = 'Slowness', effect = '&cSlowness', enhanced = 'IV', 
		durations = { normal = { '1:30', '4:00', '0:20'}, lingering = {'0:22', '1:00', '0:05'}, arrow = { '0:11', '0:30', '0:02' }}},
	{ name = 'Leaping', effect = '&9Jump Boost', enhanced = 'II', 
		durations = { normal = { '3:00', '8:00', '1:30' }, lingering = {'0:45', '2:00', '0:22'}, arrow = { '0:22', '1:00', '0:11' }}},
	{ name = 'Harming', effect = '&cInstant Damage', enhanced = 'II' },
	{ name = 'Water Breathing', effect = '&9Water Breathing', durations = { normal = { '3:00', '8:00' }, lingering = { '0:45', '2:00' }, arrow = { '0:22', '1:00' }}},
	{ name = 'Invisibility',    effect = '&9Invisibility',    durations = { normal = { '3:00', '8:00' }, lingering = { '0:45', '2:00' }, arrow = { '0:22', '1:00' }}},
	{ name = 'Slow Falling',    effect = '&9Slow Falling',    durations = { normal = { '1:30', '4:00' }, lingering = { '0:22', '1:00' }, arrow = { '0:11', '0:30' }}},
	{ name = 'Luck',  effect = '&9Luck',   durations = { normal = { '5:00' }, lingering = { '1:15' }, arrow = { '0:37' }}},
	{ name = 'Decay', effect = '&cWither', durations = { normal = { '0:40' }, lingering = { '0:10' }, arrow = { '0:05' }}},
	{ name = 'the Turtle Master', text = '&cSlowness IV ($1)/&9Resistance III ($1)', enhanced = '&cSlowness VI ($1)/&9Resistance IV ($1)',
		durations = { normal = { '0:20', '0:40', '0:20' }, lingering = { '0:15', '0:45', '0:15' }, arrow = {  '0:07', '0:22', '0:07' }}}
}
local types = {
	{name = 'Potion',           durations = 'normal',    text = 'Potion of '},
	{name = 'Splash Potion',    durations = 'normal',    text = 'Splash Potion of '},
	{name = 'Lingering Potion', durations = 'lingering', text = 'Lingering Potion of '},
	{name = 'Tipped Arrow',     durations = 'arrow',     text = 'Arrow of '},
}

for _, effect in ipairs(effects) do
	for _, type in ipairs(types) do
		-- form name, it will be reused
		local name = type.text .. effect.name
		
		-- if we have durations, add times
		if effect.durations then
			local durations = effect.durations[type.durations]
			
			-- turtle master is weird, so just do a fancy string replacement
			if effect.text then
				aliases[name] = { name = name, text = string.gsub( effect.text, '%$1', durations[1] ) }
				aliases[name .. ' Extended'] = { name = name, text = string.gsub( effect.text, '%$1', durations[2] ) }
				aliases[name .. ' Enhanced'] = { name = name, text = string.gsub( effect.enhanced, '%$1', durations[3] ) }
			else
				-- we always have normal
				aliases[name] = { name = name, text = string.format( '%s (%s)', effect.effect, durations[1] ) }
			
				-- ensure we have extended
				if durations[2] then
					aliases[name .. ' Extended'] = { name = name, text = string.format( '%s (%s)', effect.effect, durations[2] ) }
					
					-- and enhanced, currently there is nothing with a duration that can be extended but not enhanced
					if effect.enhanced then
						aliases[name .. ' Enhanced'] = { name = name, text = string.format( '%s %s (%s)', effect.effect, effect.enhanced, durations[3] ) }
					end
				end
			end
		else
			-- otherwise its just effect, currently every potion with no duration can be enhanced
			aliases[name] = { name = name, text = effect.effect}
			aliases[name .. ' Enhanced'] = { name = name, text = effect.effect .. ' ' .. effect.enhanced }
		end
		
		-- add the base potion to the any list
		table.insert(potionItems[type.name], aliases[name])
	end
end

-- build the any lists
for item, potionAliases in pairs( potionItems ) do
	aliases['Any ' .. item] = potionAliases
	aliases['Matching ' .. item] = potionAliases
end

local woodsUK = {
	{["ч"] = 'дубовий', ["ж"] = 'дубова', ["с"] = 'дубове', ["м"] = 'дубові'},
	{["ч"] = 'смерековий', ["ж"] = 'смерекова', ["с"] = 'смерекове', ["м"] = 'смерекові'},
	{["ч"] = 'березовий', ["ж"] = 'березова', ["с"] = 'березове', ["м"] = 'березові'},
	{genitiveOnly = "тропічного дерева"},
	{["ч"] = 'акацієвий', ["ж"] = 'акацієва', ["с"] = 'акацієве', ["м"] = 'акацієві'},
	{genitiveOnly = "темного дубу"},
	{["ч"] = 'багряний', ["ж"] = 'багряна', ["с"] = 'багряне', ["м"] = 'багряні'},
	{["ч"] = 'химерний', ["ж"] = 'химерна', ["с"] = 'химерне', ["м"] = 'химерні'},
}
local woodItemsUK = {
	{'човен', 'ч'},
	{'дошки', 'м'},
	{'хвіртка', 'ж'},
	{'деревина', 'ж'},
	{"дерев'яний люк", 'ч'},
	{"дерев'яні двері", 'м'},
	{"дерев'яний паркан", 'ч'},
	{"дерев'яна плита", 'ж'},
	{"дерев'яні сходи", 'м'},
	{"табличка", 'ж'},
	{"дерев'яна натискна плита", 'ж'},
	{"дерев'яна кнопка", 'ж'},
	{"дерев'яна клавіша", 'ж'},
	{'кора', 'ж'},
	{'колода', 'ж'}
}
local woodNamesUK = {
	["дерев'яний люк"] = 'люк',
	["дерев'яні двері"] = 'двері',
	["дерев'яний паркан"] = 'паркан',
	["дерев'яна плита"] = 'плита',
	["дерев'яні сходи"] = 'сходи',
	["дерев'яна натискна плита"] = 'натискна плита',
	["дерев'яна кнопка"] = 'кнопка',
	["дерев'яна клавіша"] = 'клавіша'
}

for _, item in ipairs( woodItemsUK ) do
	local itemName = woodNamesUK[item[1]] or item[1]
	local woodAliases = {}
	for _, wood in ipairs( woodsUK ) do
		local name = ""
		if wood.genitiveOnly then
			if item[1] == "деревина" or item[1] == "кора" or item[1] == "колода" then
				name = itemName .. " " .. wood.genitiveOnly
			else
				name = itemName .. " з " .. wood.genitiveOnly
			end
		else
			name = wood[item[2]] .. " " .. itemName
		end
		table.insert( woodAliases, ukrainian:ucfirst(name) )
	end
	aliases[matchingDeclensed[item[2]] .. " " .. item[1]] = woodAliases
	aliases[anyDeclensed[item[2]] .. " " .. item[1]] = woodAliases
end

-- Bedrock Edition Items --
local editionItems = {
	BE = {
		'Лук',
		'Відро із скелезубом',
		'Відро з тропічною рибою',
		'Яйце виклику кота',
		'Скриня',
		'Стінка з кругляку',
		'Ендер-скриня',
		'Скляна панель',
		'Блок рогового коралу',
		'Залізні ґрати',
		'Лава',
		'Текуча лава',
		'Вагонетка з командним блоком',
		'Стінка з моховитого кругляку',
		'Дубова хвіртка',
		'Спостерігач',
		'Яйце виклику панди',
		'Півонія',
		'Трояндовий кущ',
		'Риштовка',
		'Каменяр',
	},
	LCE = {
		'Півонія',
		'Трояндовий кущ'
	}
}
for edition, items in pairs(editionItems) do
	for _, item in ipairs(items) do
		local name = item .. ' ' .. edition
		aliases[name] = { title = item, name = name }
	end
end

return aliases
Advertisement