diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockModels.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockModels.kt index 28e75c3a4..3e5ae73c2 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockModels.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockModels.kt @@ -23,16 +23,23 @@ fun addBlockModels(provider: MatteryBlockModelProvider) { cubeAll(MBlocks.FLYWHEEL_HOUSING) column(MBlocks.FLYWHEEL_BEARING, "block/flywheel_bearing","block/flywheel_bearing_top") column(MBlocks.FLYWHEEL_SHAFT, "block/flywheel_shaft","block/flywheel_shaft_top") + orientable(MBlocks.FLYWHEEL_BATTERY,"block/flywheel_housing","block/flywheel_controller") column(MBlocks.GENERATOR_BLOCK, "block/generator_block","block/generator_block_top") + cubeAll(MBlocks.ENERGY_INPUT_INTERFACE) cubeAll(MBlocks.ENERGY_OUTPUT_INTERFACE) - orientable(MBlocks.MATTER_INPUT_HATCH,"block/hatch","block/matter_input_hatch") - orientable(MBlocks.MATTER_OUTPUT_HATCH,"block/hatch","block/matter_output_hatch") + cubeAll(MBlocks.TRITANIUM_HULL) - orientable(MBlocks.ENERGY_INPUT_HATCH,"block/hatch","block/energy_input_hatch") - orientable(MBlocks.ENERGY_OUTPUT_HATCH,"block/hatch","block/energy_output_hatch") + orientable(MBlocks.MATTER_INPUT_HATCH,"block/tritanium_hull","block/matter_input_hatch") + orientable(MBlocks.MATTER_OUTPUT_HATCH,"block/tritanium_hull","block/matter_output_hatch") + + orientable(MBlocks.ENERGY_INPUT_HATCH,"block/tritanium_hull","block/energy_input_hatch") + orientable(MBlocks.ENERGY_OUTPUT_HATCH,"block/tritanium_hull","block/energy_output_hatch") + + orientable(MBlocks.ITEM_INPUT_HATCH,"block/tritanium_hull","block/item_input_hatch") + orientable(MBlocks.ITEM_OUTPUT_HATCH,"block/tritanium_hull","block/item_output_hatch") cable("crude_energy_cable", "block/power_cable_0", powered = true) cable("regular_energy_cable", "block/power_cable_1", powered = true) 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 480e06e0e..020ff3dcb 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 @@ -338,14 +338,20 @@ fun addBlockStates(provider: MatteryBlockStateProvider) { 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.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) provider.block(MBlocks.MATTER_INPUT_HATCH) provider.block(MBlocks.MATTER_OUTPUT_HATCH) + + 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 497866bfb..7bb327323 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 @@ -237,6 +237,9 @@ fun addItemModels(provider: MatteryItemModelProvider) { provider.block(MItems.FLYWHEEL_HOUSING) provider.block(MItems.FLYWHEEL_BEARING) provider.block(MItems.FLYWHEEL_SHAFT) + provider.block(MItems.FLYWHEEL_BATTERY) + + provider.block(MItems.TRITANIUM_HULL) provider.block(MItems.GENERATOR_BLOCK) provider.block(MItems.ENERGY_INPUT_INTERFACE) @@ -248,6 +251,9 @@ fun addItemModels(provider: MatteryItemModelProvider) { provider.block(MItems.MATTER_INPUT_HATCH) provider.block(MItems.MATTER_OUTPUT_HATCH) + provider.block(MItems.ITEM_INPUT_HATCH) + provider.block(MItems.ITEM_OUTPUT_HATCH) + 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 45f548eb3..fbc70d0f5 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 @@ -550,6 +550,7 @@ private fun blocks(provider: MatteryLanguageProvider) { 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") 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 53b969cc1..1a8f5a75b 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 @@ -35,6 +35,8 @@ fun addDecorativeLoot(lootTables: LootTables) { lootTables.dropsSelf(MBlocks.METAL_MESH) { condition(ExplosionCondition.survivesExplosion()) } lootTables.dropsSelf(MBlocks.METAL_RAILING) { condition(ExplosionCondition.survivesExplosion()) } + lootTables.dropsSelf(MBlocks.METAL_JUNK) { condition(ExplosionCondition.survivesExplosion()) } + lootTables.dropsSelf(MBlocks.TRITANIUM_RAW_BLOCK) { condition(ExplosionCondition.survivesExplosion()) } lootTables.dropsSelf(MBlocks.TRITANIUM_STRIPED_BLOCK.values) { condition(ExplosionCondition.survivesExplosion()) } lootTables.dropsSelf(MBlocks.TRITANIUM_STRIPED_WALL.values) { 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 f82416f55..f16a422bd 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,6 +58,7 @@ 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) 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 48cd4aada..3c073cf2c 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 @@ -64,6 +64,7 @@ fun addMineableTags(tagsProvider: TagsProvider) { MBlocks.FLUID_TANK, *MBlocks.ANDROID_CHARGER.values.toTypedArray(), + MBlocks.TRITANIUM_HULL, MBlocks.BLACK_HOLE_GENERATOR, MBlocks.MATTER_INJECTOR, MBlocks.ANTIMATTER_INJECTOR, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/BlackHoleGeneratorBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/BlackHoleGeneratorBlock.kt index 857f013a5..b52cd2e81 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/BlackHoleGeneratorBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/BlackHoleGeneratorBlock.kt @@ -5,6 +5,7 @@ import net.minecraft.core.SectionPos import net.minecraft.world.item.context.BlockPlaceContext import net.minecraft.world.level.Level import net.minecraft.world.level.block.EntityBlock +import net.minecraft.world.level.block.SoundType import net.minecraft.world.level.block.entity.BlockEntity import net.minecraft.world.level.block.entity.BlockEntityTicker import net.minecraft.world.level.block.entity.BlockEntityType @@ -17,7 +18,7 @@ import ru.dbotthepony.mc.otm.core.math.BlockRotationFreedom import ru.dbotthepony.mc.otm.core.math.plus import ru.dbotthepony.mc.otm.core.math.times -class BlackHoleGeneratorBlock : RotatableMatteryBlock(Properties.of().mapColor(MapColor.METAL).requiresCorrectToolForDrops().destroyTime(2.5f).explosionResistance(160.0f)), EntityBlock { +class BlackHoleGeneratorBlock : RotatableMatteryBlock(Properties.of().mapColor(MapColor.METAL).sound(SoundType.NETHERITE_BLOCK).requiresCorrectToolForDrops().destroyTime(2.5f).explosionResistance(160.0f)), EntityBlock { override fun newBlockEntity(blockPos: BlockPos, blockState: BlockState): BlockEntity { return BlackHoleGeneratorBlockEntity(blockPos, blockState) } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/HatchBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/HatchBlock.kt index 6a9871af4..d0b1cd89c 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/HatchBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/HatchBlock.kt @@ -5,6 +5,7 @@ import net.minecraft.core.BlockPos import net.minecraft.world.item.context.BlockPlaceContext import net.minecraft.world.level.Level import net.minecraft.world.level.block.EntityBlock +import net.minecraft.world.level.block.SoundType import net.minecraft.world.level.block.entity.BlockEntity import net.minecraft.world.level.block.entity.BlockEntityTicker import net.minecraft.world.level.block.entity.BlockEntityType @@ -14,7 +15,8 @@ import ru.dbotthepony.mc.otm.block.RotatableMatteryBlock import ru.dbotthepony.mc.otm.block.entity.MatteryBlockEntity import ru.dbotthepony.mc.otm.core.TranslatableComponent -class HatchBlock(val factory: BlockEntityType.BlockEntitySupplier, val needsTicking: Boolean = false) : RotatableMatteryBlock(Properties.of().mapColor(MapColor.METAL).requiresCorrectToolForDrops().destroyTime(2.5f).explosionResistance(80.0f)), EntityBlock { +class HatchBlock(val factory: BlockEntityType.BlockEntitySupplier, val needsTicking: Boolean = false) : RotatableMatteryBlock(Properties.of().mapColor(MapColor.METAL).sound( + SoundType.VAULT).requiresCorrectToolForDrops().destroyTime(2.5f).explosionResistance(80.0f)), EntityBlock { override fun newBlockEntity(blockPos: BlockPos, blockState: BlockState): BlockEntity { return factory.create(blockPos, blockState) } 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 12b1734de..471998b09 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MNames.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MNames.kt @@ -32,6 +32,7 @@ object MNames { const val MATTER_OUTPUT_HATCH = "matter_output_hatch" const val PAINTER = "painter" const val MATTER_ENTANGLER = "matter_entangler" + const val TRITANIUM_HULL = "tritanium_hull" // blocks const val ANDROID_STATION = "android_station" 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 1fd3cd3fd..607306746 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 @@ -214,9 +214,18 @@ 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 MATTER_INJECTOR by registry.register(MNames.MATTER_INJECTOR) { RotatableMatteryBlock(BlockBehaviour.Properties.of().mapColor(MapColor.METAL).requiresCorrectToolForDrops().destroyTime(2.5f).explosionResistance(160.0f)) } - val ANTIMATTER_INJECTOR by registry.register(MNames.ANTIMATTER_INJECTOR) { RotatableMatteryBlock(BlockBehaviour.Properties.of().mapColor(MapColor.METAL).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).requiresCorrectToolForDrops().destroyTime(2.5f).explosionResistance(160.0f)) } + + 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 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 5e979ea79..d9e992463 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 @@ -185,6 +185,7 @@ private fun addMainCreativeTabItems(consumer: CreativeModeTab.Output) { accept(MItems.GENERATOR_BLOCK) + accept(MItems.TRITANIUM_HULL) accept(MItems.BLACK_HOLE_GENERATOR) accept(MItems.MATTER_INJECTOR) accept(MItems.ANTIMATTER_INJECTOR) 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 4719fdd34..6fa3d2410 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 @@ -158,6 +158,7 @@ object MItems { val PAINTER: BlockItem by registry.register(MNames.PAINTER) { BlockItem(MBlocks.PAINTER, DEFAULT_PROPERTIES) } val MATTER_ENTANGLER: BlockItem by registry.register(MNames.MATTER_ENTANGLER) { BlockItem(MBlocks.MATTER_ENTANGLER, DEFAULT_PROPERTIES) } + val TRITANIUM_HULL by registry.register(MNames.TRITANIUM_HULL) { BlockItem(MBlocks.TRITANIUM_HULL, DEFAULT_PROPERTIES) } 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) } diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/energy_input_hatch.png b/src/main/resources/assets/overdrive_that_matters/textures/block/energy_input_hatch.png index 1c015fbd7..c147872cc 100644 Binary files a/src/main/resources/assets/overdrive_that_matters/textures/block/energy_input_hatch.png and b/src/main/resources/assets/overdrive_that_matters/textures/block/energy_input_hatch.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/energy_output_hatch.png b/src/main/resources/assets/overdrive_that_matters/textures/block/energy_output_hatch.png index e728d0122..1f1389d5a 100644 Binary files a/src/main/resources/assets/overdrive_that_matters/textures/block/energy_output_hatch.png and b/src/main/resources/assets/overdrive_that_matters/textures/block/energy_output_hatch.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/item_input_hatch.png b/src/main/resources/assets/overdrive_that_matters/textures/block/item_input_hatch.png new file mode 100644 index 000000000..daac2e093 Binary files /dev/null and b/src/main/resources/assets/overdrive_that_matters/textures/block/item_input_hatch.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/item_output_hatch.png b/src/main/resources/assets/overdrive_that_matters/textures/block/item_output_hatch.png new file mode 100644 index 000000000..89007c06e Binary files /dev/null and b/src/main/resources/assets/overdrive_that_matters/textures/block/item_output_hatch.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/matter_input_hatch.png b/src/main/resources/assets/overdrive_that_matters/textures/block/matter_input_hatch.png index 97995e7d5..7e554035f 100644 Binary files a/src/main/resources/assets/overdrive_that_matters/textures/block/matter_input_hatch.png and b/src/main/resources/assets/overdrive_that_matters/textures/block/matter_input_hatch.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/matter_output_hatch.png b/src/main/resources/assets/overdrive_that_matters/textures/block/matter_output_hatch.png index 8ef02fe56..8cbad6b5e 100644 Binary files a/src/main/resources/assets/overdrive_that_matters/textures/block/matter_output_hatch.png and b/src/main/resources/assets/overdrive_that_matters/textures/block/matter_output_hatch.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/hatch.png b/src/main/resources/assets/overdrive_that_matters/textures/block/tritanium_hull.png similarity index 70% rename from src/main/resources/assets/overdrive_that_matters/textures/block/hatch.png rename to src/main/resources/assets/overdrive_that_matters/textures/block/tritanium_hull.png index 9b4e71a71..4b23a01ab 100644 Binary files a/src/main/resources/assets/overdrive_that_matters/textures/block/hatch.png and b/src/main/resources/assets/overdrive_that_matters/textures/block/tritanium_hull.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/item/salvaged_android_arm.png b/src/main/resources/assets/overdrive_that_matters/textures/item/salvaged_android_arm.png new file mode 100644 index 000000000..4735392b4 Binary files /dev/null and b/src/main/resources/assets/overdrive_that_matters/textures/item/salvaged_android_arm.png differ