Модуль:Инвентарный слот/Псевдонимы

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

Этот Lua-модуль содержит общие данные по псевдонимам, которые можно использовать в инвентарных слотах вместо собственных названий предметов.

Большинство псевдонимов определяются для групп предметов. Это удобно, так как не приходится перечислять все предметы. Более того, группу предметов, для которой записан псевдоним можно изменять в одном месте (данном модуле), и тогда не придётся менять те страницы, где он используется.

Другие псевдонимы переопределяют отображаемый всплывающий текст. Он указывается в квадратных скобках. Это делается для того, чтобы он примерно соответствовал тому тексту, что используется в игре (но это возможно не до конца — поддержка форматирования текста и многострочного комментария на данный момент не реализована).

-- Список псевдонимов названий блоков и предметов, принимаемых модулем «Инвентарный слот».

local russian = mw.language.new('ru')

-- «Цветные» красители
local coloredDyes = 'Оранжевый краситель; Сиреневый краситель; Светло-синий краситель; Жёлтый краситель; Лаймовый краситель; Розовый краситель; Серый краситель; Светло-серый краситель; Бирюзовый краситель; Фиолетовый краситель; Лазурит; Какао-бобы; Зелёный краситель; Красный краситель; Чернильный мешок'

local aliases = {
	-- Списки --
	['Любой краситель'] = 'Костная мука; ' .. coloredDyes,
		['Любой цветной краситель'] = coloredDyes,
	['Любая цветная шерсть'] = 'Оранжевая шерсть; Сиреневая шерсть; Светло-синяя шерсть; Жёлтая шерсть; Лаймовая шерсть; Розовая шерсть; Серая шерсть; Светло-серая шерсть; Бирюзовая шерсть; Фиолетовая шерсть; Синяя шерсть; Коричневая шерсть; Зелёная шерсть; Красная шерсть; Чёрная шерсть',
	['Любое топливо'] = 'Уголь; Древесный уголь; Угольный блок; Древесина; Дубовые доски; Палка',
	['Любой гриб'] = '[Гриб]Красный гриб; [Гриб]Коричневый гриб',
	['Любой кварцевый блок'] = 'Кварцевый блок; Резной кварцевый блок; Кварцевый пилон',
	['Любой красный песчаник'] = 'Красный песчаник; Декоративный красный песчаник; Резной красный песчаник',
	['Любой песчаник'] = 'Песчаник; Декоративный песчаник; Резной песчаник',
	['Любой каменный кирпич'] = 'Каменный кирпич; Замшелый каменный кирпич; Потрескавшийся каменный кирпич; Резной каменный кирпич',
	['Любая каменная плита'] = 'Каменная плита; Песчаниковая плита; Булыжниковая плита; Кирпичная плита; Плита из каменного кирпича; Плита из адского кирпича; Кварцевая плита',
	['Любая кора'] = 'Дубовая кора; Еловая кора; Берёзовая кора; Кора тропического дерева; Акациевая кора; Кора тёмного дуба',
	['Любая еда'] = 'Торт; Жареная свинина; Хлеб; Гнилая плоть; Яблоко; Ломтик арбуза',
	['Любой камень'] = 'Камень; Андезит; Гранит; Диорит; Полированный андезит; Полированный гранит; Полированный диорит',
	['Любая стеклянная панель'] = 'Стеклянная панель;Белая окрашенная стеклянная панель;Оранжевая окрашенная стеклянная панель;Сиреневая окрашенная стеклянная панель;Светло-синяя окрашенная стеклянная панель;Жёлтая окрашенная стеклянная панель;Лаймовая окрашенная стеклянная панель;Розовая окрашенная стеклянная панель;Серая окрашенная стеклянная панель;Светло-серая окрашенная стеклянная панель;Бирюзовая окрашенная стеклянная панель;Фиолетовая окрашенная стеклянная панель;Синяя окрашенная стеклянная панель;Коричневая окрашенная стеклянная панель;Зелёная окрашенная стеклянная панель;Красная окрашенная стеклянная панель;Чёрная окрашенная стеклянная панель',
	
 	-- Броня -- 
	['Любая броня'] = 'Кожаный шлем; Кожаная кираса; Кожаные поножи; Кожаные ботинки; Кольчужный шлем; Кольчужная кираса; Кольчужные поножи; Кольчужные ботинки; Железный шлем; Железная кираса; Железные поножи; Железные ботинки; Алмазный шлем; Алмазная кираса; Алмазные поножи; Алмазные ботинки; Золотой шлем; Золотая кираса; Золотые поножи; Золотые ботинки',
	['Любая кожаная броня'] = 'Кожаный шлем; Кожаная кираса; Кожаные поножи; Кожаные ботинки',
	['Любая кольчужная броня'] = 'Кольчужный шлем; Кольчужная кираса; Кольчужные поножи; Кольчужные ботинки',
	['Любая железная броня'] = 'Железный шлем; Железная кираса; Железные поножи; Железные ботинки',
	['Любая алмазная броня'] = 'Алмазный шлем; Алмазная кираса; Алмазные поножи; Алмазные ботинки',
	['Любая золотая броня'] = 'Золотой шлем; Золотая кираса; Золотые поножи; Золотые ботинки',
	
	-- Техническое --
	['Базовый флаг'] = '[Флаг]Светло-серый флаг' .. string.rep('; Флаг', 15), -- Используется в изображении процесса нанесения на флаг фигур; первый флаг
	                                                                          -- в цепочке светло-серый (как и получаемый флаг), чтобы были видны белые фигуры
	
	-- Блоки и предметы с изменёнными отображаемыми названиями --
	['Сломанные надкрылья'] = '[Надкрылья]Сломанные надкрылья',
	['Коричневый гриб'] = '[Гриб]Коричневый гриб',
	['Огромный коричневый гриб'] = '[Гриб]Огромный коричневый гриб',
	['Красный гриб'] = '[Гриб]Красный гриб',
	['Огромный красный гриб'] = '[Гриб]Огромный красный гриб',
	['Глиняный блок'] = '[Глина]Глиняный блок',
	['Зачарованная книга'] = '[&e]Зачарованная книга',
	['Зачарованное золотое яблоко'] = '[&d]Золотое яблоко',
	['Рамка портала Края'] = '[Портал (Край)]Рамка портала Края',
	['Золотое яблоко'] = '[&b]Золотое яблоко',
	['Адский кирпич (предмет)'] = '[Адский кирпич]Адский кирпич (предмет)',
	['Снег (слой)'] = '[Снег]Снег (слой)',
	['Лук (цветок)'] = '[Лук]Лук (цветок)',
	['Строительные леса BE'] = '[Строительные леса]Строительные леса BE',

	-- Зелья без эффектов --
	['Грубое зелье'] = 'Грубое зелье[&7Без эффектов]',
	['Колба воды'] = 'Колба воды[&7Без эффектов]', -- колба воды тоже относится к зельям
	['Густое зелье'] = 'Густое зелье[&7Без эффектов]',
	['Непримечательное зелье'] = 'Непримечательное зелье[&7Без эффектов]',

    -- Зелья --
	['Зелье ночного зрения'] = 'Зелье ночного зрения[&9Ночное зрение (3:00)]',
	['Зелье ночного зрения +'] = 'Зелье ночного зрения[&9Ночное зрение (8:00)]',
	['Зелье невидимости'] = 'Зелье невидимости[&9Невидимость (3:00)]',
	['Зелье невидимости +'] = 'Зелье невидимости[&9Невидимость (8:00)]',
	['Зелье прыгучести'] = 'Зелье прыгучести[&9Прыгучесть (3:00)]',
	['Зелье прыгучести +'] = 'Зелье прыгучести[&9Прыгучесть (8:00)]',
	['Зелье прыгучести II'] = 'Зелье прыгучести[&9Прыгучесть II (1:30)]',
	['Зелье огнестойкости'] = 'Зелье огнестойкости[&9Огнестойкость (3:00)]',
	['Зелье огнестойкости +'] = 'Зелье огнестойкости[&9Огнестойкость (8:00)]',
	['Зелье ускорения'] = 'Зелье ускорения[&9Скорость (3:00)//&5При применении:/&9+20% Скорость]',
	['Зелье ускорения +'] = 'Зелье ускорения[&9Скорость (8:00)//&5При применении:/&9+20% Скорость]',
	['Зелье ускорения II'] = 'Зелье ускорения[&9Скорость II (1:30)//&5При применении:/&9+40% Скорость]',
	['Зелье замедления'] = 'Зелье замедления[&cЗамедление (1:30)//&5При применении:/&c-15% Скорость]',
	['Зелье замедления +'] = 'Зелье замедления[&cЗамедление (4:00)//&5При применении:/&c-15% Скорость]',
	['Зелье подводного дыхания'] = 'Зелье подводного дыхания[&9Водное дыхание (3:00)]',
	['Зелье подводного дыхания +'] = 'Зелье подводного дыхания[&9Водное дыхание (8:00)]',
	['Зелье лечения'] = 'Зелье лечения[&9Исцеление]',
	['Зелье лечения II'] = 'Зелье лечения[&9Исцеление II]',
	['Зелье урона'] = 'Зелье урона[&cМоментальный урон]',
	['Зелье урона II'] = 'Зелье урона[&cМоментальный урон II]',
	['Зелье отравления'] = 'Зелье отравления[&cОтравление (0:45)]',
	['Зелье отравления +'] = 'Зелье отравления[&cОтравление (1:30)]',
	['Зелье отравления II'] = 'Зелье отравления[&cОтравление (0:21)]',
	['Зелье регенерации'] = 'Зелье регенерации[&9Регенерация (0:45)]',
	['Зелье регенерации +'] = 'Зелье регенерации[&9Регенерация (1:30)]',
	['Зелье регенерации II'] = 'Зелье регенерации[&9Регенерация II (0:22)]',
	['Зелье силы'] = 'Зелье силы[&9Сила (3:00)//&5При применении:/&9+3 Урон]',
	['Зелье силы +'] = 'Зелье силы[&9Сила (8:00)//&5При применении:/&9+3 Урон]',
	['Зелье силы II'] = 'Зелье силы[&9Сила II (1:30)//&5При применении:/&9+6 Урон]',
	['Зелье слабости'] = 'Зелье слабости[&cСлабость (1:30)//&5При применении:/&9-4 Урон]',
	['Зелье слабости +'] = 'Зелье слабости[&cСлабость (4:00)//&5При применении:/&9-4 Урон]',
	['Зелье удачи'] = 'Зелье удачи[&9Удача (5:00)//&5При применении:/&9+1 Удача]',
	
    -- Взрывающиеся зелья --
	['Грубое взрывающееся зелье'] = 'Грубое взрывающееся зелье[&7Без эффектов]',
	['Оседающая колба воды'] = 'Оседающая колба воды[&7Без эффектов]', 
	['Густое взрывающееся зелье'] = 'Густое взрывающееся зелье[&7Без эффектов]',
	['Непримечательное взрывающееся зелье'] = 'Непримечательное взрывающееся зелье[&7Без эффектов]',
	
	['Взрывающееся зелье ночного зрения'] = 'Взрывающееся зелье ночного зрения[&9Ночное зрение (3:00)]',
	['Взрывающееся зелье ночного зрения +'] = 'Взрывающееся зелье ночного зрения[&9Ночное зрение (8:00)]',
	['Взрывающееся зелье невидимости'] = 'Взрывающееся зелье невидимости[&9Невидимость (3:00)]',
	['Взрывающееся зелье невидимости +'] = 'Взрывающееся зелье невидимости[&9Невидимость (8:00)]',
	['Взрывающееся зелье прыгучести'] = 'Взрывающееся зелье прыгучести[&9Прыгучесть (3:00)]',
	['Взрывающееся зелье прыгучести +'] = 'Взрывающееся зелье прыгучести[&9Прыгучесть (8:00)]',
	['Взрывающееся зелье прыгучести II'] = 'Взрывающееся зелье прыгучести[&9Прыгучесть II (1:30)]',
	['Взрывающееся зелье огнестойкости'] = 'Взрывающееся зелье огнестойкости[&9Огнестойкость (3:00)]',
	['Взрывающееся зелье огнестойкости +'] = 'Взрывающееся зелье огнестойкости[&9Огнестойкость (8:00)]',
	['Взрывающееся зелье ускорения'] = 'Взрывающееся зелье ускорения[&9Скорость (3:00)//&5При применении:/&9+20% Скорость]',
	['Взрывающееся зелье ускорения +'] = 'Взрывающееся зелье ускорения[&9Скорость (8:00)//&5При применении:/&9+20% Скорость]',
	['Взрывающееся зелье ускорения II'] = 'Взрывающееся зелье ускорения[&9Скорость II (1:30)//&5При применении:/&9+40% Скорость]',
	['Взрывающееся зелье замедления'] = 'Взрывающееся зелье замедления[&cЗамедление (1:30)//&5При применении:/&c-15% Скорость]',
	['Взрывающееся зелье замедления +'] = 'Взрывающееся зелье замедления[&cЗамедление (4:00)//&5При применении:/&c-15% Скорость]',
	['Взрывающееся зелье подводного дыхания'] = 'Взрывающееся зелье подводного дыхания[&9Водное дыхание (3:00)]',
	['Взрывающееся зелье подводного дыхания +'] = 'Взрывающееся зелье подводного дыхания[&9Водное дыхание (8:00)]',
	['Взрывающееся зелье лечения'] = 'Взрывающееся зелье лечения[&9Исцеление]',
	['Взрывающееся зелье лечения II'] = 'Взрывающееся зелье лечения[&9Исцеление II]',
	['Взрывающееся зелье урона'] = 'Взрывающееся зелье урона[&cМоментальный урон]',
	['Взрывающееся зелье урона II'] = 'Взрывающееся зелье урона[&cМоментальный урон II]',
	['Взрывающееся зелье отравления'] = 'Взрывающееся зелье отравления[&cОтравление (0:45)]',
	['Взрывающееся зелье отравления +'] = 'Взрывающееся зелье отравления[&cОтравление (1:30)]',
	['Взрывающееся зелье отравления II'] = 'Взрывающееся зелье отравления[&cОтравление (0:21)]',
	['Взрывающееся зелье регенерации'] = 'Взрывающееся зелье регенерации[&9Регенерация (0:45)]',
	['Взрывающееся зелье регенерации +'] = 'Взрывающееся зелье регенерации[&9Регенерация (1:30)]',
	['Взрывающееся зелье регенерации II'] = 'Взрывающееся зелье регенерации[&9Регенерация II (0:22)]',
	['Взрывающееся зелье силы'] = 'Взрывающееся зелье силы[&9Сила (3:00)//&5При применении:/&9+3 Урон]',
	['Взрывающееся зелье силы +'] = 'Взрывающееся зелье силы[&9Сила (8:00)//&5При применении:/&9+3 Урон]',
	['Взрывающееся зелье силы II'] = 'Взрывающееся зелье силы[&9Сила II (1:30)//&5При применении:/&9+6 Урон]',
	['Взрывающееся зелье слабости'] = 'Взрывающееся зелье слабости[&cСлабость (1:30)//&5При применении:/&9-4 Урон]',
	['Взрывающееся зелье слабости +'] = 'Взрывающееся зелье слабости[&cСлабость (4:00)//&5При применении:/&9-4 Урон]',
	['Взрывающееся зелье удачи'] = 'Взрывающееся зелье удачи[&9Удача (5:00)//&5При применении:/&9+1 Удача]',

	-- Взвешенные (оседающие) зелья --
	['Грубое оседающее зелье'] = 'Грубое оседающее зелье[&7Без эффектов]',
	['Оседающая колба воды'] = 'Оседающая колба воды[&7Без эффектов]', 
	['Густое оседающее зелье'] = 'Густое оседающее зелье[&7Без эффектов]',
	['Непримечательное оседающее зелье'] = 'Непримечательное оседающее зелье[&7Без эффектов]',
	
	['Оседающее зелье ночного зрения'] = 'Оседающее зелье ночного зрения[&9Ночное зрение (0:45)]',
	['Оседающее зелье ночного зрения +'] = 'Оседающее зелье ночного зрения[&9Ночное зрение (2:00)]',
	['Оседающее зелье невидимости'] = 'Оседающее зелье невидимости[&9Невидимость (0:45)]',
	['Оседающее зелье невидимости +'] = 'Оседающее зелье невидимости[&9Невидимость (2:00)]',
	['Оседающее зелье прыгучести'] = 'Оседающее зелье прыгучести[&9Прыгучесть (0:45)]',
	['Оседающее зелье прыгучести +'] = 'Оседающее зелье прыгучести[&9Прыгучесть (2:00)]',
	['Оседающее зелье прыгучести II'] = 'Оседающее зелье прыгучести[&9Прыгучесть II (0:22)]',
	['Оседающее зелье огнестойкости'] = 'Оседающее зелье огнестойкости[&9Огнестойкость (0:45)]',
	['Оседающее зелье огнестойкости +'] = 'Оседающее зелье огнестойкости[&9Огнестойкость (2:00)]',
	['Оседающее зелье ускорения'] = 'Оседающее зелье ускорения[&9Скорость (0:45)//&5При применении:/&9+20% Скорость]',
	['Оседающее зелье ускорения +'] = 'Оседающее зелье ускорения[&9Скорость (2:00)//&5При применении:/&9+20% Скорость]',
	['Оседающее зелье ускорения II'] = 'Оседающее зелье ускорения[&9Скорость II (0:22)//&5При применении:/&9+40% Скорость]',
	['Оседающее зелье замедления'] = 'Оседающее зелье замедления[&cЗамедление (0:22)//&5При применении:/&c-15% Скорость]',
	['Оседающее зелье замедления +'] = 'Оседающее зелье замедления[&cЗамедление (1:00)//&5При применении:/&c-15% Скорость]',
	['Оседающее зелье подводного дыхания'] = 'Оседающее зелье подводного дыхания[&9Водное дыхание (0:45)]',
	['Оседающее зелье подводного дыхания +'] = 'Оседающее зелье подводного дыхания[&9Водное дыхание (2:00)]',
	['Оседающее зелье лечения'] = 'Оседающее зелье лечения[&9Исцеление]',
	['Оседающее зелье лечения II'] = 'Оседающее зелье лечения[&9Исцеление II]',
	['Оседающее зелье урона'] = 'Оседающее зелье урона[&cМоментальный урон]',
	['Оседающее зелье урона II'] = 'Оседающее зелье урона[&cМоментальный урон II]',
	['Оседающее зелье отравления'] = 'Оседающее зелье отравления[&cОтравление (0:11)]',
	['Оседающее зелье отравления +'] = 'Оседающее зелье отравления[&cОтравление (0:22)]',
	['Оседающее зелье отравления II'] = 'Оседающее зелье отравления[&cОтравление (0:05)]',
	['Оседающее зелье регенерации'] = 'Оседающее зелье регенерации[&9Регенерация (0:11)]',
	['Оседающее зелье регенерации +'] = 'Оседающее зелье регенерации[&9Регенерация (0:22)]',
	['Оседающее зелье регенерации II'] = 'Оседающее зелье регенерации[&9Регенерация II (0:05)]',
	['Оседающее зелье силы'] = 'Оседающее зелье силы[&9Сила (0:45)//&5При применении:/&9+3 Урон]',
	['Оседающее зелье силы +'] = 'Оседающее зелье силы[&9Сила (2:00)//&5При применении:/&9+3 Урон]',
	['Оседающее зелье силы II'] = 'Оседающее зелье силы[&9Сила II (0:22)//&5При применении:/&9+6 Урон]',
	['Оседающее зелье слабости'] = 'Оседающее зелье слабости[&cСлабость (0:22)//&5При применении:/&9-4 Урон]',
	['Оседающее зелье слабости +'] = 'Оседающее зелье слабости[&cСлабость (1:00)//&5При применении:/&9-4 Урон]',
	['Оседающее зелье удачи'] = 'Оседающее зелье удачи[&9Удача (1:15)//&5При применении:/&9+1 Удача]',

	-- Стрелы --	
	['Стрела ночного зрения'] = 'Стрела ночного зрения[&9Ночное зрение (0:22)]',
	['Стрела ночного зрения +'] = 'Стрела ночного зрения[&9Ночное зрение (1:00)]',
	['Стрела невидимости'] = 'Стрела невидимости[&9Невидимость (0:22)]',
	['Стрела невидимости +'] = 'Стрела невидимости[&9Невидимость (1:00)]',
	['Стрела прыгучести'] = 'Стрела прыгучести[&9Прыгучесть (0:22)]',
	['Стрела прыгучести +'] = 'Стрела прыгучести[&9Прыгучесть (1:00)]',
	['Стрела прыгучести II'] = 'Стрела прыгучести[&9Прыгучесть II (0:11)]',
	['Стрела огнестойкости'] = 'Стрела огнестойкости[&9Огнестойкость (0:22)]',
	['Стрела огнестойкости +'] = 'Стрела огнестойкости[&9Огнестойкость (1:00)]',
	['Стрела ускорения'] = 'Стрела ускорения[&9Скорость (0:22)//&5При применении:/&9+20% Скорость]',
	['Стрела ускорения +'] = 'Стрела ускорения[&9Скорость (1:00)//&5При применении:/&9+20% Скорость]',
	['Стрела ускорения II'] = 'Стрела ускорения[&9Скорость II (0:11)//&5При применении:/&9+40% Скорость]',
	['Стрела замедления'] = 'Стрела замедления[&cЗамедление (0:11)//&5При применении:/&c-15% Скорость]',
	['Стрела замедления +'] = 'Стрела замедления[&cЗамедление (0:30)//&5При применении:/&c-15% Скорость]',
	['Стрела подводного дыхания'] = 'Стрела подводного дыхания[&9Водное дыхание (0:22)]',
	['Стрела подводного дыхания +'] = 'Стрела подводного дыхания[&9Водное дыхание (1:00)]',
	['Стрела лечения'] = 'Стрела лечения[&9Исцеление]',
	['Стрела лечения II'] = 'Стрела лечения[&9Исцеление II]',
	['Стрела урона'] = 'Стрела урона[&cМоментальный урон]',
	['Стрела урона II'] = 'Стрела урона[&cМоментальный урон II]',
	['Стрела медленного падения'] = 'Стрела медленного падения[&9Медленное падение (0:11)]',
	['Стрела отравления'] = 'Стрела отравления[&cОтравление (0:05)]',
	['Стрела отравления +'] = 'Стрела отравления[&cОтравление (0:11)]',
	['Стрела отравления II'] = 'Стрела отравления[&cОтравление (0:02)]',
	['Стрела разложения'] = 'Стрела разложения[&cИссушение (0:05)]',
	['Стрела регенерации'] = 'Стрела регенерации[&9Регенерация (0:05)]',
	['Стрела регенерации +'] = 'Стрела регенерации[&9Регенерация (0:11)]',
	['Стрела регенерации II'] = 'Стрела регенерации[&9Регенерация II (0:02)]',
	['Стрела силы'] = 'Стрела силы[&9Сила (0:22)//&5При применении:/&9+3 Урон]',
	['Стрела силы +'] = 'Стрела силы[&9Сила (1:00)//&5При применении:/&9+3 Урон]',
	['Стрела силы II'] = 'Стрела силы[&9Сила II (0:11)//&5При применении:/&9+6 Урон]',
	['Стрела слабости'] = 'Стрела слабости[&cСлабость (0:11)//&5При применении:/&9-4 Урон]',
	['Стрела слабости +'] = 'Стрела слабости[&cСлабость (0:30)//&5При применении:/&9-4 Урон]',
	['Стрела удачи'] = 'Стрела удачи[&9Удача (0:37)//&5При применении:/&9+1 Удача]',
	['Стрела черепашьей мощи'] = 'Стрела черепашьей мощи[&cЗамедление IV (0:05)/&9Сопротивление III (0:05)//&5При применении:/&c-60% Скорость]'
}

-- Пластинки --
local discs = { '13', 'cat', 'blocks', 'chirp', 'far', 'mall', 'mellohi', 'stal', 'strad', 'ward', '11', 'wait' }
local discNames = {}
for _, disc in ipairs( discs ) do
	local name = 'Пластинка ' .. disc
	local alias = '[&bПластинка]' .. name .. '[&7C418 - ' .. disc .. ']'
	aliases[name] = alias
	table.insert(discNames, alias)
end
aliases["Любая пластинка"] = table.concat(discNames, ";")

-- Повреждённая экипировка --

-- В отличие от английского языка в русском языке окончание прилагательных изменяется в зависимости
-- от числа и рода существительных, к которым они относятся. Поэтому элементами таблицы являются
-- подтаблицы из двух элементов — собственно названия и рода (в единственном числе) или показателя
-- множественного числа.

local damagedItems = {
	{'лук', 'м'}, -- мужской род
	{'кольчужный шлем', 'м'},
	{'алмазный топор', 'м'},
	{'алмазный шлем', 'м'},
	{'алмазный меч', 'м'},
	{'золотой топор', 'м'},
	{'золотой шлем', 'м'},
	{'золотой меч', 'м'},
	{'железный топор', 'м'},
	{'железный шлем', 'м'},
	{'железный меч', 'м'},
	{'щит', 'м'},
	{'каменный топор', 'м'},
	{'каменный меч', 'м'},
	{'деревянный топор', 'м'},
	{'деревянный меч', 'м'},
	{'огниво', 'с'}, -- средний род
	{"удочка с морковью", "ж"}, -- женский род
	{"кольчужная кираса", "ж"},
	{"алмазная кираса", "ж"},
	{"алмазная мотыга", "ж"},
	{"алмазная кирка", "ж"},
	{"алмазная лопата", "ж"},
	{"удочка", "ж"},
	{"золотая кираса", "ж"},
	{"золотая мотыга", "ж"},
	{"золотая кирка", "ж"},
	{"золотая лопата", "ж"},
	{"железная кираса", "ж"},
	{"железная мотыга", "ж"},
	{"железная кирка", "ж"},
	{"железная лопата", "ж"},
	{"кожаный шлем", "м"},
	{"кожаная кираса", "ж"},
	{"каменная мотыга", "ж"},
	{"каменная кирка", "ж"},
	{"каменная лопата", "ж"},
	{"деревянная мотыга", "ж"},
	{"деревянная кирка", "ж"},
	{"деревянная лопата", "ж"},
	{"кольчужные ботинки", "н"}, -- множественное число (н — от «несколько»)
	{"кольчужные поножи", "н"},
	{"алмазные ботинки", "н"},
	{"алмазные поножи", "н"},
	{"надкрылья", "н"},
	{"золотые ботинки", "н"},
	{"золотые поножи", "н"},
	{"железные ботинки", "н"},
	{"железные поножи", "н"},
	{"кожаные ботинки", "н"},
	{"кожаные поножи", "н"},
	{"ножницы", "н"}
}
local damaged = {["м"] = "Повреждённый", ["ж"] = "Повреждённая", ["с"] = "Повреждённое", ["н"] = "Повреждённые"}

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

-- Цветные предметы и флаги --

-- Прилагательное «любой»
local anyDeclensed = {["м"] = "Любой", ["ж"] = "Любая", ["с"] = "Любое", ["н"] = "Любые"}

-- Все цвета в начальной форме
local colors = {
	"белый",
	"оранжевый",
	"сиреневый",
	"светло-синий",
	"жёлтый",
	"лаймовый",
	"розовый",
	"серый",
	"светло-серый",
	"бирюзовый",
	"фиолетовый",
	"синий",
	"коричневый",
	"зелёный",
	"красный",
	"чёрный"
}

-- Все склонения прилагательных
local colorsDeclensed = mw.loadData("Модуль:Склонение прилагательных")

-- Шаблоны названий фигур флагов в творительном падеже. %s — цвет (тоже в творительном).
-- Значения элементов таблицы сами являются таблицами: первое значение — собственно текст, второе — род или число названия фигуры.

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', 'с'},
}

aliases['Любая звёздочка'] = {}
for _, color in ipairs( colors ) do
	local name = russian:ucfirst(colorsDeclensed[color]["ж"]["и"]) .. ' звёздочка'
	aliases[name] = '[Звёздочка]' .. name .. '[&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] = '[Флаг]' .. name .. '[&7С ' .. mw.ustring.format(pattern[1], colorsDeclensed[color][pattern[2] ]["т"]) .. ']'
	end
end
aliases['Любая звёздочка'] = table.concat( aliases['Любая звёздочка'], ';' )

-- Все цветовые версии узоров флагов

-- Прилагательное «любой» в творительном падеже
local anyInstrumental = {["м"] = "любым", ["ж"] = "любой", ["с"] = "любым", ["н"] = "любыми"}

for _, pattern in ipairs(patterns) do
	local name = "Флаг с " .. mw.ustring.format(pattern[1], anyInstrumental[pattern[2]])
	aliases[name] = {}
	
	for _, color in ipairs(colors) do
		value = mw.ustring.gsub("Флаг с " .. mw.ustring.format(pattern[1], colorsDeclensed[color][pattern[2]]["т"]), "Флаг с с([^аоуыеяёюие])", "Флаг со с%1")
		table.insert(aliases[name], value)
	end
	
	aliases[name] = table.concat(aliases[name], ";")
end

-- Предметы, использующие все 16 цветов  --
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], russian:ucfirst(colorsDeclensed[color][item[2]]["и"]) .. ' ' .. item[1] )
	end
	aliases[name] = table.concat( aliases[name], ';' )
end

-- Зелья --

-- Названия эффектов в родительном падеже
local effectsGenitive = {
	"регенерации",
	"ускорения",
	"огнестойкости",
	"отравления",
	"лечения",
	"ночного зрения",
	"слабости",
	"силы",
	"замедления",
	"прыгучести",
	"урона",
	"подводного дыхания",
	"невидимости",
	"удачи"
}
aliases['Любое зелье'] = {
	"Колба воды",
	"Грубое зелье",
	"Густое зелье",
	"Непримечательное зелье"
}
aliases['Любое взрывающееся зелье'] = {
	"Взрывающаяся колба воды",
	"Грубое взрывающееся зелье",
	"Густое взрывающееся зелье",
	"Взрывающееся непримечательное зелье"
}
aliases['Любое оседающее зелье'] = {
	"Оседающая колба воды", -- хоть и звучит странно, но это так
	"Оседающее грубое зелье",
	"Оседающее густое зелье",
	"Оседающее непримечательное зелье"
}
aliases['Любая стрела с эффектом'] = {
	"Стрела разбрызгивания",
	"Стрела с эффектом",
	"Стрела с эффектом",
	"Стрела с эффектом"
}
for _, ofEffect in ipairs( effectsGenitive ) do
	table.insert( aliases['Любое зелье'], 'Зелье ' .. ofEffect )
	table.insert( aliases['Любое взрывающееся зелье'], 'Взрывающееся зелье ' .. ofEffect )
	table.insert( aliases['Любое оседающее зелье'], 'Оседающее зелье ' .. ofEffect )
	table.insert( aliases['Любая стрела с эффектом'], 'Стрела ' .. ofEffect )
end
aliases['Любое зелье'] = table.concat( aliases['Любое зелье'], ';' )
aliases['Любое взрывающееся зелье'] = table.concat( aliases['Любое взрывающееся зелье'], ';' )
aliases['Любое оседающее зелье'] = table.concat( aliases['Любое оседающее зелье'], ';' )
aliases['Любая стрела с эффектом'] = table.concat( aliases['Любая стрела с эффектом'], ';' )

-- Древесина --

-- Список сортов дерева. По умолчанию подразумевается прилагательное, но если указано поле genitiveOnly,
-- то указывается существительное в родительном падеже.
local woods = {
	{["м"] = 'дубовый', ["ж"] = 'дубовая', ["с"] = 'дубовое', ["н"] = 'дубовые'},
	{["м"] = 'еловый', ["ж"] = 'еловая', ["с"] = 'еловое', ["н"] = 'еловые'},
	{["м"] = 'берёзовый', ["ж"] = 'берёзовая', ["с"] = 'берёзовое', ["н"] = 'берёзовые'},
	{["м"] = 'джунглевый', ["ж"] = 'джунглевая', ["с"] = 'джунглевое', ["н"] = 'джунглевые'},
	{["м"] = 'акациевый', ["ж"] = 'акациевая', ["с"] = 'акациевое', ["н"] = 'акациевые'},
	{genitiveOnly = "тёмного дуба"},
}

-- Список предметов из дерева
local woodItems = {
	{'лодка', 'ж'},
	{'доски', 'н'},
	{'ворота', 'н'},
	{'табличка', 'ж'},
	{'древесина', 'ж'},
	{'деревянный люк', 'м'},
	{'деревянная дверь', 'ж'},
	{'деревянный забор', 'м'},
	{'деревянная плита', 'ж'},
	{'деревянные ступени', 'н'},
	{'деревянная кнопка', 'ж'},
}

-- Некоторые предметы имеют своих собратьев не из дерева, но в названиях их деревянных вариантов нет слова «деревянный», которое требуется
-- в обобщающем псевдониме.
local woodNames = {
	['деревянный люк'] = 'люк',
	['деревянная дверь'] = 'дверь',
	['деревянный забор'] = 'забор',
	['деревянная плита'] = 'плита',
	['деревянные ступени'] = 'ступени',
	['деревянная кнопка'] = 'кнопка',
}

for _, item in ipairs( woodItems ) do
	local itemName = woodNames[item[1]] or item[1]
	local woodAliases = {}
	for _, wood in ipairs( woods ) do
		local name = ""
		if wood.genitiveOnly then
			if item[1] == "древесина" then
				name = itemName .. " " .. wood.genitiveOnly
			else
				name = itemName .. " из " .. wood.genitiveOnly
			end
		else
			name = wood[item[2]] .. " " .. itemName
		end
		table.insert( woodAliases, russian:ucfirst(name) )
	end
	woodAliases = table.concat( woodAliases, ';' )
	aliases[anyDeclensed[item[2]] .. " " .. item[1]] = woodAliases
end

return aliases