diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DataGen.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DataGen.kt index c481fe4e0..79d53c4f2 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DataGen.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DataGen.kt @@ -437,6 +437,16 @@ object DataGen { .save(consumer, "${crate.registryName}_alt") } } + + lambda { _, consumer -> + ShapedRecipeBuilder(MItems.CARGO_CRATE, 1) + .define('P', MItemTags.PLATE_TRITANIUM) + .define('C', Tags.Items.CHESTS) + .pattern("PCP") + .unlockedBy("has_tritanium_plate", has(MItemTags.PLATE_TRITANIUM)) + .unlockedBy("has_chest", has(Tags.Items.CHESTS)) + .save(consumer) + } } with(recipeProvider) { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/CargoCrateBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/CargoCrateBlock.kt index 8fdbfee55..9e4df360a 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/CargoCrateBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/CargoCrateBlock.kt @@ -16,8 +16,8 @@ import net.minecraft.world.level.material.Material import net.minecraft.world.level.material.MaterialColor import ru.dbotthepony.mc.otm.block.entity.CargoCrateBlockEntity -class CargoCrateBlock(val color: DyeColor) : RotatableMatteryBlock( - Properties.of(Material.STONE, color.materialColor).requiresCorrectToolForDrops().strength(1.5f, 30.0f) +class CargoCrateBlock(val color: DyeColor?) : RotatableMatteryBlock( + Properties.of(Material.STONE, color?.materialColor ?: MaterialColor.COLOR_BLUE).requiresCorrectToolForDrops().strength(1.5f, 30.0f) ), EntityBlock { override fun newBlockEntity(blockPos: BlockPos, blockState: BlockState): BlockEntity { return CargoCrateBlockEntity(blockPos, blockState) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlockEntities.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlockEntities.kt index c591f6df4..2c473563d 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlockEntities.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlockEntities.kt @@ -33,6 +33,7 @@ object MBlockEntities { val BLACK_HOLE: BlockEntityType<*> by registry.register(MNames.BLACK_HOLE) { BlockEntityType.Builder.of(::BlackHoleBlockEntity, MBlocks.BLACK_HOLE).build(null) } val CARGO_CRATE: BlockEntityType<*> by registry.register(MNames.CARGO_CRATE) { BlockEntityType.Builder.of( ::CargoCrateBlockEntity, + MBlocks.CARGO_CRATE, MBlocks.CARGO_CRATE_WHITE, MBlocks.CARGO_CRATE_ORANGE, MBlocks.CARGO_CRATE_MAGENTA, 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 bb62ddcf0..7b66339d1 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlocks.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlocks.kt @@ -113,6 +113,7 @@ object MBlocks { .strength(3f) ) } + val CARGO_CRATE: Block by registry.register(MNames.CARGO_CRATE) { CargoCrateBlock(null) } val CARGO_CRATE_WHITE: Block by registry.register(MNames.CARGO_CRATE_WHITE) { CargoCrateBlock(DyeColor.WHITE) } val CARGO_CRATE_ORANGE: Block by registry.register(MNames.CARGO_CRATE_ORANGE) { CargoCrateBlock(DyeColor.ORANGE) } val CARGO_CRATE_MAGENTA: Block by registry.register(MNames.CARGO_CRATE_MAGENTA) { CargoCrateBlock(DyeColor.MAGENTA) } @@ -131,6 +132,7 @@ object MBlocks { val CARGO_CRATE_BLACK: Block by registry.register(MNames.CARGO_CRATE_BLACK) { CargoCrateBlock(DyeColor.BLACK) } val CARGO_CRATES = LazyList( + { CARGO_CRATE }, { CARGO_CRATE_WHITE }, { CARGO_CRATE_ORANGE }, { CARGO_CRATE_MAGENTA }, 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 0733f1f51..ab07df776 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItems.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItems.kt @@ -233,6 +233,7 @@ object MItems { { CRATE_PURPLE }, ) + val CARGO_CRATE: Item by registry.register(MNames.CARGO_CRATE) { BlockItem(MBlocks.CARGO_CRATE, DEFAULT_PROPERTIES) } val CARGO_CRATE_WHITE: Item by registry.register(MNames.CARGO_CRATE_WHITE) { BlockItem(MBlocks.CARGO_CRATE_WHITE, DEFAULT_PROPERTIES) } val CARGO_CRATE_ORANGE: Item by registry.register(MNames.CARGO_CRATE_ORANGE) { BlockItem(MBlocks.CARGO_CRATE_ORANGE, DEFAULT_PROPERTIES) } val CARGO_CRATE_MAGENTA: Item by registry.register(MNames.CARGO_CRATE_MAGENTA) { BlockItem(MBlocks.CARGO_CRATE_MAGENTA, DEFAULT_PROPERTIES) } @@ -251,6 +252,7 @@ object MItems { val CARGO_CRATE_BLACK: Item by registry.register(MNames.CARGO_CRATE_BLACK) { BlockItem(MBlocks.CARGO_CRATE_BLACK, DEFAULT_PROPERTIES) } val CARGO_CRATES = LazyList( + { CARGO_CRATE }, { CARGO_CRATE_WHITE }, { CARGO_CRATE_ORANGE }, { CARGO_CRATE_MAGENTA }, diff --git a/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json b/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json index 0a55f034b..5515d7bfa 100644 --- a/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json +++ b/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json @@ -32,6 +32,7 @@ "overdrive_that_matters:crate_purple", "overdrive_that_matters:cargo_crate", + "overdrive_that_matters:cargo_crate", "overdrive_that_matters:cargo_crate_white", "overdrive_that_matters:cargo_crate_orange", "overdrive_that_matters:cargo_crate_magenta", diff --git a/src/main/resources/data/minecraft/tags/blocks/needs_iron_tool.json b/src/main/resources/data/minecraft/tags/blocks/needs_iron_tool.json index debe5cfea..17e02493c 100644 --- a/src/main/resources/data/minecraft/tags/blocks/needs_iron_tool.json +++ b/src/main/resources/data/minecraft/tags/blocks/needs_iron_tool.json @@ -18,6 +18,7 @@ "overdrive_that_matters:tritanium_striped_block", "overdrive_that_matters:carbon_fibre_block", + "overdrive_that_matters:cargo_crate", "overdrive_that_matters:cargo_crate_white", "overdrive_that_matters:cargo_crate_orange", "overdrive_that_matters:cargo_crate_magenta",