GTCEuStartupEvents.registry('gtceu:recipe_type', event => {
    event.create('xl_plasma_turbine')
        .category('generator')
        .setEUIO('out')
        .setMaxIOSize(2, 0, 1, 1)
        .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT)
        .setSound(GTSoundEntries.TURBINE)
})





GTCEuStartupEvents.registry('gtceu:machine', event => {
    event.create('xl_plasma_turbine', 'multiblock')
        .rotationState(RotationState.NON_Y_AXIS)
        .generator(true)
        .recipeType('xl_plasma_turbine')
        .noRecipeModifier()
        .appearanceBlock(() => Block.getBlock('kubejs:naquadria_turbine_casing'))
        .pattern(definition => FactoryBlockPattern.start()
            .aisle('#CCC#', '#CCC#', '#CLC#', '#CCC#', '#COC#', '#CCC#', '#CCC#')
            .aisle('CCCCC', 'CTTTC', 'CTTTC', 'CTTTC', 'CTTTC', 'CTTTC', 'CCCCC')
            .aisle('CCCCC', 'CTTTC', 'CTTTC', 'CTTTC', 'CTTTC', 'CTTTC', 'CCYCC')
            .aisle('CCCCC', 'CTTTC', 'CTTTC', 'CTTTC', 'CTTTC', 'CTTTC', 'CCCCC')
            .aisle('#CKC#', '#CCC#', '#CCC#', '#CCC#', '#CCC#', '#CCC#', '#CCC#')
            .where('K', Predicates.controller(Predicates.blocks(definition.get())))
            .where('Y', Predicates.abilities(PartAbility.OUTPUT_ENERGY)
            .or(Predicates.abilities(PartAbility.SUBSTATION_OUTPUT_ENERGY))
            .or(Predicates.abilities(PartAbility.OUTPUT_LASER))
            )
            .where('T', Predicates.blocks('gtceu:naquadah_coil_block'))
            .where('L', Predicates.abilities(PartAbility.MAINTENANCE))
            .where('O', Predicates.abilities(PartAbility.MUFFLER))
            .where("C", Predicates.blocks('kubejs:naquadria_turbine_casing')
            .or(Predicates.abilities(PartAbility.EXPORT_FLUIDS, PartAbility.IMPORT_FLUIDS))
            .or(Predicates.blocks('gtceu:ulv_input_bus'))
            )
            .where('#', Predicates.any())
            .build()
        )
        .workableCasingRenderer("kubejs:block/casings/machine_casing_turbine_naquadria", 'gtceu:block/multiblock/generator/large_plasma_turbine', true)
    })