diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockStates.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockStates.kt index 09bd938aa..7716ea4ce 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockStates.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockStates.kt @@ -336,17 +336,21 @@ fun addBlockStates(provider: MatteryBlockStateProvider) { return@forAllStates generated.toTypedArray() } } + + provider.block(MBlocks.TRITANIUM_HULL) + provider.block(MBlocks.FLYWHEEL_HOUSING) provider.block(MBlocks.FLYWHEEL_BEARING) provider.block(MBlocks.FLYWHEEL_SHAFT) provider.block(MBlocks.FLYWHEEL_BATTERY) provider.block(MBlocks.GENERATOR_BLOCK) + provider.block(MBlocks.MODULAR_FRAME) + provider.block(MBlocks.HEAVY_MODULAR_FRAME) + provider.block(MBlocks.ENERGY_INPUT_INTERFACE) provider.block(MBlocks.ENERGY_OUTPUT_INTERFACE) - provider.block(MBlocks.TRITANIUM_HULL) - provider.block(MBlocks.ENERGY_INPUT_HATCH) provider.block(MBlocks.ENERGY_OUTPUT_HATCH) @@ -355,4 +359,5 @@ fun addBlockStates(provider: MatteryBlockStateProvider) { provider.block(MBlocks.ITEM_INPUT_HATCH) provider.block(MBlocks.ITEM_OUTPUT_HATCH) + } diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/items/ItemModels.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/items/ItemModels.kt index c461cc161..87984511b 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/items/ItemModels.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/items/ItemModels.kt @@ -255,6 +255,9 @@ fun addItemModels(provider: MatteryItemModelProvider) { provider.block(MItems.ITEM_INPUT_HATCH) provider.block(MItems.ITEM_OUTPUT_HATCH) + provider.block(MItems.MODULAR_FRAME) + provider.block(MItems.HEAVY_MODULAR_FRAME) + MItems.TRITANIUM_ANVIL.values.forEach { provider.blocks(it) } for ((color, item) in MItems.CARGO_CRATE_MINECARTS) { diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/English.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/English.kt index fbc70d0f5..65f84bf30 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/English.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/English.kt @@ -549,14 +549,12 @@ private fun blocks(provider: MatteryLanguageProvider) { addBlock(MBlocks.DRIVE_VIEWER.values, "Drive Viewer") add(MBlocks.BLACK_HOLE, "Local Anomalous Spacetime Dilation Singular Point") - add(MBlocks.BLACK_HOLE_GENERATOR, "Matter Acceleration Power Generator") - add(MBlocks.TRITANIUM_HULL, "Tritanium Hull") add(MBlocks.FLYWHEEL_SHAFT, "Flywheel Shaft") add(MBlocks.FLYWHEEL_SHAFT, "desc", "Placed between bearings, safe for decoration") add(MBlocks.FLYWHEEL_BEARING, "Flywheel Bearing") - add(MBlocks.FLYWHEEL_BEARING, "desc", "Replaces center block of housing at bottom and top, safe for decoration") + add(MBlocks.FLYWHEEL_BEARING, "desc", "Replaces top and bottom housing blocks in the center, safe for decoration") add(MBlocks.FLYWHEEL_BATTERY, "Flywheel Controller") add(MBlocks.FLYWHEEL_BATTERY, "desc", "Multiblock controller, requires housing, bearing, shaft, generator and core material of choice") @@ -571,7 +569,10 @@ private fun blocks(provider: MatteryLanguageProvider) { add(MBlocks.FLYWHEEL_HOUSING, "desc", "5xNx5 multiblock casing, safe for decoration") add(MBlocks.GENERATOR_BLOCK, "Generator Block") - add(MBlocks.GENERATOR_BLOCK, "desc", "Part of multiblock, safe for decoration") + add(MBlocks.GENERATOR_BLOCK, "desc", "Part of a multiblock, safe for decoration") + + add(MBlocks.MODULAR_FRAME, "Modular Frame") + add(MBlocks.HEAVY_MODULAR_FRAME, "Heavy Modular Frame") add(MBlocks.ENERGY_INPUT_INTERFACE, "Energy Input Interface") add(MBlocks.ENERGY_OUTPUT_INTERFACE, "Energy Output Interface") @@ -583,6 +584,9 @@ private fun blocks(provider: MatteryLanguageProvider) { add(MBlocks.ITEM_OUTPUT_HATCH, "Item Output Hatch") add(MBlocks.MATTER_OUTPUT_HATCH, "Matter Output Hatch") + add(MBlocks.BLACK_HOLE_GENERATOR, "Matter Acceleration Power Generator") + add(MBlocks.TRITANIUM_HULL, "Tritanium Hull") + add(MBlocks.TRITANIUM_HULL, "desc", "A sturdy part of a multiblock, safe for decoration") add(MBlocks.MATTER_INJECTOR, "Matter Injector") add(MBlocks.ANTIMATTER_INJECTOR, "Antimatter Injector") add(MBlocks.HIGH_ENERGY_PARTICLE_COLLECTOR, "High Energy Particle Collector") diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/Russian.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/Russian.kt index 5aa057e8f..a7f1ae945 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/Russian.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/Russian.kt @@ -555,13 +555,12 @@ private fun blocks(provider: MatteryLanguageProvider) { add(MBlocks.INFINITE_WATER_SOURCE, "desc", "Выталкивает воду в соседние блоки автоматически") add(MBlocks.BLACK_HOLE, "Локализированная сингулярная точка аномального искажения пространства-времени") - add(MBlocks.BLACK_HOLE_GENERATOR, "Генератор энергии ускорением материи") add(MBlocks.FLYWHEEL_SHAFT, "Маховый вал") add(MBlocks.FLYWHEEL_SHAFT, "desc", "Устанавливается между подшипников") add(MBlocks.FLYWHEEL_BEARING, "Маховый подшипник") - add(MBlocks.FLYWHEEL_BEARING, "desc", "Заменяет центральный блок корпуса снизу и сверху") + add(MBlocks.FLYWHEEL_BEARING, "desc", "Заменяет центральный блок корпуса сверху и снизу") add(MBlocks.FLYWHEEL_BATTERY, "Блок управления маховым хранилищем энергии") add(MBlocks.FLYWHEEL_BATTERY, "desc", "Мультиблок, который требует подшипники, корпус, вал, блоки генераторов и ядро из материала на ваше усмотрение") @@ -575,8 +574,11 @@ private fun blocks(provider: MatteryLanguageProvider) { add(MBlocks.FLYWHEEL_HOUSING, "Корпус махового хранилища энергии") add(MBlocks.FLYWHEEL_HOUSING, "desc", "Мультиблок структура с размерностью 5xNx5") - add(MBlocks.GENERATOR_BLOCK, "Generator Block") - add(MBlocks.GENERATOR_BLOCK, "desc", "Part of multiblock, safe for decoration") + add(MBlocks.GENERATOR_BLOCK, "Генераторный блок") + add(MBlocks.GENERATOR_BLOCK, "desc", "Часть мультиблока, безопасна в качестве декорации") + + add(MBlocks.MODULAR_FRAME, "Модульный каркас") + add(MBlocks.HEAVY_MODULAR_FRAME, "Тяжёлый модульный каркас") add(MBlocks.ENERGY_INPUT_INTERFACE, "Входной энергетический интерфейс") add(MBlocks.ENERGY_OUTPUT_INTERFACE, "Выходной энергетический интерфейс") @@ -588,6 +590,9 @@ private fun blocks(provider: MatteryLanguageProvider) { add(MBlocks.ITEM_OUTPUT_HATCH, "Выходной предметный клапан") add(MBlocks.MATTER_OUTPUT_HATCH, "Выходной клапан материи") + add(MBlocks.BLACK_HOLE_GENERATOR, "Генератор энергии ускорением материи") + add(MBlocks.TRITANIUM_HULL, "Тритановый корпус") + add(MBlocks.TRITANIUM_HULL, "desc", "Прочная часть мультиблока, безопасна в качестве декорации") add(MBlocks.MATTER_INJECTOR, "Инжектор материи") add(MBlocks.ANTIMATTER_INJECTOR, "Инжектор анти-материи") add(MBlocks.HIGH_ENERGY_PARTICLE_COLLECTOR, "Коллектор высокоэнергичных частиц") diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/DecorativeLoot.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/DecorativeLoot.kt index 1a8f5a75b..4fe3eb50b 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/DecorativeLoot.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/DecorativeLoot.kt @@ -50,7 +50,12 @@ fun addDecorativeLoot(lootTables: LootTables) { lootTables.dropsSelf(MBlocks.TRITANIUM_INGOT_BLOCK) { condition(ExplosionCondition.survivesExplosion()) } lootTables.dropsSelf(MBlocks.TRITANIUM_BARS) { condition(ExplosionCondition.survivesExplosion()) } + lootTables.dropsSelf(MBlocks.TRITANIUM_HULL) { condition(ExplosionCondition.survivesExplosion()) } + lootTables.dropsSelf(MBlocks.GENERATOR_BLOCK) { condition(ExplosionCondition.survivesExplosion()) } + lootTables.dropsSelf(MBlocks.MODULAR_FRAME) { condition(ExplosionCondition.survivesExplosion()) } + lootTables.dropsSelf(MBlocks.HEAVY_MODULAR_FRAME) { condition(ExplosionCondition.survivesExplosion()) } + lootTables.dropsSelf(MBlocks.FLYWHEEL_SHAFT) { condition(ExplosionCondition.survivesExplosion()) } lootTables.dropsSelf(MBlocks.FLYWHEEL_HOUSING) { condition(ExplosionCondition.survivesExplosion()) } lootTables.dropsSelf(MBlocks.FLYWHEEL_BEARING) { condition(ExplosionCondition.survivesExplosion()) } diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/MachineLoot.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/MachineLoot.kt index f16a422bd..f0b185bf4 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/MachineLoot.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/MachineLoot.kt @@ -58,8 +58,8 @@ fun addMachineLoot(lootTables: LootTables) { lootTables.tile(MBlocks.MATTER_CAPACITOR_BANK.values) lootTables.tile(MBlocks.MATTER_BOTTLER.values) - lootTables.tile(MBlocks.TRITANIUM_HULL) lootTables.tile(MBlocks.BLACK_HOLE_GENERATOR) + lootTables.tile(MBlocks.FLYWHEEL_BATTERY) lootTables.dropsSelf(listOf( @@ -70,10 +70,13 @@ fun addMachineLoot(lootTables: LootTables) { lootTables.tile(MBlocks.ITEM_INPUT_HATCH) lootTables.tile(MBlocks.ITEM_OUTPUT_HATCH) + lootTables.tile(MBlocks.ENERGY_INPUT_HATCH) lootTables.tile(MBlocks.ENERGY_OUTPUT_HATCH) + lootTables.tile(MBlocks.MATTER_INPUT_HATCH) lootTables.tile(MBlocks.MATTER_OUTPUT_HATCH) + lootTables.tile(MBlocks.ENERGY_INPUT_INTERFACE) lootTables.tile(MBlocks.ENERGY_OUTPUT_INTERFACE) } diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/MineableTags.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/MineableTags.kt index 3c073cf2c..f89bde310 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/MineableTags.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/MineableTags.kt @@ -69,6 +69,7 @@ fun addMineableTags(tagsProvider: TagsProvider) { MBlocks.MATTER_INJECTOR, MBlocks.ANTIMATTER_INJECTOR, MBlocks.HIGH_ENERGY_PARTICLE_COLLECTOR, + MBlocks.ITEM_INPUT_HATCH, MBlocks.ITEM_OUTPUT_HATCH, MBlocks.ENERGY_INPUT_HATCH, @@ -82,7 +83,10 @@ fun addMineableTags(tagsProvider: TagsProvider) { MBlocks.FLYWHEEL_BEARING, MBlocks.FLYWHEEL_HOUSING, MBlocks.FLYWHEEL_BATTERY, + MBlocks.GENERATOR_BLOCK, + MBlocks.MODULAR_FRAME, + MBlocks.HEAVY_MODULAR_FRAME, MBlocks.REINFORCED_REDSTONE_LAMP, MBlocks.REINFORCED_REDSTONE_LAMP_INVERTED, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MNames.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MNames.kt index 471998b09..e92f94346 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MNames.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MNames.kt @@ -66,7 +66,10 @@ object MNames { const val FLYWHEEL_BEARING = "flywheel_bearing" const val FLYWHEEL_SHAFT = "flywheel_shaft" const val FLYWHEEL_HOUSING = "flywheel_housing" + const val GENERATOR_BLOCK = "generator_block" + const val MODULAR_FRAME = "modular_frame" + const val HEAVY_MODULAR_FRAME = "heavy_modular_frame" const val STORAGE_CABLE = "storage_cable" // нужен рецепт const val STORAGE_POWER_SUPPLIER = "storage_power_supplier" // нужен рецепт diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MBlocks.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MBlocks.kt index 607306746..5df204d9a 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MBlocks.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MBlocks.kt @@ -188,10 +188,17 @@ object MBlocks { MatteryBlock(BlockBehaviour.Properties.of().sound(SoundType.NETHERITE_BLOCK).explosionResistance(40f).mapColor(MapColor.COLOR_GRAY).destroyTime(2f).requiresCorrectToolForDrops()) .addSimpleDescription() } + val GENERATOR_BLOCK by registry.register(MNames.GENERATOR_BLOCK) { MatteryBlock(BlockBehaviour.Properties.of().sound(SoundType.NETHERITE_BLOCK).explosionResistance(30f).mapColor(MapColor.COLOR_GRAY).destroyTime(2.5f).requiresCorrectToolForDrops()) .addSimpleDescription() } + val MODULAR_FRAME by registry.register(MNames.MODULAR_FRAME) { TransparentBlock( + BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_GRAY).noOcclusion().sound(SoundType.METAL).requiresCorrectToolForDrops().explosionResistance(30f).destroyTime(2f) + )} + val HEAVY_MODULAR_FRAME by registry.register(MNames.HEAVY_MODULAR_FRAME) { TransparentBlock( + BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_GRAY).noOcclusion().sound(SoundType.NETHERITE_BLOCK).requiresCorrectToolForDrops().explosionResistance(60f).destroyTime(2.5f) + )} val STORAGE_BUS: Block by registry.register(MNames.STORAGE_BUS, ::StorageBusBlock) val STORAGE_IMPORTER: Block by registry.register(MNames.STORAGE_IMPORTER, ::StorageImporterBlock) @@ -214,18 +221,14 @@ object MBlocks { val DEV_CHEST: DevChestBlock by registry.register(MNames.DEV_CHEST) { DevChestBlock() } val BLACK_HOLE_GENERATOR by registry.register(MNames.BLACK_HOLE_GENERATOR) { BlackHoleGeneratorBlock() } - - val TRITANIUM_HULL by registry.register(MNames.TRITANIUM_HULL) { Block( - BlockBehaviour.Properties.of() - .mapColor(MapColor.COLOR_LIGHT_BLUE) - .sound(SoundType.VAULT) - .requiresCorrectToolForDrops() - .explosionResistance(80f) - .destroyTime(2.5f) - ) } + val TRITANIUM_HULL by registry.register(MNames.TRITANIUM_HULL) { + MatteryBlock(BlockBehaviour.Properties.of().sound(SoundType.VAULT).explosionResistance(80f).mapColor(MapColor.COLOR_LIGHT_BLUE).destroyTime(2.5f).requiresCorrectToolForDrops()) + .addSimpleDescription() + } val MATTER_INJECTOR by registry.register(MNames.MATTER_INJECTOR) { RotatableMatteryBlock(BlockBehaviour.Properties.of().mapColor(MapColor.METAL).sound(SoundType.NETHERITE_BLOCK).requiresCorrectToolForDrops().destroyTime(2.5f).explosionResistance(160.0f)) } val ANTIMATTER_INJECTOR by registry.register(MNames.ANTIMATTER_INJECTOR) { RotatableMatteryBlock(BlockBehaviour.Properties.of().mapColor(MapColor.METAL).sound(SoundType.NETHERITE_BLOCK).requiresCorrectToolForDrops().destroyTime(2.5f).explosionResistance(160.0f)) } val HIGH_ENERGY_PARTICLE_COLLECTOR by registry.register(MNames.HIGH_ENERGY_PARTICLE_COLLECTOR) { RotatableMatteryBlock(BlockBehaviour.Properties.of().mapColor(MapColor.METAL).sound(SoundType.NETHERITE_BLOCK).requiresCorrectToolForDrops().destroyTime(2.5f).explosionResistance(160.0f)) } + val ITEM_INPUT_HATCH by registry.register(MNames.ITEM_INPUT_HATCH) { HatchBlock(ItemHatchBlockEntity::input) } val ITEM_OUTPUT_HATCH by registry.register(MNames.ITEM_OUTPUT_HATCH) { HatchBlock(ItemHatchBlockEntity::output) } val ENERGY_INPUT_HATCH by registry.register(MNames.ENERGY_INPUT_HATCH) { HatchBlock(EnergyHatchBlockEntity::input, true) } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MCreativeTabs.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MCreativeTabs.kt index d9e992463..0b762632e 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MCreativeTabs.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MCreativeTabs.kt @@ -184,6 +184,8 @@ private fun addMainCreativeTabItems(consumer: CreativeModeTab.Output) { accept(MItems.FLYWHEEL_BEARING) accept(MItems.GENERATOR_BLOCK) + accept(MItems.MODULAR_FRAME) + accept(MItems.HEAVY_MODULAR_FRAME) accept(MItems.TRITANIUM_HULL) accept(MItems.BLACK_HOLE_GENERATOR) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MItems.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MItems.kt index 6fa3d2410..8a07647ce 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MItems.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MItems.kt @@ -153,6 +153,8 @@ object MItems { val FLYWHEEL_HOUSING by registry.register(MNames.FLYWHEEL_HOUSING) { BlockItem(MBlocks.FLYWHEEL_HOUSING, DEFAULT_PROPERTIES) } val GENERATOR_BLOCK by registry.register(MNames.GENERATOR_BLOCK) { BlockItem(MBlocks.GENERATOR_BLOCK, DEFAULT_PROPERTIES) } + val MODULAR_FRAME by registry.register(MNames.MODULAR_FRAME) { BlockItem(MBlocks.MODULAR_FRAME, DEFAULT_PROPERTIES) } + val HEAVY_MODULAR_FRAME by registry.register(MNames.HEAVY_MODULAR_FRAME) { BlockItem(MBlocks.HEAVY_MODULAR_FRAME, DEFAULT_PROPERTIES) } val DEV_CHEST: BlockItem by registry.register(MNames.DEV_CHEST) { BlockItem(MBlocks.DEV_CHEST, DEFAULT_PROPERTIES) } val PAINTER: BlockItem by registry.register(MNames.PAINTER) { BlockItem(MBlocks.PAINTER, DEFAULT_PROPERTIES) } @@ -162,6 +164,7 @@ object MItems { val BLACK_HOLE_GENERATOR by registry.register(MNames.BLACK_HOLE_GENERATOR) { BlockItem(MBlocks.BLACK_HOLE_GENERATOR, DEFAULT_PROPERTIES) } val MATTER_INJECTOR by registry.register(MNames.MATTER_INJECTOR) { BlockItem(MBlocks.MATTER_INJECTOR, DEFAULT_PROPERTIES) } val ANTIMATTER_INJECTOR by registry.register(MNames.ANTIMATTER_INJECTOR) { BlockItem(MBlocks.ANTIMATTER_INJECTOR, DEFAULT_PROPERTIES) } + val HIGH_ENERGY_PARTICLE_COLLECTOR by registry.register(MNames.HIGH_ENERGY_PARTICLE_COLLECTOR) { BlockItem(MBlocks.HIGH_ENERGY_PARTICLE_COLLECTOR, DEFAULT_PROPERTIES) } val ITEM_INPUT_HATCH by registry.register(MNames.ITEM_INPUT_HATCH) { BlockItem(MBlocks.ITEM_INPUT_HATCH, DEFAULT_PROPERTIES) } val ITEM_OUTPUT_HATCH by registry.register(MNames.ITEM_OUTPUT_HATCH) { BlockItem(MBlocks.ITEM_OUTPUT_HATCH, DEFAULT_PROPERTIES) } diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/heavy_modular_frame.png b/src/main/resources/assets/overdrive_that_matters/textures/block/heavy_modular_frame.png new file mode 100644 index 000000000..fbfa9954f Binary files /dev/null and b/src/main/resources/assets/overdrive_that_matters/textures/block/heavy_modular_frame.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/modular_frame.png b/src/main/resources/assets/overdrive_that_matters/textures/block/modular_frame.png new file mode 100644 index 000000000..8709ae471 Binary files /dev/null and b/src/main/resources/assets/overdrive_that_matters/textures/block/modular_frame.png differ