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

42 lines
No EOL
4.1 KiB
JavaScript

GTCEuStartupEvents.registry('gtceu:recipe_type', event => {
event.create('super_pressure_heat_chamber')
.category('super_pressure_heat_chamber')
.setEUIO('in')
.setMaxIOSize(4, 4, 4, 4)
.setSound(GTSoundEntries.ARC);
});
GTCEuStartupEvents.registry('gtceu:machine', event => {
event.create('super_pressure_heat_chamber', 'multiblock')
.rotationState(RotationState.NON_Y_AXIS)
.recipeType('super_pressure_heat_chamber')
.recipeModifiers([GTRecipeModifiers.PARALLEL_HATCH, GTRecipeModifiers.ELECTRIC_OVERCLOCK.apply(OverclockingLogic.PERFECT_OVERCLOCK)])
.appearanceBlock(GCyMBlocks.CASING_STRESS_PROOF)
.pattern(definition => FactoryBlockPattern.start()
.aisle('HHH SSS HHH', ' S ', ' SSS ', ' SSS ', ' S S S ', ' SS SSS SS ', 'SSSSSSSSSSS', ' SS SSS SS ', ' S S S ', ' SSS ', ' SSS ', ' S ', 'HHH SSS HHH')
.aisle('HSH HSH HSH', ' T T ', ' T T ', ' T T ', ' T G T ', 'ST GGG TS', 'STS GGG STS', 'ST GGG TS', ' T G T ', ' T T ', ' T T ', ' T T ', 'HSH HSH HSH')
.aisle('HHSHSSSHSHH', ' ', ' ', ' GGGGG ', ' GG GG ', 'S G G S', 'SSSG T GSSS', 'S G G S', ' GG GG ', ' GGGGG ', ' ', ' ', 'HHSHSSSHSHH')
.aisle(' HSHSHSH ', ' FFFFF ', ' GGGGG ', ' GT TG ', 'S G G S', ' G G ', 'S GT T TG S', ' G G ', 'S G G S', ' GT TG ', ' GGGGG ', ' FFFFF ', ' HSHEHSH ')
.aisle('SHSHHSHHSHS', ' FFFFF ', 'S GGGGG S', 'S G T T G S', ' G G ', 'SG GS', 'SG TTT GS', 'SG GS', ' G G ', 'S G T T G S', 'S GGGGG S', ' FFFFF ', 'SHSHHEHHSHS')
.aisle('SSSSSSSSSSS', 'S FFFFF S', 'S GGGGG S', 'S G T G S', 'SG T GS', 'SG T GS', 'SGTTTTTTTGS', 'SG T GS', 'SG T GS', 'S G T G S', 'S GGGGG S', 'S FFFFF S', 'SSSEEEEESSS')
.aisle('SHSHHSHHSHS', ' FFFFF ', 'S GGGGG S', 'S G T T G S', ' G G ', 'SG GS', 'SG TTT GS', 'SG GS', ' G G ', 'S G T T G S', 'S GGGGG S', ' FFFFF ', 'SHSHHEHHSHS')
.aisle(' HSHSHSH ', ' FFFFF ', ' GGGGG ', ' GT TG ', 'S G G S', ' G G ', 'S GT T TG S', ' G G ', 'S G G S', ' GT TG ', ' GGGGG ', ' FFFFF ', ' HSHEHSH ')
.aisle('HHSHSSSHSHH', ' ', ' ', ' GGGGG ', ' GG GG ', 'S G G S', 'SSSG T GSSS', 'S G G S', ' GG GG ', ' GGGGG ', ' ', ' ', 'HHSHSSSHSHH')
.aisle('HSH HSH HSH', ' T T ', ' T T ', ' T T ', ' T G T ', 'ST GGG TS', 'STS GGG STS', 'ST GGG TS', ' T G T ', ' T T ', ' T T ', ' T T ', 'HSH HSH HSH')
.aisle('HHH SSS HHH', ' S ', ' SSS ', ' SSS ', ' S S S ', ' SS SSS SS ', 'SSSSSCSSSSS', ' SS SSS SS ', ' S S S ', ' SSS ', ' SSS ', ' S ', 'HHH SSS HHH')
.where('C', Predicates.controller(Predicates.blocks(definition.get())))
.where('S', Predicates.blocks(GCyMBlocks.CASING_STRESS_PROOF.get())
.or(Predicates.autoAbilities(definition.getRecipeTypes()))
.or(Predicates.abilities(PartAbility.PARALLEL_HATCH).setMaxGlobalLimited(1))
.or(Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1)))
.where('T', Predicates.blocks('gtceu:stellarium_frame'))
.where('G', Predicates.blocks('kubejs:signalum_casing'))
.where('F', Predicates.blocks(GTBlocks.FIREBOX_TUNGSTENSTEEL.get()))
.where('E', Predicates.blocks(GTBlocks.CASING_EXTREME_ENGINE_INTAKE.get()))
.where('H', Predicates.blocks(GCyMBlocks.CASING_HIGH_TEMPERATURE_SMELTING.get()))
.where(' ', Predicates.any())
.build())
.workableCasingRenderer("gtceu:block/casings/gcym/stress_proof_casing",
"gtceu:block/multiblock/implosion_compressor", false);
});