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 2a0895130..fa8c80a78 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DataGen.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DataGen.kt @@ -144,7 +144,6 @@ object DataGen { blockStateProvider.stairsBlock(block, modLocation(side), modLocation(top), modLocation(top)) } } - const val DECORATIVE_BLOCK_LOCATION = "block/decorative" fun decorativeStairs(block: StairBlock, side: String, top: String) { @@ -165,6 +164,11 @@ object DataGen { } } + fun decorativeCubeFramed(block: String, texture: String){ + blockModelProvider.cubeAllFramed(block,texture) + blockStateProvider.block() + } + fun stairs(block: StairBlock) { stairs(block, "$DECORATIVE_BLOCK_LOCATION/${block.registryName!!.path}", "$DECORATIVE_BLOCK_LOCATION/${block.registryName!!.path}") } diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DecorativeData.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DecorativeData.kt index 8d3220dca..49dad5b19 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DecorativeData.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DecorativeData.kt @@ -42,6 +42,18 @@ fun addDecorativeData(blockStateProvider: MatteryBlockStateProvider, itemModelPr DataGen.decoratives(MRegistry.TRITANIUM_BLOCK) + DataGen.decorativeCubeAll(MBlocks.ROFLITE_FRAME) + DataGen.decorativeCubeAll(MBlocks.ROFLITE_PLATING) + DataGen.decorativeStairs(MBlocks.ROFLITE_PLATING_STAIRS,"roflite_plating","roflite_plating") + DataGen.decorativeSlab(MBlocks.ROFLITE_PLATING_SLAB, MBlocks.ROFLITE_PLATING.registryName!!,"roflite_plating","roflite_plating") + DataGen.decorativeCubeAll(MBlocks.CUT_ROFLITE) + DataGen.decorativeStairs(MBlocks.CUT_ROFLITE_STAIRS,"cut_roflite","cut_roflite") + DataGen.decorativeSlab(MBlocks.CUT_ROFLITE_SLAB, MBlocks.CUT_ROFLITE.registryName!!,"cut_roflite","cut_roflite") + DataGen.decorativeCubeAll(MBlocks.CHISELED_ROFLITE) + DataGen.decorativeCubeFramed("roflite_assembly","block/decorative/roflite_assembly") + DataGen.decorativePillar(MBlocks.ROFLITE_PILLAR, "roflite_pillar", "roflite_pillar_top") + + for (color in DyeColor.entries) { blockModelProvider.exec { blockModelProvider.withExistingParent("block/tritanium_anvil0_${color.name.lowercase()}", "${DataGen.MOD_ID}:block/tritanium_anvil0") @@ -270,6 +282,19 @@ fun addDecorativeData(blockStateProvider: MatteryBlockStateProvider, itemModelPr blockStateProvider.block(MBlocks.METAL_BEAM_CENTER) itemModelProvider.block(MItems.METAL_BEAM_CENTER) + itemModelProvider.block(MItems.ROFLITE_FRAME) + itemModelProvider.block(MItems.ROFLITE_PLATING) + itemModelProvider.block(MItems.ROFLITE_ASSEMBLY) + itemModelProvider.block(MItems.ROFLITE_PILLAR) + itemModelProvider.block(MItems.CHISELED_ROFLITE) + itemModelProvider.block(MItems.CUT_ROFLITE) + itemModelProvider.block(MItems.ROFLITE_PLATING_SLAB) + itemModelProvider.block(MItems.ROFLITE_PLATING_STAIRS) + itemModelProvider.block(MItems.CUT_ROFLITE_SLAB) + itemModelProvider.block(MItems.CUT_ROFLITE_STAIRS) + + blockStateProvider.block(MBlocks.ROFLITE_ASSEMBLY) + blockStateProvider.exec { blockStateProvider.getVariantBuilder(MBlocks.LABORATORY_LAMP).forAllStates { return@forAllStates ConfiguredModel.builder() 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 b7402de4d..de5867291 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MNames.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MNames.kt @@ -127,6 +127,19 @@ object MNames { const val INDUSTRIAL_LADDER = "industrial_ladder" + //ROFL + const val ROFLITE_FRAME = "roflite_frame" + const val ROFLITE_PLATING = "roflite_plating" + const val ROFLITE_PLATING_STAIRS = "roflite_plating_stairs" + const val ROFLITE_PLATING_SLAB = "roflite_plating_slab" + const val ROFLITE_ASSEMBLY = "roflite_assembly" + const val CHISELED_ROFLITE = "chiseled_roflite" + const val CUT_ROFLITE = "cut_roflite" + const val CUT_ROFLITE_STAIRS = "cut_roflite_stairs" + const val CUT_ROFLITE_SLAB = "cut_roflite_slab" + const val ROFLITE_PILLAR = "roflite_pillar" + + // items const val GRAVITATIONAL_DISRUPTOR = "gravitational_disruptor" const val MATTER_DUST = "matter_dust" diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MRegistry.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MRegistry.kt index ccb666bc1..dd959dd51 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MRegistry.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MRegistry.kt @@ -44,6 +44,8 @@ import ru.dbotthepony.mc.otm.isClient import ru.dbotthepony.mc.otm.item.armor.TritaniumArmorItem import ru.dbotthepony.mc.otm.item.weapon.EnergySwordItem import ru.dbotthepony.mc.otm.item.weapon.FallingSunItem +import ru.dbotthepony.mc.otm.registry.game.MBlocks.CUT_ROFLITE +import ru.dbotthepony.mc.otm.registry.game.MBlocks.ROFLITE_PLATING import ru.dbotthepony.mc.otm.registry.game.MDataComponentTypes import ru.dbotthepony.mc.otm.registry.game.MItems import ru.dbotthepony.mc.otm.registry.game.MStats 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 f5c47b643..c36272a09 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 @@ -98,6 +98,7 @@ import ru.dbotthepony.mc.otm.util.get import ru.dbotthepony.mc.otm.registry.MDeferredRegister import ru.dbotthepony.mc.otm.registry.MNames import ru.dbotthepony.mc.otm.registry.MRegistry +import ru.dbotthepony.mc.otm.registry.objects.DecorativeBlock import java.util.Collections import java.util.LinkedHashMap import java.util.function.Supplier @@ -260,6 +261,54 @@ object MBlocks { val ROFLITE_ALLOY_BLOCK: Block by registry.register(MNames.ROFLITE_ALLOY_BLOCK) { Block(BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_BROWN).sound(SoundType.NETHERITE_BLOCK).explosionResistance(400f).destroyTime(3f).requiresCorrectToolForDrops()) } + val ROFLITE_FRAME: Block by registry.register(MNames.ROFLITE_FRAME) { + Block(BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_BROWN).sound(SoundType.NETHERITE_BLOCK).explosionResistance(1200f).destroyTime(50f).requiresCorrectToolForDrops()) + } + + val ROFLITE_PLATING: Block by registry.register(MNames.ROFLITE_PLATING) { + Block(BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_BROWN).sound(SoundType.NETHERITE_BLOCK).explosionResistance(400f).destroyTime(3f).requiresCorrectToolForDrops()) + } + + val ROFLITE_PLATING_STAIRS: StairBlock by registry.register(MNames.ROFLITE_PLATING_STAIRS) { + StairBlock( + ROFLITE_PLATING.defaultBlockState(), + BlockBehaviour.Properties.ofLegacyCopy(ROFLITE_PLATING) + ) + } + val ROFLITE_PLATING_SLAB: SlabBlock by registry.register(MNames.ROFLITE_PLATING_SLAB) { + SlabBlock(BlockBehaviour.Properties.ofLegacyCopy(ROFLITE_PLATING)) + } + + val ROFLITE_PILLAR: Block by registry.register(MNames.ROFLITE_PILLAR) { RotatedPillarBlock( + BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_BROWN).sound(SoundType.NETHERITE_BLOCK).explosionResistance(400f).destroyTime(3f).requiresCorrectToolForDrops()) + } + + val CUT_ROFLITE: Block by registry.register(MNames.CUT_ROFLITE) { + Block(BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_BROWN).sound(SoundType.NETHERITE_BLOCK).explosionResistance(400f).destroyTime(3f).requiresCorrectToolForDrops()) + } + + val CUT_ROFLITE_STAIRS: StairBlock by registry.register(MNames.CUT_ROFLITE_STAIRS) { + StairBlock( + CUT_ROFLITE.defaultBlockState(), + BlockBehaviour.Properties.ofLegacyCopy(CUT_ROFLITE) + ) + } + val CUT_ROFLITE_SLAB: SlabBlock by registry.register(MNames.CUT_ROFLITE_SLAB) { + SlabBlock(BlockBehaviour.Properties.ofLegacyCopy(CUT_ROFLITE)) + } + + val CHISELED_ROFLITE: Block by registry.register(MNames.CHISELED_ROFLITE) { + Block(BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_BROWN).sound(SoundType.NETHERITE_BLOCK).explosionResistance(400f).destroyTime(3f).requiresCorrectToolForDrops()) + } + + val ROFLITE_ASSEMBLY: Block by registry.register(MNames.ROFLITE_ASSEMBLY) { + WaterloggedTransparentBlock(BlockBehaviour.Properties.of() + .mapColor(MapColor.COLOR_BROWN) + .noOcclusion() + .sound(SoundType.COPPER_GRATE) + .explosionResistance(100f) + .destroyTime(2f).requiresCorrectToolForDrops()) + } val METAL_JUNK: MatteryBlock by registry.register(MNames.METAL_JUNK) { MatteryBlock(BlockBehaviour.Properties.of().sound(SoundType.NETHERITE_BLOCK).mapColor(MapColor.COLOR_GRAY).explosionResistance(45f).destroyTime(3f).requiresCorrectToolForDrops()) 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 beaaead09..b558e8508 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 @@ -678,6 +678,18 @@ object MItems { val METAL_MESH: Item by registry.register(MNames.METAL_MESH) { BlockItem(MBlocks.METAL_MESH, DEFAULT_PROPERTIES) } val TIRE_BLOCK: Item by registry.register(MNames.TIRE_BLOCK) { BlockItem(MBlocks.TIRE_BLOCK, DEFAULT_PROPERTIES) } + val ROFLITE_FRAME: Item by registry.register(MNames.ROFLITE_FRAME) { BlockItem(MBlocks.ROFLITE_FRAME, DEFAULT_PROPERTIES) } + val ROFLITE_PLATING: Item by registry.register(MNames.ROFLITE_PLATING) { BlockItem(MBlocks.ROFLITE_PLATING, DEFAULT_PROPERTIES) } + val ROFLITE_PLATING_STAIRS: Item by registry.register(MNames.ROFLITE_PLATING_STAIRS) { BlockItem(MBlocks.ROFLITE_PLATING_STAIRS, DEFAULT_PROPERTIES) } + val ROFLITE_PLATING_SLAB: Item by registry.register(MNames.ROFLITE_PLATING_SLAB) { BlockItem(MBlocks.ROFLITE_PLATING_SLAB, DEFAULT_PROPERTIES) } + val CUT_ROFLITE: Item by registry.register(MNames.CUT_ROFLITE) { BlockItem(MBlocks.CUT_ROFLITE, DEFAULT_PROPERTIES) } + val CUT_ROFLITE_STAIRS: Item by registry.register(MNames.CUT_ROFLITE_STAIRS) { BlockItem(MBlocks.CUT_ROFLITE_STAIRS, DEFAULT_PROPERTIES) } + val CUT_ROFLITE_SLAB: Item by registry.register(MNames.CUT_ROFLITE_SLAB) { BlockItem(MBlocks.CUT_ROFLITE_SLAB, DEFAULT_PROPERTIES) } + val CHISELED_ROFLITE: Item by registry.register(MNames.CHISELED_ROFLITE) { BlockItem(MBlocks.CHISELED_ROFLITE, DEFAULT_PROPERTIES) } + val ROFLITE_ASSEMBLY: Item by registry.register(MNames.ROFLITE_ASSEMBLY) { BlockItem(MBlocks.ROFLITE_ASSEMBLY, DEFAULT_PROPERTIES) } + val ROFLITE_PILLAR: Item by registry.register(MNames.ROFLITE_PILLAR) { BlockItem(MBlocks.ROFLITE_PILLAR, DEFAULT_PROPERTIES) } + + val CHEST_UPGRADER: Item by registry.register(MNames.CHEST_UPGRADER) { ChestUpgraderItem() } val BREAD_MONSTER_SPAWN_EGG: Item by registry.register(MNames.BREAD_MONSTER_SPAWN_EGG){ SpawnEggItem(MEntityTypes.BREAD_MONSTER, 0xFFFFFF, 0xFFFFFF, Item.Properties())} diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/decorative/chiseled_roflite.png b/src/main/resources/assets/overdrive_that_matters/textures/block/decorative/chiseled_roflite.png new file mode 100644 index 000000000..c857b0bec Binary files /dev/null and b/src/main/resources/assets/overdrive_that_matters/textures/block/decorative/chiseled_roflite.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/decorative/cut_roflite.png b/src/main/resources/assets/overdrive_that_matters/textures/block/decorative/cut_roflite.png new file mode 100644 index 000000000..874132f8c Binary files /dev/null and b/src/main/resources/assets/overdrive_that_matters/textures/block/decorative/cut_roflite.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/decorative/roflite_assembly.png b/src/main/resources/assets/overdrive_that_matters/textures/block/decorative/roflite_assembly.png new file mode 100644 index 000000000..0111c4019 Binary files /dev/null and b/src/main/resources/assets/overdrive_that_matters/textures/block/decorative/roflite_assembly.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/decorative/roflite_frame.png b/src/main/resources/assets/overdrive_that_matters/textures/block/decorative/roflite_frame.png new file mode 100644 index 000000000..612c0761b Binary files /dev/null and b/src/main/resources/assets/overdrive_that_matters/textures/block/decorative/roflite_frame.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/decorative/roflite_pillar.png b/src/main/resources/assets/overdrive_that_matters/textures/block/decorative/roflite_pillar.png new file mode 100644 index 000000000..094cd8443 Binary files /dev/null and b/src/main/resources/assets/overdrive_that_matters/textures/block/decorative/roflite_pillar.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/decorative/roflite_pillar_top.png b/src/main/resources/assets/overdrive_that_matters/textures/block/decorative/roflite_pillar_top.png new file mode 100644 index 000000000..23c94afbb Binary files /dev/null and b/src/main/resources/assets/overdrive_that_matters/textures/block/decorative/roflite_pillar_top.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/decorative/roflite_plating.png b/src/main/resources/assets/overdrive_that_matters/textures/block/decorative/roflite_plating.png new file mode 100644 index 000000000..c06357417 Binary files /dev/null and b/src/main/resources/assets/overdrive_that_matters/textures/block/decorative/roflite_plating.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/resource/roflite_alloy_1.png b/src/main/resources/assets/overdrive_that_matters/textures/block/resource/roflite_alloy_1.png index 7dc22ae16..765a31d4f 100644 Binary files a/src/main/resources/assets/overdrive_that_matters/textures/block/resource/roflite_alloy_1.png and b/src/main/resources/assets/overdrive_that_matters/textures/block/resource/roflite_alloy_1.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/resource/roflite_alloy_2.png b/src/main/resources/assets/overdrive_that_matters/textures/block/resource/roflite_alloy_2.png index 14d4e1fb8..927815471 100644 Binary files a/src/main/resources/assets/overdrive_that_matters/textures/block/resource/roflite_alloy_2.png and b/src/main/resources/assets/overdrive_that_matters/textures/block/resource/roflite_alloy_2.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/resource/roflite_alloy_top.png b/src/main/resources/assets/overdrive_that_matters/textures/block/resource/roflite_alloy_top.png index d0cd682da..12fd581f9 100644 Binary files a/src/main/resources/assets/overdrive_that_matters/textures/block/resource/roflite_alloy_top.png and b/src/main/resources/assets/overdrive_that_matters/textures/block/resource/roflite_alloy_top.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/item/resources/roflite_alloy_ingot.png b/src/main/resources/assets/overdrive_that_matters/textures/item/resources/roflite_alloy_ingot.png index 27b68126b..c2c7074be 100644 Binary files a/src/main/resources/assets/overdrive_that_matters/textures/item/resources/roflite_alloy_ingot.png and b/src/main/resources/assets/overdrive_that_matters/textures/item/resources/roflite_alloy_ingot.png differ