Перейти к содержанию

Модуль:Инвентарный слот/Англоязычные названия

Материал из LemonCraft Wiki
Версия от 20:46, 20 марта 2025; Spark108 (обсуждение | вклад) (Новая страница: «-- Англоязычные названия для блоков и предметов, отображаемых в Инвентарном слоте. -- Также определяет названия файлов из общего хранилища для большинства иконок. -- Простые обозначения, не требующие автоматической генерации local enNames = { -- Глубинные руды...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Для документации этого модуля может быть создана страница Модуль:Инвентарный слот/Англоязычные названия/doc

-- Англоязычные названия для блоков и предметов, отображаемых в Инвентарном слоте.
-- Также определяет названия файлов из общего хранилища для большинства иконок.

-- Простые обозначения, не требующие автоматической генерации
local enNames = {
	-- Глубинные руды
	["Глубинная алмазная руда"] = "Deepslate Diamond Ore",
	["Глубинная железная руда"] = "Deepslate Iron Ore",
	["Глубинная золотая руда"] = "Deepslate Gold Ore",
	["Глубинная изумрудная руда"] = "Deepslate Emerald Ore",
	["Глубинная лазуритовая руда"] = "Deepslate Lapis Lazuli Ore",
	["Глубинная медная руда"] = "Deepslate Copper Ore",
	["Глубинная редстоуновая руда"] = "Deepslate Redstone Ore",
	["Глубинная угольная руда"] = "Deepslate Coal Ore",
	
	-- Квампы
	["Малахитовая квампа"] = "Verdant Froglight",
	["Охристая квампа"] = "Ochre Froglight",
	["Перламутровая квампа"] = "Pearlescent Froglight",
	
	-- Новые разновидности яиц
	["Коричневое яйцо"] = "Brown Egg",
	["Голубое яйцо"] = "Blue Egg",
}

-- Ниже размещаются алгоритмы автоматической генерации значений

-- Загрузка англоязычных названий через Semantic MediaWiki
-- Названия размечаются с помощью шаблона {{англ}}
local queryLimit = 500
local queryString = "[[!~*/*]][[Англоязычное название::+]]|?Англоязычное название|limit=" .. queryLimit
local queryOffset = 0
local queryCount = 0
repeat
	local smwData = mw.smw.getQueryResult(queryOffset > 0 and (queryString .. '|offset=' .. queryOffset) or queryString)
	if smwData and smwData.results then
		queryCount = smwData.meta.count
		for _, result in ipairs(smwData.results) do
			enNames[result.fulltext] = result.printouts["Англоязычное название"][1]
		end
		queryOffset = queryOffset + queryLimit
	else
		error("[[Модуль:Инвентарный слот/Англоязычные названия]]: Ошибка запроса SMW")
		break
	end
until queryCount < queryLimit

-- Последняя строка модуля:
return enNames