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 a38dd95ba..3305aade1 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 @@ -355,6 +355,10 @@ private fun blocks(provider: MatteryLanguageProvider) { add(MBlocks.TRITANIUM_DOOR, "Tritanium Door") add(MBlocks.TRITANIUM_DOOR, "description0", "High blast resistance door with redstone latch...") add(MBlocks.TRITANIUM_DOOR, "description1", "...feeling safe now?") + + add(MBlocks.TRITANIUM_TRAPDOOR, "Tritanium Trapdoor") + add(MBlocks.TRITANIUM_TRAPDOOR, "description0", "High blast resistance door with redstone latch...") + add(MBlocks.TRITANIUM_TRAPDOOR, "description1", "...feeling safe now?") } } diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/LootTablesData.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/LootTablesData.kt index 950ad943e..7e9edfb22 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/LootTablesData.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/LootTablesData.kt @@ -44,6 +44,8 @@ fun addLootTables(lootTables: LootTables) { lootTables.dropsSelf(MBlocks.DANGER_STRIPE_BLOCK) lootTables.dropsSelf(MBlocks.METAL_BEAM) + lootTables.dropsSelf(MBlocks.TRITANIUM_TRAPDOOR) + lootTables.blockSimple(MBlocks.PHANTOM_ATTRACTOR) { it.add(LootItem.lootTableItem(MBlocks.PHANTOM_ATTRACTOR) .`when`(LootItemBlockStatePropertyCondition diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/CraftingTableRecipes.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/CraftingTableRecipes.kt index 86ee174ed..f24a172b5 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/CraftingTableRecipes.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/CraftingTableRecipes.kt @@ -50,6 +50,12 @@ fun addCraftingTableRecipes(consumer: Consumer) { .unlockedBy(MItemTags.TRITANIUM_PLATES) .build(consumer) + MatteryRecipe(MBlocks.TRITANIUM_TRAPDOOR) + .rowAB(MItemTags.TRITANIUM_PLATES, MItemTags.TRITANIUM_PLATES) + .rowAB(MItemTags.TRITANIUM_PLATES, MItemTags.TRITANIUM_PLATES) + .unlockedBy(MItemTags.TRITANIUM_PLATES) + .build(consumer) + MatteryRecipe(MBlocks.PLATE_PRESS) .row(MItems.ELECTRIC_PARTS, MItems.ENERGY_BUS, MItems.ELECTRIC_PARTS) .row(MItemTags.TRITANIUM_INGOTS, Items.BLAST_FURNACE, MItemTags.TRITANIUM_INGOTS) diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/Tags.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/Tags.kt index 714b33f39..37c7ce061 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/Tags.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/Tags.kt @@ -67,6 +67,9 @@ fun addTags(tagsProvider: TagsProvider) { tagsProvider.items.appender(ItemTags.DOORS).add(MItems.TRITANIUM_DOOR) tagsProvider.blocks.appender(BlockTags.DOORS).add(MBlocks.TRITANIUM_DOOR) + tagsProvider.items.appender(ItemTags.TRAPDOORS).add(MItems.TRITANIUM_TRAPDOOR) + tagsProvider.blocks.appender(BlockTags.TRAPDOORS).add(MBlocks.TRITANIUM_TRAPDOOR) + tagsProvider.requiresPickaxe(listOf( MBlocks.ANDROID_STATION, MBlocks.BATTERY_BANK, @@ -95,6 +98,7 @@ fun addTags(tagsProvider: TagsProvider) { MBlocks.ENERGY_SERVO, MBlocks.TRITANIUM_DOOR, + MBlocks.TRITANIUM_TRAPDOOR, ), Tiers.IRON) tagsProvider.requiresPickaxe(MBlocks.TRITANIUM_ORE, Tiers.IRON) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlocks.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlocks.kt index c1b2221bf..81c7e1748 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlocks.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlocks.kt @@ -11,6 +11,7 @@ import net.minecraft.world.level.block.Block import net.minecraft.world.level.block.DoorBlock import net.minecraft.world.level.block.DropExperienceBlock import net.minecraft.world.level.block.SoundType +import net.minecraft.world.level.block.TrapDoorBlock import net.minecraft.world.level.block.state.BlockBehaviour import net.minecraft.world.level.material.Material import net.minecraft.world.level.material.MaterialColor @@ -106,6 +107,20 @@ object MBlocks { } } } + val TRITANIUM_TRAPDOOR: Block by registry.register(MNames.TRITANIUM_TRAPDOOR) { + object : TrapDoorBlock(Properties.of(Material.METAL, DyeColor.LIGHT_BLUE).explosionResistance(80f).noOcclusion().destroyTime(3f).requiresCorrectToolForDrops()) { + override fun appendHoverText( + p_49816_: ItemStack, + p_49817_: BlockGetter?, + p_49818_: MutableList, + p_49819_: TooltipFlag + ) { + super.appendHoverText(p_49816_, p_49817_, p_49818_, p_49819_) + p_49818_.add(TranslatableComponent("$descriptionId.description0").withStyle(ChatFormatting.DARK_GRAY)) + p_49818_.add(TranslatableComponent("$descriptionId.description1").withStyle(ChatFormatting.DARK_GRAY)) + } + } } + init { MRegistry.CARGO_CRATES.registerBlocks(registry) MRegistry.TRITANIUM_BLOCK.registerBlocks(registry) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItems.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItems.kt index 0b32862f5..ea7e68a21 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItems.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItems.kt @@ -225,6 +225,7 @@ object MItems { val METAL_BEAM: Item by registry.register(MNames.METAL_BEAM) { BlockItem(MBlocks.METAL_BEAM, DEFAULT_PROPERTIES_DECORATIVE) } val TRITANIUM_DOOR: Item by registry.register(MNames.TRITANIUM_DOOR) { DoubleHighBlockItem(MBlocks.TRITANIUM_DOOR, DEFAULT_PROPERTIES_DECORATIVE) } + val TRITANIUM_TRAPDOOR: Item by registry.register(MNames.TRITANIUM_TRAPDOOR) { BlockItem(MBlocks.TRITANIUM_TRAPDOOR, DEFAULT_PROPERTIES_DECORATIVE) } // components val MATTER_IO_PORT: Item by registry.register(MNames.MATTER_IO_PORT) { Item(DEFAULT_PROPERTIES) } 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 8a7b9dbf2..d85c7e4c4 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MNames.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MNames.kt @@ -228,6 +228,7 @@ object MNames { const val ENDER_TELEPORTER = "ender_teleporter" const val TRITANIUM_DOOR = "tritanium_door" + const val TRITANIUM_TRAPDOOR = "tritanium_trapdoor" } object StatNames {