Meltarion Вики
Advertisement
Эта страница документации, она будет включена в основную страницу. Больше информации на странице Шаблон:Документация.

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

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

Другие псевдонимы переопределяют отображаемый всплывающий текст. Он указывается в квадратных скобках. Это делается для того, чтобы он примерно соответствовал тому тексту, что используется в игре (но это возможно не до конца — поддержка форматирования текста и многострочного комментария на данный момент не реализована). de:Modul:Slot/Aliases en:Module:Inventory slot/Aliases uk:Модуль:Інвентарний слот/Псевдоніми



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

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

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

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

	-- Зелья без эффектов --
	['Грубое зелье'] = 'Грубое зелье[&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['Пластинка Pigstep'] = '[&bПластинка]Пластинка Pigstep[&7Lena Raine - Pigstep]'
aliases['Пластинка otherside'] = '[&bПластинка]Пластинка otherside[&7Lena Raine - otherside]'
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', 'с'},
	['глобус'] = {'%s глобусом', 'м'},
	['рыло'] = {'%s рылом', 'с'},
}

local dyeOrder = {
	'нижне-правый крыж', 'нижне-левый крыж', 'верхне-правый крыж', 'верхне-левый крыж', 'основание', 'глава',
	'правосторонний столб', 'левосторонний столб', 'столб', 'пояс', 'перевязь', 'левосторонняя перевязь',
	'столбы', 'косой крест', 'крест', 'остриё', 'опрокинутое остриё', 'зубчатое основание', 'зубчатая глава',   
	'скошение слева', 'опрокинутое скошение слева', 'опрокинутое скошение', 'скошение', 'круг', 'ромб',
	'правая половина', 'верхняя половина', 'левая половина', 'нижняя половина',
	'кайма', 'зубчатая кайма', 'градиент кверху', 'градиент книзу', 'муровка',
}
local otherOrder = { 'зубчатая кайма', 'муровка', 'цветок', 'крипер', 'череп', 'нечто', 'глобус', 'рыло' }

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 pname, pdata in pairs( patterns ) do
		name = mw.ustring.gsub("Флаг с " .. mw.ustring.format(pdata[1], colorsDeclensed[color][pdata[2]]["т"]), "Флаг с с([^аоуыеяёюие])", "Флаг со с%1")
		aliases[name] = '[Флаг]' .. name .. '[&7' .. russian:ucfirst(colorsDeclensed[color][pdata[2]]["и"]) .. ' ' .. pname .. ']'
	end
end
aliases['Любая пиротехническая звезда'] = table.concat( aliases['Любая пиротехническая звезда'], ';' )

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

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

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

-- Все узоры и фигуры для одного цвета
for _, color in ipairs(colors) do
	local al_name = "Флаг с любым " .. colorsDeclensed[color]["м"]["т"] .. " узором"
	local al_tname = "Флаг с любой " .. colorsDeclensed[color]["ж"]["т"] .. " фигурой"
	local value, pname
	aliases[al_name] = {}
	aliases[al_tname] = {}
	
	for _, pname in ipairs(dyeOrder) do
		local pdata = patterns[pname]
		value = mw.ustring.gsub("Флаг с " .. mw.ustring.format(pdata[1], colorsDeclensed[color][pdata[2]]["т"]), "Флаг с с([^аоуыеяёюие])", "Флаг со с%1")
		table.insert(aliases[al_name], "[Флаг]" .. value .. "[&7" .. russian:ucfirst(colorsDeclensed[color][pdata[2]]["и"]) .. " " .. pname .. "]")
	end
	for _, pname in ipairs(otherOrder) do
		local pdata = patterns[pname]
		value = mw.ustring.gsub("Флаг с " .. mw.ustring.format(pdata[1], colorsDeclensed[color][pdata[2]]["т"]), "Флаг с с([^аоуыеяёюие])", "Флаг со с%1")
		table.insert(aliases[al_tname], "[Флаг]" .. value .. "[&7" .. russian:ucfirst(colorsDeclensed[color][pdata[2]]["и"]) .. " " .. pname .. "]")
	end
	
	aliases[al_name] = table.concat(aliases[al_name], ";")
	aliases[al_tname] = table.concat(aliases[al_tname], ";")
end

-- Все шаблоны для флагов
aliases['Любой шаблон для флага'] = {}
for _, temp in ipairs(otherOrder) do
	local name = "Шаблон для флага - " .. temp
	local value = "[Шаблон для флага]Шаблон для флага[&7" .. russian:ucfirst(temp) .. "]"
	aliases[name] = value
	table.insert(aliases["Любой шаблон для флага"], value)
end
aliases['Любой шаблон для флага'] = table.concat(aliases['Любой шаблон для флага'], ";")

-- Предметы, использующие все 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['Любая стрела с эффектом'], ';' )

-- Древесина --
local woodRussian = {["ч"] = "деревянный", ["ж"] = "деревянная", ["с"] = "деревянное", ["м"] = "деревянные"}

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

local woodTypeWorld = {}
for _, world in ipairs({'overworld', 'nether'}) do
	local woods = woodTypes[world]
	for _, type in ipairs(woods) do
		woodTypeWorld[type] = world
        table.insert(woodTypes.both, type)
    end
end

-- Список предметов из дерева
-- Некоторые предметы имеет «не деревянные» варианты, для их исключения в псевдоним добавляется слово «деревянный» в необходимом роде.
-- Предметы поделены на разные измерения, так как некоторые предметы включают в себя типы древесины только определённого измерения.
local woodItems = {
	overworld = {
		{'древесина', 'ж'},
		{'бревно', 'с'},
		{'кора', 'ж'},
		{'обтёсанная $1 древесина', 'ж'},
		{'обтёсанное $1 бревно', 'с'},
		{'обтёсанная $1 кора', 'ж'},
		{'лодка', 'ж'},
		{'лодка с сундуком', 'ж'},
	},
	nether = {
		{'стебель', 'м'},
		{'гифы', 'н'},
		{'обтёсанный $1 стебель', 'м'},
		{'обтёсанные $1 гифы', 'н'},
	},
	both = {
		{'доски $world', 'н'},
		{'ворота', 'н'},
		{"$wood забор", 'м'},
        {"$wood дверь", 'ж'},
        {"$wood кнопка", 'ж'},
        {"$wood нажимная пластина", 'ж'},
        {"$wood люк", 'м'},
        {"$wood плита $world", 'ж'},
        {"$wood ступени", 'н'},
        {"табличка", 'ж'}
	},
}
-- Предметы, имеющие $world создают 3 псевдонима, включающие в себя типы древесины одного измерения, и оба сразу. 
local woodItemWorld = {}
for world, items in pairs(woodItems) do
    for _, item in ipairs(items) do
    	local itemName = items[item[1]] or item[1]
		-- expand $world (should only happen in "both")
        if (itemName:find('%$world')) and world == 'both' then
            itemName = itemName:gsub(' %$world', '')
            local solidItem = {itemName .. ' Верхнего мира', item[2]}
            woodItemWorld[solidItem] = 'overworld'
            solidItem = {itemName .. ' Нижнего мира', item[2]}
			woodItemWorld[solidItem] = 'nether'
        end
		itemName = itemName:gsub(' %$world', '')
		woodItemWorld[{itemName, item[2]}] = world
    end
end

-- Некоторые предметы не включают определённые типы древесины, поэтому они исключаются в woodBadItems.
local woodBadItems = {
	['Бамбуковая подвесная табличка'] = 1,
	['Бамбуковая древесина'] = 1,
	['Бамбуковое бревно'] = 1,
	['Обтёсаная бамбуковая древесина'] = 1,
	['Обтёсаное бамбуковое бревно'] = 1,
}
-- Некоторые предметы имеют другое название, отличное от псевдонима, они заменяются в woodNameMapping
local woodNameMapping = {
	['Бамбуковая лодка'] = 'Бамбуковый плот',
	['Бамбуковая лодка с сундуком'] = 'Бамбуковый плот с сундуком',
}

for item, world in pairs(woodItemWorld) do
	local itemName = ''
	local woodAliases = {}

	-- real "linkable" name
	local realItem1 = item[1]:gsub(' Верхнего мира$', '')
	realItem1 = realItem1:gsub(' Нижнего мира$', '')

	local realItem = {realItem1, item[2]}

	for _, woodType in ipairs(woodTypes[world]) do
		itemName = realItem[1]
		
		local woodOne = ""
		local genitiveOnlyFlag = false
		
		for k, v in pairs(woodType) do
			if (k == realItem[2]) then
				woodOne = v
			end
			if (k == "genitiveOnly") then
				woodOne = v
				genitiveOnlyFlag = true
			end
		end
		if itemName:find('%$wood') then
			if genitiveOnlyFlag == true then
				itemName = itemName:gsub('%$wood ', "")
				if realItem[1] == "древесина" or realItem[1] == "кора" or realItem[1] == "бревно" then
					itemName = itemName .. " " .. woodOne
				else
					itemName = itemName .. " из " .. woodOne
				end
			else
				itemName = itemName:gsub('%$wood', woodOne)
			end
		elseif itemName:find('%$1') then
			if genitiveOnlyFlag == true then
				itemName = itemName:gsub('%$1 ', "")
				if itemName == "обтёсаная древесина" then
					itemName = itemName .. " " .. woodOne
				else
					itemName = itemName .. " из " .. woodOne
				end
			else
				itemName = itemName:gsub('%$1', woodOne)
			end
		elseif genitiveOnlyFlag == true then
			if realItem[1] == "древесина" or realItem[1] == "кора" or realItem[1] == "бревно" then
				itemName = itemName .. " " .. woodOne
			else
				itemName = itemName .. " из " .. woodOne
			end
		else
			itemName = woodOne .. " " .. itemName
		end
		
		if woodNameMapping[russian:ucfirst(itemName)] then
			itemName = woodNameMapping[russian:ucfirst(itemName)]
		end
		
		if not woodBadItems[russian:ucfirst(itemName)] then
			table.insert(woodAliases, russian:ucfirst(itemName))
		end
	end
	
	local woodNameType = ""
	
	for k, v in pairs(woodRussian) do
		if (k == item[2]) then
			woodNameType = v
		end
	end

    item[1] = item[1]:gsub('%$wood ', woodNameType .. " ")
    item[1] = item[1]:gsub(' %$world', '')
    item[1] = item[1]:gsub('%$1 ', '')
    woodAliases = table.concat( woodAliases, ';' )
    aliases[anyDeclensed[item[2]] .. " " .. item[1]] = woodAliases
end

return aliases
Advertisement