From 26cb0c8cba154bc88eb06295416439b59af3a3f5 Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Thu, 4 Jan 2024 15:11:38 +0700 Subject: [PATCH] Implement matter recycler coloring --- .../mc/otm/datagen/advancements/MachineAdvancementsData.kt | 2 +- .../ru/dbotthepony/mc/otm/datagen/blocks/BlockModels.kt | 1 + .../ru/dbotthepony/mc/otm/datagen/blocks/BlockStates.kt | 2 +- .../kotlin/ru/dbotthepony/mc/otm/datagen/items/ItemModels.kt | 2 +- src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/English.kt | 2 +- src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/Russian.kt | 2 +- .../ru/dbotthepony/mc/otm/datagen/loot/LootTablesData.kt | 2 +- .../mc/otm/datagen/recipes/CraftingTableRecipes.kt | 2 +- .../ru/dbotthepony/mc/otm/datagen/recipes/PainterRecipes.kt | 1 + src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/Tags.kt | 2 +- .../ru/dbotthepony/mc/otm/block/matter/MatterRecyclerBlock.kt | 3 ++- .../kotlin/ru/dbotthepony/mc/otm/registry/MBlockEntities.kt | 2 +- src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlocks.kt | 2 +- src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItems.kt | 4 ++-- 14 files changed, 16 insertions(+), 13 deletions(-) diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/advancements/MachineAdvancementsData.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/advancements/MachineAdvancementsData.kt index 46ec8e585..31e91d671 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/advancements/MachineAdvancementsData.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/advancements/MachineAdvancementsData.kt @@ -112,7 +112,7 @@ fun addMachineAdvancements(serializer: Consumer, lang: Matter russianName = "Повар с (не) идеальностями", russianSuffix = "А теперь давайте выпечем немного идеального хлеба") val bottler = CraftEntry(MItems.MATTER_BOTTLER.values, "Transfusing Pure Matter", "For those who loved to play with water in their childhood", russianName = "Переливаем чистую материю", russianSuffix = "Для тех, кто любил играться в воде в детстве") - val recycler = CraftEntry(MItems.MATTER_RECYCLER, "Refine and Redefine", "This is what waste recycling should look like", + val recycler = CraftEntry(MItems.MATTER_RECYCLER.values, "Refine and Redefine", "This is what waste recycling should look like", russianName = "Переработка и перегонка", russianSuffix = "Вот он, пик переработки отходов") val capacitor = CraftEntry(MItems.MATTER_CAPACITOR_BANK.values, "Modular Matter Tank", russianName = "Модульный бак материи") diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockModels.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockModels.kt index 665814ec0..8e2094667 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockModels.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockModels.kt @@ -25,6 +25,7 @@ fun addBlockModels(provider: MatteryBlockModelProvider) { coloredMachineCombined("matter_scanner", listOf("texture", "particle")) coloredMachineCombined("matter_bottler", listOf("texture", "particle")) coloredMachineCombined("matter_decomposer", listOf("texture", "particle")) + coloredMachineCombined("matter_recycler", listOf("0", "particle")) colored("matter_replicator", "_idle", mapOf("1" to "matter_replicator_base", "particle" to "matter_replicator_base", "texture" to "matter_replicator_offline")) colored("matter_replicator", "_error", mapOf("1" to "matter_replicator_base", "particle" to "matter_replicator_base", "texture" to "matter_replicator_halted")) diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockStates.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockStates.kt index 94331ac0b..a380212f6 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockStates.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockStates.kt @@ -105,7 +105,7 @@ fun addBlockStates(provider: MatteryBlockStateProvider) { provider.block(MBlocks.POWERED_SMOKER.values) provider.block(MBlocks.STORAGE_POWER_SUPPLIER) - provider.block(MBlocks.MATTER_RECYCLER) + provider.block(MBlocks.MATTER_RECYCLER.values) provider.block(MBlocks.MATTER_RECONSTRUCTOR.values) provider.block(MBlocks.ENERGY_SERVO) provider.block(MBlocks.COBBLESTONE_GENERATOR.values) diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/items/ItemModels.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/items/ItemModels.kt index 98cf841e3..895a98612 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/items/ItemModels.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/items/ItemModels.kt @@ -184,7 +184,7 @@ fun addItemModels(provider: MatteryItemModelProvider) { provider.coloredWithBaseBlock(MItems.PLATE_PRESS, "plate_press", "_idle") provider.coloredWithBaseBlock(MItems.TWIN_PLATE_PRESS, "twin_plate_press", "_idle") provider.block(MItems.STORAGE_POWER_SUPPLIER, "storage_power_supplier") - provider.block(MItems.MATTER_RECYCLER, "matter_recycler_working") + provider.coloredWithBaseBlock(MItems.MATTER_RECYCLER, "matter_recycler", "_idle") provider.coloredWithBaseBlock(MItems.COBBLESTONE_GENERATOR, "cobblestone_generator") provider.block(MItems.STORAGE_BUS) 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 d53c34646..f13227931 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 @@ -466,7 +466,7 @@ private fun blocks(provider: MatteryLanguageProvider) { addBlock(MBlocks.POWERED_SMOKER.values, "Microwave Oven") add(MBlocks.POWERED_BLAST_FURNACE, "Induction Furnace") - add(MBlocks.MATTER_RECYCLER, "Matter Recycler") + addBlock(MBlocks.MATTER_RECYCLER.values, "Matter Recycler") add(MBlocks.ENERGY_SERVO, "Energy Servo") add(MBlocks.ENERGY_SERVO, "desc", "Charges, Discharges or Exchanges energy of items") diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/Russian.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/Russian.kt index 07b83405e..58c559903 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/Russian.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/Russian.kt @@ -468,7 +468,7 @@ private fun blocks(provider: MatteryLanguageProvider) { add(MBlocks.POWERED_BLAST_FURNACE, "Индукционная печь") addBlock(MBlocks.POWERED_SMOKER.values, "Микроволновая печь") - add(MBlocks.MATTER_RECYCLER, "Перерабатыватель материи") + addBlock(MBlocks.MATTER_RECYCLER.values, "Перерабатыватель материи") add(MBlocks.ENERGY_SERVO, "Энергетическая помпа") add(MBlocks.ENERGY_SERVO, "Desc", "заряжает, разряжает и передаёт энергию между предметами") 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 ecbea7fde..7eb54a6b5 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 @@ -156,7 +156,7 @@ fun addLootTables(lootTables: LootTables) { lootTables.tile(MBlocks.MATTER_DECOMPOSER.values) lootTables.tile(MBlocks.MATTER_REPLICATOR.values) - lootTables.tile(MBlocks.MATTER_RECYCLER) + lootTables.tile(MBlocks.MATTER_RECYCLER.values) lootTables.tile(MBlocks.MATTER_SCANNER.values) lootTables.tile(MBlocks.PLATE_PRESS.values) lootTables.tile(MBlocks.TWIN_PLATE_PRESS.values) 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 a8f4909c8..8cafab477 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 @@ -91,7 +91,7 @@ fun addCraftingTableRecipes(consumer: RecipeOutput) { .build(consumer) // Машины - MatteryRecipe(MItems.MATTER_RECYCLER, category = machinesCategory) + MatteryRecipe(MItems.MATTER_RECYCLER[null]!!, category = machinesCategory) .row(MItems.MATTER_CAPACITOR_PARTS, Items.HOPPER, MItemTags.BASIC_CIRCUIT) .row(MItemTags.TRITANIUM_PLATES, MItems.MACHINE_FRAME, MItemTags.TRITANIUM_PLATES) .row(MItems.MATTER_CABLE, MItems.MATTER_IO_PORT, MItems.MATTER_CABLE) diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/PainterRecipes.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/PainterRecipes.kt index 23780a432..104a30860 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/PainterRecipes.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/PainterRecipes.kt @@ -285,6 +285,7 @@ fun addPainterRecipes(consumer: RecipeOutput) { MItems.BATTERY_BANK, MItems.MATTER_DECOMPOSER, MItems.POWERED_SMOKER, + MItems.MATTER_RECYCLER, ) for (list in blocks) { 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 4efdedf5c..b645b7863 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 @@ -193,7 +193,7 @@ fun addTags(tagsProvider: TagsProvider) { MBlocks.CHEMICAL_GENERATOR, *MBlocks.PLATE_PRESS.values.toTypedArray(), *MBlocks.TWIN_PLATE_PRESS.values.toTypedArray(), - MBlocks.MATTER_RECYCLER, + *MBlocks.MATTER_RECYCLER.values.toTypedArray(), MBlocks.MATTER_ENTANGLER, MBlocks.POWERED_FURNACE, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterRecyclerBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterRecyclerBlock.kt index 13d2bcd0f..c09532a21 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterRecyclerBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterRecyclerBlock.kt @@ -1,6 +1,7 @@ package ru.dbotthepony.mc.otm.block.matter import net.minecraft.core.BlockPos +import net.minecraft.world.item.DyeColor import net.minecraft.world.level.BlockGetter import net.minecraft.world.level.Level import net.minecraft.world.level.block.Block @@ -20,7 +21,7 @@ import ru.dbotthepony.mc.otm.core.get import ru.dbotthepony.mc.otm.registry.MBlockEntities import ru.dbotthepony.mc.otm.shapes.BlockShapes -class MatterRecyclerBlock : RotatableMatteryBlock(DEFAULT_MACHINE_PROPERTIES), EntityBlock { +class MatterRecyclerBlock(val color: DyeColor?) : RotatableMatteryBlock(DEFAULT_MACHINE_PROPERTIES), EntityBlock { override fun newBlockEntity(p_153215_: BlockPos, p_153216_: BlockState): BlockEntity { return MatterRecyclerBlockEntity(p_153215_, p_153216_) } 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 338da079f..b48f4fb1d 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlockEntities.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlockEntities.kt @@ -65,7 +65,7 @@ object MBlockEntities { val PLATE_PRESS by register(MNames.PLATE_PRESS, ::PlatePressBlockEntity, *MBlocks.PLATE_PRESS.asSupplierArray()) val TWIN_PLATE_PRESS by register(MNames.TWIN_PLATE_PRESS, { a, b -> PlatePressBlockEntity(a, b, true) }, *MBlocks.TWIN_PLATE_PRESS.asSupplierArray()) val GRAVITATION_STABILIZER by register(MNames.GRAVITATION_STABILIZER, ::GravitationStabilizerBlockEntity, MBlocks::GRAVITATION_STABILIZER) - val MATTER_RECYCLER by register(MNames.MATTER_RECYCLER, ::MatterRecyclerBlockEntity, MBlocks::MATTER_RECYCLER) + val MATTER_RECYCLER by register(MNames.MATTER_RECYCLER, ::MatterRecyclerBlockEntity, *MBlocks.MATTER_RECYCLER.asSupplierArray()) val ENERGY_SERVO by register(MNames.ENERGY_SERVO, ::EnergyServoBlockEntity, MBlocks::ENERGY_SERVO) val COBBLESTONE_GENERATOR by register(MNames.COBBLESTONE_GENERATOR, ::CobblerBlockEntity, *MBlocks.COBBLESTONE_GENERATOR.asSupplierArray()) val ESSENCE_STORAGE by register(MNames.ESSENCE_STORAGE, ::EssenceStorageBlockEntity, *MBlocks.ESSENCE_STORAGE.asSupplierArray()) 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 85be76b6b..37af11b6f 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlocks.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlocks.kt @@ -115,7 +115,7 @@ object MBlocks { val POWERED_FURNACE: PoweredFurnaceBlock by registry.register(MNames.POWERED_FURNACE) { PoweredFurnaceBlock(MBlockEntities::POWERED_FURNACE, RecipeType.SMELTING, null, MachinesConfig.POWERED_FURNACE, BlockShapes.POWERED_FURNACE) } val POWERED_BLAST_FURNACE: PoweredFurnaceBlock by registry.register(MNames.POWERED_BLAST_FURNACE) { PoweredFurnaceBlock(MBlockEntities::POWERED_BLAST_FURNACE, RecipeType.BLASTING, null, MachinesConfig.POWERED_BLAST_FURNACE, BlockShapes.POWERED_BLAST_FURNACE) } val POWERED_SMOKER = registry.coloredWithBase(MNames.POWERED_SMOKER) { color, _ -> PoweredFurnaceBlock(MBlockEntities::POWERED_SMOKER, RecipeType.SMOKING, MRecipes::MICROWAVE, MachinesConfig.POWERED_SMOKER, BlockShapes.POWERED_SMOKER_IDLE) } - val MATTER_RECYCLER: Block by registry.register(MNames.MATTER_RECYCLER) { MatterRecyclerBlock() } + val MATTER_RECYCLER = registry.coloredWithBase(MNames.MATTER_RECYCLER) { color, _ -> MatterRecyclerBlock(color) } val ENERGY_SERVO: Block by registry.register(MNames.ENERGY_SERVO) { EnergyServoBlock() } val COBBLESTONE_GENERATOR = registry.coloredWithBase(MNames.COBBLESTONE_GENERATOR) { color, _ -> CobblerBlock(color) } val INFINITE_WATER_SOURCE: Block by registry.register(MNames.INFINITE_WATER_SOURCE) { InfiniteWaterSourceBlock() } 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 efffde65a..3bdbdf3ab 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItems.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItems.kt @@ -74,7 +74,7 @@ object MItems { val CHEMICAL_GENERATOR: BlockItem by registry.register(MNames.CHEMICAL_GENERATOR) { BlockItem(MBlocks.CHEMICAL_GENERATOR, DEFAULT_PROPERTIES) } val PLATE_PRESS = registry.coloredWithBase(MNames.PLATE_PRESS) { color, _ -> BlockItem(MBlocks.PLATE_PRESS[color]!!, DEFAULT_PROPERTIES) } val TWIN_PLATE_PRESS = registry.coloredWithBase(MNames.TWIN_PLATE_PRESS) { color, _ -> BlockItem(MBlocks.TWIN_PLATE_PRESS[color]!!, DEFAULT_PROPERTIES) } - val MATTER_RECYCLER: BlockItem by registry.register(MNames.MATTER_RECYCLER) { BlockItem(MBlocks.MATTER_RECYCLER, DEFAULT_PROPERTIES) } + val MATTER_RECYCLER = registry.coloredWithBase(MNames.MATTER_RECYCLER) { color, _ -> BlockItem(MBlocks.MATTER_RECYCLER[color]!!, DEFAULT_PROPERTIES) } val POWERED_FURNACE: BlockItem by registry.register(MNames.POWERED_FURNACE) { BlockItem(MBlocks.POWERED_FURNACE, DEFAULT_PROPERTIES) } val POWERED_BLAST_FURNACE: BlockItem by registry.register(MNames.POWERED_BLAST_FURNACE) { BlockItem(MBlocks.POWERED_BLAST_FURNACE, DEFAULT_PROPERTIES) } @@ -134,7 +134,7 @@ object MItems { machines.addAll(MATTER_REPLICATOR.asSupplierArray().iterator()) machines.addAll(MATTER_BOTTLER.asSupplierArray().iterator()) machines.add(::MATTER_ENTANGLER) - machines.add(::MATTER_RECYCLER) + machines.addAll(MATTER_RECYCLER.asSupplierArray().iterator()) machines.add(::STORAGE_BUS) machines.add(::STORAGE_IMPORTER)