i-hate-curseforge/kubejs/startup_scripts/multiblocks/chemical_plant.js
2024-12-30 03:38:49 +01:00

35 lines
No EOL
2 KiB
JavaScript

GTCEuStartupEvents.registry('gtceu:recipe_type', event => {
event.create('chemical_plant')
.category('chemical_plant')
.setEUIO('in')
.setMaxIOSize(9, 9, 9, 9)
.setSound(GTSoundEntries.CHEMICAL);
});
GTCEuStartupEvents.registry('gtceu:machine', event => {
event.create('chemical_plant', 'multiblock')
.rotationState(RotationState.NON_Y_AXIS)
.recipeType('chemical_plant')
.recipeModifiers([GTRecipeModifiers.PARALLEL_HATCH, GTRecipeModifiers.ELECTRIC_OVERCLOCK.apply(OverclockingLogic.PERFECT_OVERCLOCK)])
.pattern(definition => FactoryBlockPattern.start()
.aisle('FHHHF', 'TFFFT', 'T T', 'T T', 'T T', 'FFFFF')
.aisle('HFFFH', 'FPPPF', ' FFF ', ' MMM ', ' FFF ', 'FEEEF')
.aisle('HFFFH', 'FP PF', ' F F ', ' M M ', ' F F ', 'FEEEF')
.aisle('HFFFH', 'FPPPF', ' FFF ', ' MMM ', ' FFF ', 'FEEEF')
.aisle('FHHHF', 'TFCFT', 'T T', 'T T', 'T T', 'FFFFF')
.where('C', Predicates.controller(Predicates.blocks(definition.get())))
.where('F', Predicates.blocks('kubejs:peek_casing')
.or(Predicates.autoAbilities(definition.getRecipeTypes()))
.or(Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1))
.or(Predicates.abilities(PartAbility.PARALLEL_HATCH).setMaxGlobalLimited(1)))
.where('E', Predicates.blocks(GTBlocks.CASING_EXTREME_ENGINE_INTAKE.get()))
.where('H', Predicates.blocks(GCyMBlocks.HEAT_VENT.get()))
.where('M', Predicates.blocks(GCyMBlocks.MOLYBDENUM_DISILICIDE_COIL_BLOCK.get()))
.where('P', Predicates.blocks(GTBlocks.CASING_POLYTETRAFLUOROETHYLENE_PIPE.get()))
.where('T', Predicates.blocks('gtceu:tungsten_frame'))
.where(' ', Predicates.any())
.build())
.workableCasingRenderer("kubejs:block/casings/machine_casing_peek",
"gtceu:block/multiblock/large_chemical_reactor", false);
});