2024-03-20 20:29:50 +01:00

53 lines
3.2 KiB
JavaScript

GTCEuStartupEvents.registry('gtceu:machine', event => {
event.create('advanced_large_chemical_reactor', 'multiblock')
.rotationState(RotationState.NON_Y_AXIS)
.appearanceBlock(GTBlocks.CASING_PTFE_INERT)
.recipeTypes('large_chemical_reactor')
.recipeModifier(GTRecipeModifiers.PARALLEL_HATCH.apply(OverclockingLogic.PERFECT_OVERCLOCK, GTRecipeModifiers.ELECTRIC_OVERCLOCK))
.pattern(definition => FactoryBlockPattern.start()
.aisle('c c', 'ccccc', 'c c', 'ccccc', 'c c')
.aisle('ccccc', 'cpppc', 'cwwwc', 'cpppc', 'ccccc')
.aisle('c c', 'cwwwc', 'cpppc', 'cwwwc', 'c c')
.aisle('ccccc', 'cpppc', 'cwwwc', 'cpppc', 'ccccc')
.aisle('c c', 'kcccc', 'c c', 'ccccc', 'c c')
.where('k', Predicates.controller(Predicates.blocks(definition.get())))
.where('w', Predicates.blocks(GTBlocks.COIL_RTMALLOY.get())
.or(Predicates.blocks(GTBlocks.CASING_POLYTETRAFLUOROETHYLENE_PIPE.get()))
)
.where('p', Predicates.blocks(GTBlocks.CASING_POLYTETRAFLUOROETHYLENE_PIPE.get())
.or(Predicates.blocks(GTBlocks.COIL_RTMALLOY.get()))
)
.where(' ', Predicates.any())
.where('c', Predicates.blocks(GTBlocks.CASING_PTFE_INERT.get())
.or(Predicates.autoAbilities(definition.getRecipeTypes()))
.or(Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1))
.or(Predicates.abilities(PartAbility.PARALLEL_HATCH).setMaxGlobalLimited(1))
)
.build())
.shapeInfo(controller => MultiblockShapeInfo.builder()
.aisle('e e', 'ccccc', 'c c', 'ccccc', 'c c')
.aisle('ccccc', 'fpppc', 'cwwwc', 'fpppc', 'ccccc')
.aisle('c c', 'cwwwc', 'cpppi', 'cwwwc', 'c c')
.aisle('ccccc', 'fpppc', 'cwwwc', 'fpppc', 'ccccc')
.aisle('c c', 'kcPcm', 'c c', 'cIcFc', 'c c')
.where('k', controller, Direction.SOUTH)
.where('c', GTBlocks.CASING_PTFE_INERT.get())
.where('w', GTBlocks.COIL_RTMALLOY.get())
.where('p', GTBlocks.CASING_POLYTETRAFLUOROETHYLENE_PIPE.get())
.where(' ', Block.getBlock('minecraft:air'))
.where('e', GTMachines.ENERGY_INPUT_HATCH[5], Direction.NORTH)
["where(char,net.minecraft.world.level.block.state.BlockState)"]('m',
Block.getBlock('gtceu:maintenance_hatch').defaultBlockState().setValue(BlockProperties.FACING, Direction.SOUTH))
["where(char,net.minecraft.world.level.block.state.BlockState)"]('P',
Block.getBlock('gtceu:iv_parallel_hatch').defaultBlockState().setValue(BlockProperties.FACING, Direction.SOUTH))
.where('f', GTMachines.FLUID_IMPORT_HATCH[5], Direction.WEST)
.where('i', GTMachines.ITEM_IMPORT_BUS[5], Direction.EAST)
.where('F', GTMachines.FLUID_EXPORT_HATCH[5], Direction.SOUTH)
.where('I', GTMachines.ITEM_EXPORT_BUS[5], Direction.SOUTH)
.build())
.workableCasingRenderer(
"gtceu:block/casings/solid/machine_casing_inert_ptfe",
"gtceu:block/multiblock/large_chemical_reactor",
false
)
})