Cargo crate models

This commit is contained in:
DBotThePony 2022-05-15 19:12:32 +07:00
parent d6b6673b20
commit 2a4c3795b5
Signed by: DBot
GPG Key ID: DCC23B5715498507
6 changed files with 71 additions and 10 deletions

View File

@ -9,6 +9,7 @@ import net.minecraft.world.item.ItemStack
import net.minecraft.world.item.crafting.Ingredient import net.minecraft.world.item.crafting.Ingredient
import net.minecraft.world.level.block.Block import net.minecraft.world.level.block.Block
import net.minecraft.world.level.block.IronBarsBlock import net.minecraft.world.level.block.IronBarsBlock
import net.minecraftforge.client.model.generators.ConfiguredModel
import net.minecraftforge.client.model.generators.ModelFile import net.minecraftforge.client.model.generators.ModelFile
import net.minecraftforge.common.Tags import net.minecraftforge.common.Tags
import net.minecraftforge.common.loot.LootTableIdCondition 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.fml.common.Mod
import net.minecraftforge.forge.event.lifecycle.GatherDataEvent import net.minecraftforge.forge.event.lifecycle.GatherDataEvent
import ru.dbotthepony.mc.otm.OverdriveThatMatters 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.MBlocks
import ru.dbotthepony.mc.otm.registry.MItems 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.block.entity.worker.WorkerState
import ru.dbotthepony.mc.otm.data.LootTableBasicAppender import ru.dbotthepony.mc.otm.data.LootTableBasicAppender
import ru.dbotthepony.mc.otm.datagen.blocks.BatteryBankProvider 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.MatteryRecipeProvider
import ru.dbotthepony.mc.otm.datagen.recipes.has import ru.dbotthepony.mc.otm.datagen.recipes.has
import ru.dbotthepony.mc.otm.registry.MItemTags 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) @Mod.EventBusSubscriber(modid = DataGen.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD)
object DataGen { object DataGen {
@ -123,7 +122,6 @@ object DataGen {
event.generator.addProvider(blockModelProvider) event.generator.addProvider(blockModelProvider)
event.generator.addProvider(itemModelProvider) event.generator.addProvider(itemModelProvider)
event.generator.addProvider(blockStateProvider) event.generator.addProvider(blockStateProvider)
event.generator.addProvider(blockStateProvider)
event.generator.addProvider(recipeProvider) event.generator.addProvider(recipeProvider)
event.generator.addProvider(MatterBankProvider(event)) event.generator.addProvider(MatterBankProvider(event))
event.generator.addProvider(BatteryBankProvider(event)) event.generator.addProvider(BatteryBankProvider(event))
@ -142,6 +140,18 @@ object DataGen {
blockModelProvider.resourceCubeAll(MBlocks.TRITANIUM_RAW_BLOCK) blockModelProvider.resourceCubeAll(MBlocks.TRITANIUM_RAW_BLOCK)
blockModelProvider.resourceCubeAll(MBlocks.DEEPSLATE_TRITANIUM_ORE) 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") decorativeColumn(MBlocks.TRITANIUM_STRIPED_BLOCK, "tritanium_striped_block", "tritanium_block")
for ((i, glass) in MBlocks.INDUSTRIAL_GLASS_PANE_LIST.withIndex()) { for ((i, glass) in MBlocks.INDUSTRIAL_GLASS_PANE_LIST.withIndex()) {
@ -198,6 +208,19 @@ object DataGen {
block(MBlocks.STORAGE_POWER_SUPPLIER) block(MBlocks.STORAGE_POWER_SUPPLIER)
block(MBlocks.MATTER_RECYCLER) 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) { with(itemModelProvider) {
@ -250,7 +273,7 @@ object DataGen {
generated(MItems.MATTER_DUST) generated(MItems.MATTER_DUST)
for (item in MItems.CARGO_CRATES) { 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") block(MItems.CHEMICAL_GENERATOR, "chemical_generator_working")

View File

@ -151,6 +151,25 @@ object MBlocks {
{ CARGO_CRATE_BLACK }, { 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_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_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() } val CRATE_YELLOW: Block by registry.register(MRegistry.CRATE_YELLOW.name) { MRegistry.CRATE_YELLOW.makeBlock() }

View File

@ -271,6 +271,25 @@ object MItems {
{ CARGO_CRATE_BLACK }, { 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_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 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) } val CARBON_FIBRE_BLOCK: Item by registry.register(MNames.CARBON_FIBRE_BLOCK) { BlockItem(MBlocks.CARBON_FIBRE_BLOCK, DEFAULT_PROPERTIES) }

View File

@ -1,8 +1,8 @@
{ {
"parent": "block/block", "parent": "block/block",
"textures": { "textures": {
"texture": "overdrive_that_matters:block/cargo_crate", "texture": "overdrive_that_matters:block/cargo_crates/cargo_crate",
"particle": "overdrive_that_matters:block/cargo_crate" "particle": "overdrive_that_matters:block/cargo_crates/cargo_crate"
}, },
"elements": [ "elements": [
{ {

View File

@ -1,8 +1,8 @@
{ {
"parent": "block/block", "parent": "block/block",
"textures": { "textures": {
"texture": "overdrive_that_matters:block/cargo_crate", "texture": "overdrive_that_matters:block/cargo_crates/cargo_crate",
"particle": "overdrive_that_matters:block/cargo_crate" "particle": "overdrive_that_matters:block/cargo_crates/cargo_crate"
}, },
"elements": [ "elements": [
{ {