Implement matter recycler coloring

This commit is contained in:
DBotThePony 2024-01-04 15:11:38 +07:00
parent ce8c257928
commit 26cb0c8cba
Signed by: DBot
GPG Key ID: DCC23B5715498507
14 changed files with 16 additions and 13 deletions

View File

@ -112,7 +112,7 @@ fun addMachineAdvancements(serializer: Consumer<AdvancementHolder>, 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 = "Модульный бак материи")

View File

@ -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"))

View File

@ -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)

View File

@ -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)

View File

@ -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")

View File

@ -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", "заряжает, разряжает и передаёт энергию между предметами")

View File

@ -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)

View File

@ -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)

View File

@ -285,6 +285,7 @@ fun addPainterRecipes(consumer: RecipeOutput) {
MItems.BATTERY_BANK,
MItems.MATTER_DECOMPOSER,
MItems.POWERED_SMOKER,
MItems.MATTER_RECYCLER,
)
for (list in blocks) {

View File

@ -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,

View File

@ -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_)
}

View File

@ -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())

View File

@ -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() }

View File

@ -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)