Russian locale for main advancements

This commit is contained in:
DBotThePony 2023-01-23 14:44:24 +07:00
parent ae02fbd25d
commit 610e10c9ad
Signed by: DBot
GPG Key ID: DCC23B5715498507
3 changed files with 229 additions and 81 deletions

View File

@ -19,14 +19,16 @@ import ru.dbotthepony.mc.otm.triggers.BlackHoleTrigger
import java.util.function.Consumer
fun addAdvancements(serializer: Consumer<Advancement>, existingFileHelper: ExistingFileHelper, lang: MatteryLanguageProvider) {
val translation = lang.english.Prepended("otm.advancements.regular")
val translation = lang.MultiBuilder("otm.advancements.regular")
val root = AdvancementBuilder()
.requirements(RequirementsStrategy.OR)
.display(
itemStack = ItemStack(MItems.TRITANIUM_INGOT),
title = TranslatableComponent(translation.add("root", "Overdrive That Matters")),
description = TranslatableComponent(translation.add("root.desc", "Its all about things that matter")),
title = translation.add("root", "Overdrive That Matters"),
description = translation.add("root.desc", "Its all about things that matter") {
russian("Мод про все штуки которые материальны")
},
showToast = false,
announceChat = false,
background = modLocation("textures/block/decorative/tritanium_block_gray.png")
@ -40,8 +42,12 @@ fun addAdvancements(serializer: Consumer<Advancement>, existingFileHelper: Exist
.parent(root)
.display(
itemStack = ItemStack(MItems.BATTERY_CRUDE),
title = TranslatableComponent(translation.add("crude_battery", "Potato Power!")),
description = TranslatableComponent(translation.add("crude_battery.desc", "Put together a Crude Battery. Better hope for getter better power source soon")),
title = translation.add("crude_battery", "Potato Power!") {
russian("Сила Картофеля!")
},
description = translation.add("crude_battery.desc", "Put together a Crude Battery. Better hope for getter better power source soon") {
russian("Создайте Простой Аккумулятор. Надо бы поторопиться с созданием более продвинутого аккумулятора")
},
)
.addCriterion("has_item", criterion(MItems.BATTERY_CRUDE))
.save(serializer, modLocation("regular/crude_battery"), existingFileHelper)
@ -50,8 +56,12 @@ fun addAdvancements(serializer: Consumer<Advancement>, existingFileHelper: Exist
.parent(crude)
.display(
itemStack = ItemStack(MItems.BATTERY_NORMAL),
title = TranslatableComponent(translation.add("normal_battery", "Power Storage")),
description = TranslatableComponent(translation.add("normal_battery.desc", "Put together an Ordinary Battery")),
title = translation.add("normal_battery", "Power Storage") {
russian("Хранилище Энергии")
},
description = translation.add("normal_battery.desc", "Put together a Battery") {
russian("Создайте Аккумулятор")
},
)
.addCriterion("has_item", criterion(MItems.BATTERY_NORMAL))
.save(serializer, modLocation("regular/normal_battery"), existingFileHelper)
@ -60,8 +70,12 @@ fun addAdvancements(serializer: Consumer<Advancement>, existingFileHelper: Exist
.parent(normal)
.display(
itemStack = ItemStack(MItems.BATTERY_DENSE),
title = TranslatableComponent(translation.add("dense_battery", "Extra Space Battery")),
description = TranslatableComponent(translation.add("dense_battery.desc", "Put together a Dense Battery. Better not to expose it to fires!")),
title = translation.add("dense_battery", "Extra Space Battery") {
russian("Больше Места для Энергии")
},
description = translation.add("dense_battery.desc", "Put together a Dense Battery. Better not to expose it to fires!") {
russian("Создайте Плотный Аккумулятор. Держите подальше от огня!")
},
)
.addCriterion("has_item", criterion(MItems.BATTERY_DENSE))
.save(serializer, modLocation("regular/dense_battery"), existingFileHelper)
@ -70,8 +84,12 @@ fun addAdvancements(serializer: Consumer<Advancement>, existingFileHelper: Exist
.parent(normal)
.display(
itemStack = ItemStack(MItems.BATTERY_CAPACITOR),
title = TranslatableComponent(translation.add("capacitor_battery", "Supercapacitor")),
description = TranslatableComponent(translation.add("capacitor_battery.desc", "Put together a Capacitor Battery. Surely, you gonna need them somewhere...")),
title = translation.add("capacitor_battery", "Supercapacitor") {
russian("Сверхконденсатор")
},
description = translation.add("capacitor_battery.desc", "Put together a Capacitor Battery. Surely, you gonna need them somewhere...") {
russian("Создайте Аккумулятор-Конденсатор. Очень вероятно, что вы найдете ему применение...")
},
)
.addCriterion("has_item", criterion(MItems.BATTERY_CAPACITOR))
.save(serializer, modLocation("regular/capacitor_battery"), existingFileHelper)
@ -80,8 +98,12 @@ fun addAdvancements(serializer: Consumer<Advancement>, existingFileHelper: Exist
.parent(capacitor)
.display(
itemStack = ItemStack(MItems.ENERGY_SWORD),
title = TranslatableComponent(translation.add("energy_sword", "Self Sharpening Blade")),
description = TranslatableComponent(translation.add("energy_sword.desc", "Wield a High-Frequency Blade, a melee weapon intended to slice Creepers into creep-cakes. Rational folks won't attempt to slice their Android fellows...")),
title = translation.add("energy_sword", "Self Sharpening Blade") {
russian("Клинок с Самозаточкой")
},
description = translation.add("energy_sword.desc", "Wield a High-Frequency Blade, a melee weapon intended to slice Creepers into creep-cakes") {
russian("Получите Высокочастотный Клинок, оружие ближнего боя предназначенное для нарезания Криперов на крипо-тортики")
},
frameType = FrameType.GOAL
)
.addCriterion("has_item", criterion(MItems.ENERGY_SWORD))
@ -91,8 +113,12 @@ fun addAdvancements(serializer: Consumer<Advancement>, existingFileHelper: Exist
.parent(normal)
.display(
itemStack = ItemStack(MItems.QUANTUM_BATTERY),
title = TranslatableComponent(translation.add("quantum_battery", "Power, in Superposition")),
description = TranslatableComponent(translation.add("quantum_battery.desc", "Put together a Quantum Battery, powered by Ender technologies")),
title = translation.add("quantum_battery", "Power, in Superposition") {
russian("Энергия, в Суперпозиции")
},
description = translation.add("quantum_battery.desc", "Put together a Quantum Battery, powered by Ender technologies") {
russian("Создайте Квантовый Аккумулятор, пропитаную технологиями Края")
},
frameType = FrameType.GOAL
)
.rewards(AdvancementRewards.Builder.experience(50))
@ -105,8 +131,12 @@ fun addAdvancements(serializer: Consumer<Advancement>, existingFileHelper: Exist
.parent(root)
.display(
itemStack = ItemStack(MItems.ZPM_BATTERY),
title = TranslatableComponent(translation.add("zpm_battery", "Pocket Universe, as Power Source")),
description = TranslatableComponent(translation.add("zpm_battery.desc", "Find Zero Point Module, something from different universe of ours, created using technologies lost in time in all possible multiverses")),
title = translation.add("zpm_battery", "Pocket Universe, as Power Source") {
russian("Карманная Вселенная, как Источник Питания")
},
description = translation.add("zpm_battery.desc", "Find Zero Point Module, something from different multiverse of ours, created using technologies lost in time in all possible multiverses") {
russian("Найдите Модуль Нулевой Точки, вещь из другой мультивселенной, созданная с использованием технологий, потерянных во времени во всех возможных мультивслеленных")
},
frameType = FrameType.CHALLENGE,
hidden = true
)
@ -118,8 +148,12 @@ fun addAdvancements(serializer: Consumer<Advancement>, existingFileHelper: Exist
.parent(root)
.display(
itemStack = ItemStack(MItems.BLACK_HOLE),
title = TranslatableComponent(translation.add("black_hole_pull", "Something Massive and Something Close")),
description = TranslatableComponent(translation.add("black_hole_pull.desc", "Experience Singularity's gravitational force, better not to get closer")),
title = translation.add("black_hole_pull", "Something Massive and Something Close") {
russian("Что то Массивное и Близкое")
},
description = translation.add("black_hole_pull.desc", "Experience Singularity's gravitational force, better not to get closer") {
russian("Испытайте на себе гравитационную силу Сингулярности, лучше не подходить ближе")
},
hidden = true
)
.addCriterion("pulled_by_black_hole", BlackHoleTrigger.Instance)
@ -129,8 +163,12 @@ fun addAdvancements(serializer: Consumer<Advancement>, existingFileHelper: Exist
.parent(blackhole)
.display(
itemStack = ItemStack(MItems.BLACK_HOLE_SCANNER),
title = TranslatableComponent(translation.add("black_hole_scanner", "Determining the Mass")),
description = TranslatableComponent(translation.add("black_hole_scanner.desc", "Craft the Singularity Scanner, to determine mass of Singularity from safe distance")),
title = translation.add("black_hole_scanner", "Determining the Mass") {
russian("Определяем Массу")
},
description = translation.add("black_hole_scanner.desc", "Craft the Singularity Scanner, to determine mass of... Singularities, from safe distance") {
russian("Создайте Сканер Сингулярностей, для определения массы... Сингулярностей на безопасном расстоянии")
},
)
.addCriterion("has_item", criterion(MItems.BLACK_HOLE_SCANNER))
.save(serializer, modLocation("regular/black_hole_scanner"), existingFileHelper)
@ -139,8 +177,12 @@ fun addAdvancements(serializer: Consumer<Advancement>, existingFileHelper: Exist
.parent(blackhole)
.display(
itemStack = ItemStack(MItems.GRAVITATION_STABILIZER),
title = TranslatableComponent(translation.add("stabilizer", "Reducing the Impact")),
description = TranslatableComponent(translation.add("stabilizer.desc", "Put together a device that defy physical laws and also defy gravity of Singularities. Better hope it does not cause any side effects")),
title = translation.add("stabilizer", "Reducing the Impact") {
russian("Уменьшаем Воздействие")
},
description = translation.add("stabilizer.desc", "Put together a device that defy physical laws and also defy gravity of Singularities. Better hope it does not cause any side effects") {
russian("Создайте устройство, которое смеётся перед законами физики, а так же смеётся перед силами гравитации Сингулярностей. Надо надеется, что это не принесёт никаких последствий")
},
)
.addCriterion("has_item", criterion(MItems.GRAVITATION_STABILIZER))
.save(serializer, modLocation("regular/stabilizer"), existingFileHelper)
@ -149,8 +191,12 @@ fun addAdvancements(serializer: Consumer<Advancement>, existingFileHelper: Exist
.parent(blackhole)
.display(
itemStack = ItemStack(MItems.PORTABLE_GRAVITATION_STABILIZER),
title = TranslatableComponent(translation.add("portable_stabilizer", "Local Gravity Field")),
description = TranslatableComponent(translation.add("portable_stabilizer.desc", "Protect yourself from gravitational effect of Singularity using Portable Gravitation Stabilizer")),
title = translation.add("portable_stabilizer", "Local Gravity Field") {
russian("Локальное Поле Гравитации")
},
description = translation.add("portable_stabilizer.desc", "Protect yourself from gravitational effect of Singularity using Portable Space-Time Equalizer") {
russian("Защитите себя от гравитационных эффектов Сингулярностей используя Портативный")
},
)
.addCriterion("has_item", criterion(MItems.PORTABLE_GRAVITATION_STABILIZER))
.save(serializer, modLocation("regular/portable_stabilizer"), existingFileHelper)
@ -160,8 +206,12 @@ fun addAdvancements(serializer: Consumer<Advancement>, existingFileHelper: Exist
.requirements(RequirementsStrategy.OR)
.display(
itemStack = ItemStack(MItems.TRITANIUM_ORE_CLUMP),
title = TranslatableComponent(translation.add("ore", "Blue Metal Discovery")),
description = TranslatableComponent(translation.add("ore.desc", "Mine some Tritanium")),
title = translation.add("ore", "Blue Metal Discovery") {
russian("Открытие Синего Металла")
},
description = translation.add("ore.desc", "Mine some Tritanium") {
russian("Добудьте немного Тритана")
},
)
.addCriterion("has_tritanium_ore", criterion(MItemTags.TRITANIUM_ORES))
.addCriterion("has_tritanium_ore_clump", criterion(MItemTags.TRITANIUM_ORE_CLUMPS))
@ -171,8 +221,12 @@ fun addAdvancements(serializer: Consumer<Advancement>, existingFileHelper: Exist
.parent(ore)
.display(
itemStack = ItemStack(MItems.TRITANIUM_INGOT),
title = TranslatableComponent(translation.add("ingot", "Acquire Harder-ware")),
description = TranslatableComponent(translation.add("ingot.desc", "Smelt a Tritanium ingot")),
title = translation.add("ingot", "Acquire Harder-ware") {
russian("Куй сильнее...")
},
description = translation.add("ingot.desc", "Smelt a Tritanium ingot") {
russian("Выплавьте Тритановый слиток")
},
)
.addCriterion("has_tritanium_ingot", criterion(MItemTags.TRITANIUM_INGOTS))
.save(serializer, modLocation("regular/ingot"), existingFileHelper)
@ -181,8 +235,12 @@ fun addAdvancements(serializer: Consumer<Advancement>, existingFileHelper: Exist
.parent(ingot)
.display(
itemStack = ItemStack(MItems.TRITANIUM_PICKAXE),
title = TranslatableComponent(translation.add("pickaxe", "A Tool for Patient Miners")),
description = TranslatableComponent(translation.add("pickaxe.desc", "Craft a Tritanium Pickaxe")),
title = translation.add("pickaxe", "A Tool for Patient Miners") {
russian("Инструмент для Неспешных Шахтёров")
},
description = translation.add("pickaxe.desc", "Craft a Tritanium Pickaxe") {
russian("Создайте Тритановую Кирку")
},
)
.addCriterion("has_tritanium_pickaxe", criterion(MItems.TRITANIUM_PICKAXE))
.save(serializer, modLocation("regular/pickaxe"), existingFileHelper)
@ -191,8 +249,12 @@ fun addAdvancements(serializer: Consumer<Advancement>, existingFileHelper: Exist
.parent(ingot)
.display(
itemStack = ItemStack(MItems.TRITANIUM_HOE),
title = TranslatableComponent(translation.add("hoe", "A Tool for Farmers")),
description = TranslatableComponent(translation.add("hoe.desc", "Tritanium is a very good choice for making a sturdy Hoe")),
title = translation.add("hoe", "A Tool for Farmers") {
russian("Инструмент для Фермеров")
},
description = translation.add("hoe.desc", "Tritanium is a very good choice for making a sturdy Hoe") {
russian("Тритан - очень хороший выбор для создания прочной Мотыги")
},
hidden = true
)
.addCriterion("hoe", criterion(MItems.TRITANIUM_HOE))
@ -202,8 +264,12 @@ fun addAdvancements(serializer: Consumer<Advancement>, existingFileHelper: Exist
.parent(ingot)
.display(
itemStack = ItemStack(MItems.TRITANIUM_PLATE),
title = TranslatableComponent(translation.add("plate", "Hard Plating")),
description = TranslatableComponent(translation.add("plate.desc", "Roll down some Tritanium using a Plate Press"))
title = translation.add("plate", "Hard Plating") {
russian("Прочные Пластины")
},
description = translation.add("plate.desc", "Roll down some Tritanium using a Plate Press") {
russian("Раскатайте немного Тритана используя Пресс Пластин")
}
)
.addCriterion("has_item", criterion(MItemTags.TRITANIUM_PLATES))
.save(serializer, modLocation("regular/plate"), existingFileHelper)
@ -212,8 +278,12 @@ fun addAdvancements(serializer: Consumer<Advancement>, existingFileHelper: Exist
.parent(plate)
.display(
itemStack = ItemStack(MItems.TRITANIUM_CHESTPLATE),
title = TranslatableComponent(translation.add("armor", "Composite Armor")),
description = TranslatableComponent(translation.add("armor.desc", "Bend some Tritanium plates into simple yet sturdy armor"))
title = translation.add("armor", "Composite Armor") {
russian("Композитная Броня")
},
description = translation.add("armor.desc", "Bend some Tritanium Plates into simple yet sturdy armor") {
russian("Согните немного Тритановых Пластин в простую, но прочную, броню")
}
)
.requirements(RequirementsStrategy.OR)
.addCriterion("has_item0", criterion(MItems.TRITANIUM_HELMET))
@ -226,8 +296,12 @@ fun addAdvancements(serializer: Consumer<Advancement>, existingFileHelper: Exist
.parent(plate)
.display(
itemStack = ItemStack(MRegistry.INDUSTRIAL_GLASS.item),
title = TranslatableComponent(translation.add("industrial_glass", "Extra Hard Glass")),
description = TranslatableComponent(translation.add("industrial_glass.desc", "Manual says it should be bulletproof."))
title = translation.add("industrial_glass", "Extra Hard Glass") {
russian("Дополнительно Прочное Стекло")
},
description = translation.add("industrial_glass.desc", "Manual says it should be bulletproof.") {
russian("В инструкции указано что оно должно быть пуленепробиваемо.")
}
)
.requirements(RequirementsStrategy.OR)
.also { advancement ->
@ -239,8 +313,12 @@ fun addAdvancements(serializer: Consumer<Advancement>, existingFileHelper: Exist
.parent(glass)
.display(
itemStack = ItemStack(MRegistry.INDUSTRIAL_GLASS.getItem(DyeColor.GREEN)),
title = TranslatableComponent(translation.add("industrial_glass2", "Glass-tacular Artist")),
description = TranslatableComponent(translation.add("industrial_glass2.desc", "Paint Industrial Glass all possible colors")),
title = translation.add("industrial_glass2", "Glass-Tacular Artist") {
russian("Стекло-Чаровательный Артист")
},
description = translation.add("industrial_glass2.desc", "Paint Industrial Glass all possible colors") {
russian("Покрасьте Промышленное Стекло во все возможные цвета")
},
frameType = FrameType.GOAL
)
.requirements(RequirementsStrategy.AND)
@ -253,8 +331,12 @@ fun addAdvancements(serializer: Consumer<Advancement>, existingFileHelper: Exist
.parent(plate)
.display(
itemStack = ItemStack(MRegistry.CARGO_CRATES.item),
title = TranslatableComponent(translation.add("cargo_crate", "Sturdy Item Stash")),
description = TranslatableComponent(translation.add("cargo_crate.desc", "Cargo Crates, like Double Chest, but Single."))
title = translation.add("cargo_crate", "Sturdy Item Stash") {
russian("Прочное Хранилище Предметов")
},
description = translation.add("cargo_crate.desc", "Cargo Crates, like Double Chest, but Single") {
russian("Грузовые Ящики, будто Двойные Сундуки, но Одинарные.")
}
)
.requirements(RequirementsStrategy.OR)
.also { advancement ->
@ -266,8 +348,12 @@ fun addAdvancements(serializer: Consumer<Advancement>, existingFileHelper: Exist
.parent(cargoCrate)
.display(
itemStack = ItemStack(MItems.CARGO_CRATE_MINECARTS[null]!!),
title = TranslatableComponent(translation.add("cargo_crate_minecart", "Crate On a Rail")),
description = TranslatableComponent(translation.add("cargo_crate_minecart.desc", "Drop a Cargo Crate onto Minecart and see how it goes"))
title = translation.add("cargo_crate_minecart", "Crate On a Rail") {
russian("Ящик на Рельсах")
},
description = translation.add("cargo_crate_minecart.desc", "Drop a Cargo Crate onto Minecart and see how it goes") {
russian("Сбросьте Грузовой Ящик в Вагонетку и посмотрите что получится")
}
)
.requirements(RequirementsStrategy.OR)
.also { advancement ->
@ -279,8 +365,12 @@ fun addAdvancements(serializer: Consumer<Advancement>, existingFileHelper: Exist
.parent(cargoCrateInMinecart)
.display(
itemStack = ItemStack(MItems.CARGO_CRATE_MINECARTS[DyeColor.GREEN]!!),
title = TranslatableComponent(translation.add("cargo_crate_minecart2", "A Motley Train")),
description = TranslatableComponent(translation.add("cargo_crate_minecart2.desc", "Have all color variants of Minecarts with Cargo Crates")),
title = translation.add("cargo_crate_minecart2", "A Motley Train") {
russian("Пёстрый Поезд")
},
description = translation.add("cargo_crate_minecart2.desc", "Have all color variants of Minecarts with Cargo Crates") {
russian("Создайте все варианты покрасок Вагонеток с Грузовыми Ящиками")
},
frameType = FrameType.GOAL
)
.requirements(RequirementsStrategy.AND)
@ -293,8 +383,12 @@ fun addAdvancements(serializer: Consumer<Advancement>, existingFileHelper: Exist
.parent(cargoCrate)
.display(
itemStack = ItemStack(MRegistry.CARGO_CRATES.item),
title = TranslatableComponent(translation.add("cargo_crate2", "Colorful Warehouse")),
description = TranslatableComponent(translation.add("cargo_crate2.desc", "Craft all color variants of Cargo Crates")),
title = translation.add("cargo_crate2", "Colorful Warehouse") {
russian("Разноцветный Склад")
},
description = translation.add("cargo_crate2.desc", "Craft all color variants of Cargo Crates") {
russian("Покрасьте Грузовые Ящики во все возможные цвета")
},
frameType = FrameType.GOAL
)
.requirements(RequirementsStrategy.AND)
@ -307,8 +401,12 @@ fun addAdvancements(serializer: Consumer<Advancement>, existingFileHelper: Exist
.parent(plate)
.display(
itemStack = ItemStack(MRegistry.TRITANIUM_BLOCK.item),
title = TranslatableComponent(translation.add("tritanium_block", "Cold, Impregnable Wall")),
description = TranslatableComponent(translation.add("tritanium_block.desc", "Coat stones in Tritanium Plates, a cheap yet incredibly sturdy material"))
title = translation.add("tritanium_block", "Cold, Impregnable Wall") {
russian("Холодная, Неприступная Стена")
},
description = translation.add("tritanium_block.desc", "Coat stones in Tritanium, a cheap yet incredibly sturdy material") {
russian("Покройте булыжник в Тритане, дешёвый, но невероятно прочный материал")
}
)
.requirements(RequirementsStrategy.OR)
.also { advancement ->
@ -325,8 +423,12 @@ fun addAdvancements(serializer: Consumer<Advancement>, existingFileHelper: Exist
.parent(tritaniumBlock)
.display(
itemStack = ItemStack(MItems.TRITANIUM_STRIPED_BLOCK),
title = TranslatableComponent(translation.add("striped_tritanium_block", "Old Fashion Color Touch")),
description = TranslatableComponent(translation.add("striped_tritanium_block.desc", "Pale Blue coat with Yellow stripe, I bet you know whose design is this"))
title = translation.add("striped_tritanium_block", "Old Fashion Color Touch") {
russian("Старомодная Цветовая Отделка")
},
description = translation.add("striped_tritanium_block.desc", "Pale Blue coat with Yellow stripe, I bet you know whose design is this") {
russian("Бледно Синяя покраска с Жёлтой полоской, я готов поспорить вы знаете чей это дизайн")
}
)
.requirements(RequirementsStrategy.OR)
.addCriterion("has_item", criterion(MItems.TRITANIUM_STRIPED_BLOCK))
@ -339,8 +441,12 @@ fun addAdvancements(serializer: Consumer<Advancement>, existingFileHelper: Exist
.parent(tritaniumBlock)
.display(
itemStack = ItemStack(MRegistry.TRITANIUM_BLOCK.getItem(DyeColor.GREEN)),
title = TranslatableComponent(translation.add("tritanium_block2", "Colorful Fortress")),
description = TranslatableComponent(translation.add("tritanium_block2.desc", "Put some paint over Tritanium Block to make it look fabulous"))
title = translation.add("tritanium_block2", "Colorful Fortress") {
russian("Разноцветная Крепость")
},
description = translation.add("tritanium_block2.desc", "Put some paint over Tritanium Block to make it look fabulous") {
russian("Покрасьте Тритановый Блок для придания ему сказочных оттенков")
}
)
.requirements(RequirementsStrategy.OR)
.also { advancement ->
@ -357,8 +463,12 @@ fun addAdvancements(serializer: Consumer<Advancement>, existingFileHelper: Exist
.parent(colorTritaniumBlock)
.display(
itemStack = ItemStack(MRegistry.TRITANIUM_BLOCK.getItem(DyeColor.BLACK)),
title = TranslatableComponent(translation.add("tritanium_block3", "Paint Me A Castle")),
description = TranslatableComponent(translation.add("tritanium_block3.desc", "Craft all color variants of Tritanium Blocks")),
title = translation.add("tritanium_block3", "Paint Me A Castle") {
russian("Разукрась Мне Замок")
},
description = translation.add("tritanium_block3.desc", "Craft all color variants of Tritanium Blocks") {
russian("Создайте все варианты покрасок Тритановых Блоков")
},
frameType = FrameType.GOAL
)
.rewards(AdvancementRewards.Builder.loot(modLocation("tritanium_block3")).addExperience(100))
@ -372,8 +482,12 @@ fun addAdvancements(serializer: Consumer<Advancement>, existingFileHelper: Exist
.parent(colorfulTritaniumBlock)
.display(
itemStack = ItemStack(MRegistry.TRITANIUM_STRIPED_BLOCK.getItem(DyeColor.BLACK, DyeColor.WHITE)),
title = TranslatableComponent(translation.add("tritanium_block4", "All The Colors")),
description = TranslatableComponent(translation.add("tritanium_block4.desc", "Craft ALL color variants of Tritanium Blocks including striped ones")),
title = translation.add("tritanium_block4", "All The Colors") {
russian("Все Цвета Всё Сюда")
},
description = translation.add("tritanium_block4.desc", "Craft ALL color variants of Tritanium Blocks including striped ones") {
russian("Создайте АБСОЛЮТНО ВСЕ варианты покрасок Тритановых Блоков, включая с полосками")
},
frameType = FrameType.CHALLENGE
)
.rewards(AdvancementRewards.Builder.loot(modLocation("tritanium_block4")).addExperience(400))
@ -389,8 +503,12 @@ fun addAdvancements(serializer: Consumer<Advancement>, existingFileHelper: Exist
.parent(root)
.display(
itemStack = ItemStack(MItems.PILL_ANDROID),
title = TranslatableComponent(translation.add("pill", "Side Colored Mystery")),
description = TranslatableComponent(translation.add("pill.desc", "Find some of those mysterious pills. Consult with Cleric before trying to ingest them.")),
title = translation.add("pill", "Side Colored Mystery") {
russian("Мистика с Цветными Краями")
},
description = translation.add("pill.desc", "Find some of those mysterious pills. Consult with Cleric before trying to ingest them.") {
russian("Найдите одну из этих ваших мистических пилюль. Проконсультируйтесь с Клериком перед употреблением.")
},
)
.requirements(RequirementsStrategy.OR)
.addCriterion("pill1", criterion(MItems.PILL_ANDROID))
@ -403,8 +521,12 @@ fun addAdvancements(serializer: Consumer<Advancement>, existingFileHelper: Exist
.parent(pill)
.display(
itemStack = ItemStack(MItems.PILL_HEAL),
title = TranslatableComponent(translation.add("all_pills", "Take Your Meds")),
description = TranslatableComponent(translation.add("all_pills.desc", "Find all possible pill types")),
title = translation.add("all_pills", "Take Your Meds") {
russian("Пей Таблетки")
},
description = translation.add("all_pills.desc", "Find all possible pill types") {
russian("Найдите все возможные варианты пилюль")
},
frameType = FrameType.CHALLENGE,
hidden = true
)

View File

@ -4,6 +4,7 @@ import com.google.common.collect.ImmutableList
import com.google.common.collect.ImmutableMap
import it.unimi.dsi.fastutil.objects.Object2ObjectArrayMap
import net.minecraft.data.DataGenerator
import net.minecraft.network.chat.Component
import net.minecraft.network.chat.MutableComponent
import net.minecraft.network.chat.contents.TranslatableContents
import net.minecraft.sounds.SoundEvent
@ -18,6 +19,7 @@ import net.minecraftforge.common.data.LanguageProvider
import ru.dbotthepony.mc.otm.OverdriveThatMatters
import ru.dbotthepony.mc.otm.android.AndroidFeatureType
import ru.dbotthepony.mc.otm.android.AndroidResearchType
import ru.dbotthepony.mc.otm.core.TranslatableComponent
import ru.dbotthepony.mc.otm.registry.objects.ColoredDecorativeBlock
private fun researchString(key: AndroidResearchType): String {
@ -47,6 +49,30 @@ class MatteryLanguageProvider(private val gen: DataGenerator) {
}
}
inner class MultiBuilder(path: String) {
val path = "$path."
constructor(vararg path: String) : this(path.joinToString("."))
constructor(path: Collection<String>) : this(path.joinToString("."))
inner class Path(path: String) {
val fullPath = this@MultiBuilder.path + path
fun english(value: String) = english.add(fullPath, value)
fun russian(value: String) = russian.add(fullPath, value)
}
inline fun add(key: String, configurator: Path.() -> Unit): Component {
return TranslatableComponent(Path(key).also(configurator).fullPath)
}
inline fun add(key: String, english: String, configurator: Path.() -> Unit = {}): Component {
return add(key) {
english(english)
configurator.invoke(this)
}
}
}
@Suppress("unused")
inner class Builder(language: String) {
val slave: LanguageProvider by lazy { slaves.computeIfAbsent(language, ::Slave) }
@ -382,7 +408,7 @@ class MatteryLanguageProvider(private val gen: DataGenerator) {
"Black",
)
val russianColors = Colors("en_us",
val russianColors = Colors("ru_ru",
"Белый",
"Оранжевый",
"Маджентовый",

View File

@ -32,8 +32,8 @@ private fun decoratives(provider: MatteryLanguageProvider) {
add(MRegistry.DECORATIVE_CRATE, "%s Блок Контейнера")
}
with (provider.english) {
for ((color, name) in provider.englishColors.dyeClassMapped) {
with (provider.russian) {
for ((color, name) in provider.russianColors.dyeClassMapped) {
add(MItems.CARGO_CRATE_MINECARTS[color]!!, "Вагонетка с $name Грузовым Ящиком")
add(MEntityTypes.CARGO_CRATE_MINECARTS[color]!!, "Вагонетка с $name Грузовым Ящиком")
@ -57,7 +57,7 @@ private fun decoratives(provider: MatteryLanguageProvider) {
add(MRegistry.TRITANIUM_PRESSURE_PLATE.block, "description1", HIGH_BLAST_RESISTANCE)
}
with(provider.english) {
with(provider.russian) {
add(MItems.CARGO_CRATE_MINECARTS[null]!!, "Вагонетка с Грузовым Ящиком")
add(MEntityTypes.CARGO_CRATE_MINECARTS[null]!!, "Вагонетка с Грузовым Ящиком")
@ -78,8 +78,8 @@ private fun decoratives(provider: MatteryLanguageProvider) {
for ((block, colors) in MRegistry.TRITANIUM_STRIPED_BLOCK.blocksWithColor) {
val (base, stripe) = colors
val baseName = provider.englishColors.dyeClassMapped[base]!!
val stripeName = provider.englishColors.dyeClassMapped[stripe]!!
val baseName = provider.russianColors.dyeClassMapped[base]!!
val stripeName = provider.russianColors.dyeClassMapped[stripe]!!
add(block, "$baseName-Окрашенный $stripeName-Ополосаченный Тритановый Блок")
}
@ -87,8 +87,8 @@ private fun decoratives(provider: MatteryLanguageProvider) {
for ((block, colors) in MRegistry.TRITANIUM_STRIPED_STAIRS.blocksWithColor) {
val (base, stripe) = colors
val baseName = provider.englishColors.dyeClassMapped[base]!!
val stripeName = provider.englishColors.dyeClassMapped[stripe]!!
val baseName = provider.russianColors.dyeClassMapped[base]!!
val stripeName = provider.russianColors.dyeClassMapped[stripe]!!
add(block, "$baseName-Окрашенные $stripeName-Ополосаченные Тритановые Ступеньки")
}
@ -96,8 +96,8 @@ private fun decoratives(provider: MatteryLanguageProvider) {
for ((block, colors) in MRegistry.TRITANIUM_STRIPED_SLAB.blocksWithColor) {
val (base, stripe) = colors
val baseName = provider.englishColors.dyeClassMapped[base]!!
val stripeName = provider.englishColors.dyeClassMapped[stripe]!!
val baseName = provider.russianColors.dyeClassMapped[base]!!
val stripeName = provider.russianColors.dyeClassMapped[stripe]!!
add(block, "$baseName-Окрашенная $stripeName-Ополосаченная Тритановая Плита")
}
@ -105,8 +105,8 @@ private fun decoratives(provider: MatteryLanguageProvider) {
for ((block, colors) in MRegistry.TRITANIUM_STRIPED_WALL.blocksWithColor) {
val (base, stripe) = colors
val baseName = provider.englishColors.dyeClassMapped[base]!!
val stripeName = provider.englishColors.dyeClassMapped[stripe]!!
val baseName = provider.russianColors.dyeClassMapped[base]!!
val stripeName = provider.russianColors.dyeClassMapped[stripe]!!
add(block, "$baseName-Окрашенная $stripeName-Ополосаченная Тритановая Ограда")
}
@ -124,7 +124,7 @@ private fun sounds(provider: MatteryLanguageProvider) {
}
private fun misc(provider: MatteryLanguageProvider) {
with(provider.english) {
with(provider.russian) {
gui("ticks", "Тиков")
gui("power_cost_per_use", "Энергии на операцию: %s")
@ -466,7 +466,7 @@ private fun items(provider: MatteryLanguageProvider) {
add(MItems.BATTERY_BASIC, "Простой Аккумулятор")
add(MItems.BATTERY_NORMAL, "Аккумулятор")
add(MItems.BATTERY_DENSE, "Плотный Аккумулятор")
add(MItems.BATTERY_CAPACITOR, "Аккумулятор-Накопитель")
add(MItems.BATTERY_CAPACITOR, "Аккумулятор-Конденсатор")
add(MItems.BATTERY_CREATIVE, "Творческий Аккумулятор")
add(MItems.QUANTUM_BATTERY, "Квантовый Аккумулятор")
@ -521,10 +521,10 @@ private fun items(provider: MatteryLanguageProvider) {
add(MItems.MATTER_DUST, "desc2", "Закиньте в Материальный Переработчик для переработки обратно в чистую материю!")
add(MItems.MATTER_DUST, "desc3", "Не нюхать, не кидать на других и не сыпать на пончики")
add(MItems.PILL_ANDROID, "Таблетка Андроида")
add(MItems.PILL_HUMANE, "Таблетка Человечности")
add(MItems.PILL_OBLIVION, "Таблетка Сброса Андроида до Заводских Настроек")
add(MItems.PILL_HEAL, "Медицинская Таблетка")
add(MItems.PILL_ANDROID, "Пилюля Андроида")
add(MItems.PILL_HUMANE, "Пилюля Человечности")
add(MItems.PILL_OBLIVION, "Пилюля Сброса Андроида до Заводских Настроек")
add(MItems.PILL_HEAL, "Медицинская Пилюля")
add(MItems.MATTER_CAPACITOR_PARTS, "Части Накопителя Материи")
add(MItems.MATTER_CAPACITOR_BASIC, "Простой Накопитель Материи")