From 2a4c3795b53de64a9f5193222bc566eb8583f7a7 Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Sun, 15 May 2022 19:12:32 +0700 Subject: [PATCH] Cargo crate models --- .../ru/dbotthepony/mc/otm/datagen/DataGen.kt | 35 +++++++++++++++--- .../ru/dbotthepony/mc/otm/registry/MBlocks.kt | 19 ++++++++++ .../ru/dbotthepony/mc/otm/registry/MItems.kt | 19 ++++++++++ .../models/block/cargo_crate_closed.json | 4 +- .../models/block/cargo_crate_open.json | 4 +- ..._crate_white.png => cargo_crate_white.png} | Bin 6 files changed, 71 insertions(+), 10 deletions(-) rename src/main/resources/assets/overdrive_that_matters/textures/block/cargo_crates/{crago_crate_white.png => cargo_crate_white.png} (100%) 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 d6a078fb8..d3c639478 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DataGen.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DataGen.kt @@ -9,6 +9,7 @@ import net.minecraft.world.item.ItemStack import net.minecraft.world.item.crafting.Ingredient import net.minecraft.world.level.block.Block import net.minecraft.world.level.block.IronBarsBlock +import net.minecraftforge.client.model.generators.ConfiguredModel import net.minecraftforge.client.model.generators.ModelFile import net.minecraftforge.common.Tags import net.minecraftforge.common.loot.LootTableIdCondition @@ -16,12 +17,9 @@ import net.minecraftforge.eventbus.api.SubscribeEvent import net.minecraftforge.fml.common.Mod import net.minecraftforge.forge.event.lifecycle.GatherDataEvent import ru.dbotthepony.mc.otm.OverdriveThatMatters +import ru.dbotthepony.mc.otm.block.* import ru.dbotthepony.mc.otm.registry.MBlocks import ru.dbotthepony.mc.otm.registry.MItems -import ru.dbotthepony.mc.otm.block.DriveViewerBlock -import ru.dbotthepony.mc.otm.block.EnergyCounterBlock -import ru.dbotthepony.mc.otm.block.RotatableMatteryBlock -import ru.dbotthepony.mc.otm.block.PatternStorageBlock import ru.dbotthepony.mc.otm.block.entity.worker.WorkerState import ru.dbotthepony.mc.otm.data.LootTableBasicAppender import ru.dbotthepony.mc.otm.datagen.blocks.BatteryBankProvider @@ -35,6 +33,7 @@ import ru.dbotthepony.mc.otm.datagen.models.BlockMatteryModelProvider import ru.dbotthepony.mc.otm.datagen.recipes.MatteryRecipeProvider import ru.dbotthepony.mc.otm.datagen.recipes.has import ru.dbotthepony.mc.otm.registry.MItemTags +import ru.dbotthepony.mc.otm.registry.MNames @Mod.EventBusSubscriber(modid = DataGen.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD) object DataGen { @@ -123,7 +122,6 @@ object DataGen { event.generator.addProvider(blockModelProvider) event.generator.addProvider(itemModelProvider) event.generator.addProvider(blockStateProvider) - event.generator.addProvider(blockStateProvider) event.generator.addProvider(recipeProvider) event.generator.addProvider(MatterBankProvider(event)) event.generator.addProvider(BatteryBankProvider(event)) @@ -142,6 +140,18 @@ object DataGen { blockModelProvider.resourceCubeAll(MBlocks.TRITANIUM_RAW_BLOCK) blockModelProvider.resourceCubeAll(MBlocks.DEEPSLATE_TRITANIUM_ORE) + blockModelProvider.lambda { + for (crate in MBlocks.CARGO_CRATES_COLORED) { + it.withExistingParent("${crate.registryName!!.path}_closed", ResourceLocation(OverdriveThatMatters.MOD_ID, "${MNames.CARGO_CRATE}_closed")) + .texture("texture", "block/cargo_crates/${crate.registryName!!.path}") + .texture("particle", "block/cargo_crates/${crate.registryName!!.path}") + + it.withExistingParent("${crate.registryName!!.path}_open", ResourceLocation(OverdriveThatMatters.MOD_ID, "${MNames.CARGO_CRATE}_open")) + .texture("texture", "block/cargo_crates/${crate.registryName!!.path}") + .texture("particle", "block/cargo_crates/${crate.registryName!!.path}") + } + } + decorativeColumn(MBlocks.TRITANIUM_STRIPED_BLOCK, "tritanium_striped_block", "tritanium_block") for ((i, glass) in MBlocks.INDUSTRIAL_GLASS_PANE_LIST.withIndex()) { @@ -198,6 +208,19 @@ object DataGen { block(MBlocks.STORAGE_POWER_SUPPLIER) block(MBlocks.MATTER_RECYCLER) + + lambda { + for (crate in MBlocks.CARGO_CRATES_COLORED) { + getVariantBuilder(crate).forAllStates { + return@forAllStates arrayOf( + ConfiguredModel.builder() + .modelFile(models().getExistingFile(ResourceLocation(OverdriveThatMatters.MOD_ID, "${crate.registryName!!.path}_${if (it.getValue(CargoCrateBlock.IS_OPEN)) "open" else "closed"}"))) + .rotationY(it.getValue(RotatableMatteryBlock.FACING).toYRotBlockstate()) + .buildLast() + ) + } + } + } } with(itemModelProvider) { @@ -250,7 +273,7 @@ object DataGen { generated(MItems.MATTER_DUST) for (item in MItems.CARGO_CRATES) { - // block(item, "${item.registryName!!.path}_closed") + block(item, "${item.registryName!!.path}_closed") } block(MItems.CHEMICAL_GENERATOR, "chemical_generator_working") 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 7b66339d1..0692d9388 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlocks.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlocks.kt @@ -151,6 +151,25 @@ object MBlocks { { CARGO_CRATE_BLACK }, ) + val CARGO_CRATES_COLORED = LazyList( + { CARGO_CRATE_WHITE }, + { CARGO_CRATE_ORANGE }, + { CARGO_CRATE_MAGENTA }, + { CARGO_CRATE_LIGHT_BLUE }, + { CARGO_CRATE_YELLOW }, + { CARGO_CRATE_LIME }, + { CARGO_CRATE_PINK }, + { CARGO_CRATE_GRAY }, + { CARGO_CRATE_LIGHT_GRAY }, + { CARGO_CRATE_CYAN }, + { CARGO_CRATE_PURPLE }, + { CARGO_CRATE_BLUE }, + { CARGO_CRATE_BROWN }, + { CARGO_CRATE_GREEN }, + { CARGO_CRATE_RED }, + { CARGO_CRATE_BLACK }, + ) + val CRATE_RED: Block by registry.register(MRegistry.CRATE_RED.name) { MRegistry.CRATE_RED.makeBlock() } val CRATE_BLUE: Block by registry.register(MRegistry.CRATE_BLUE.name) { MRegistry.CRATE_BLUE.makeBlock() } val CRATE_YELLOW: Block by registry.register(MRegistry.CRATE_YELLOW.name) { MRegistry.CRATE_YELLOW.makeBlock() } 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 ab07df776..6c33b2596 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItems.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItems.kt @@ -271,6 +271,25 @@ object MItems { { CARGO_CRATE_BLACK }, ) + val CARGO_CRATES_COLORED = LazyList( + { CARGO_CRATE_WHITE }, + { CARGO_CRATE_ORANGE }, + { CARGO_CRATE_MAGENTA }, + { CARGO_CRATE_LIGHT_BLUE }, + { CARGO_CRATE_YELLOW }, + { CARGO_CRATE_LIME }, + { CARGO_CRATE_PINK }, + { CARGO_CRATE_GRAY }, + { CARGO_CRATE_LIGHT_GRAY }, + { CARGO_CRATE_CYAN }, + { CARGO_CRATE_PURPLE }, + { CARGO_CRATE_BLUE }, + { CARGO_CRATE_BROWN }, + { CARGO_CRATE_GREEN }, + { CARGO_CRATE_RED }, + { CARGO_CRATE_BLACK }, + ) + val TRITANIUM_BLOCK: Item by registry.register(MNames.TRITANIUM_BLOCK) { BlockItem(MBlocks.TRITANIUM_BLOCK, DEFAULT_PROPERTIES) } val TRITANIUM_STRIPED_BLOCK: Item by registry.register(MNames.TRITANIUM_STRIPED_BLOCK) { BlockItem(MBlocks.TRITANIUM_STRIPED_BLOCK, DEFAULT_PROPERTIES) } val CARBON_FIBRE_BLOCK: Item by registry.register(MNames.CARBON_FIBRE_BLOCK) { BlockItem(MBlocks.CARBON_FIBRE_BLOCK, DEFAULT_PROPERTIES) } diff --git a/src/main/resources/assets/overdrive_that_matters/models/block/cargo_crate_closed.json b/src/main/resources/assets/overdrive_that_matters/models/block/cargo_crate_closed.json index 7b1ca82dc..d055be750 100644 --- a/src/main/resources/assets/overdrive_that_matters/models/block/cargo_crate_closed.json +++ b/src/main/resources/assets/overdrive_that_matters/models/block/cargo_crate_closed.json @@ -1,8 +1,8 @@ { "parent": "block/block", "textures": { - "texture": "overdrive_that_matters:block/cargo_crate", - "particle": "overdrive_that_matters:block/cargo_crate" + "texture": "overdrive_that_matters:block/cargo_crates/cargo_crate", + "particle": "overdrive_that_matters:block/cargo_crates/cargo_crate" }, "elements": [ { diff --git a/src/main/resources/assets/overdrive_that_matters/models/block/cargo_crate_open.json b/src/main/resources/assets/overdrive_that_matters/models/block/cargo_crate_open.json index 0e908d8c4..1cf744a25 100644 --- a/src/main/resources/assets/overdrive_that_matters/models/block/cargo_crate_open.json +++ b/src/main/resources/assets/overdrive_that_matters/models/block/cargo_crate_open.json @@ -1,8 +1,8 @@ { "parent": "block/block", "textures": { - "texture": "overdrive_that_matters:block/cargo_crate", - "particle": "overdrive_that_matters:block/cargo_crate" + "texture": "overdrive_that_matters:block/cargo_crates/cargo_crate", + "particle": "overdrive_that_matters:block/cargo_crates/cargo_crate" }, "elements": [ { diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/cargo_crates/crago_crate_white.png b/src/main/resources/assets/overdrive_that_matters/textures/block/cargo_crates/cargo_crate_white.png similarity index 100% rename from src/main/resources/assets/overdrive_that_matters/textures/block/cargo_crates/crago_crate_white.png rename to src/main/resources/assets/overdrive_that_matters/textures/block/cargo_crates/cargo_crate_white.png