/*
██╗  ██╗ █████╗ ██╗   ██╗███████╗███╗   ██╗    ███╗   ███╗ ██████╗ ██████╗ ██████╗  █████╗  ██████╗██╗  ██╗███████╗
██║  ██║██╔══██╗██║   ██║██╔════╝████╗  ██║    ████╗ ████║██╔═══██╗██╔══██╗██╔══██╗██╔══██╗██╔════╝██║ ██╔╝██╔════╝
███████║███████║██║   ██║█████╗  ██╔██╗ ██║    ██╔████╔██║██║   ██║██║  ██║██████╔╝███████║██║     █████╔╝ ███████╗
██╔══██║██╔══██║╚██╗ ██╔╝██╔══╝  ██║╚██╗██║    ██║╚██╔╝██║██║   ██║██║  ██║██╔═══╝ ██╔══██║██║     ██╔═██╗ ╚════██║
██║  ██║██║  ██║ ╚████╔╝ ███████╗██║ ╚████║    ██║ ╚═╝ ██║╚██████╔╝██████╔╝██║     ██║  ██║╚██████╗██║  ██╗███████║
╚═╝  ╚═╝╚═╝  ╚═╝  ╚═══╝  ╚══════╝╚═╝  ╚═══╝    ╚═╝     ╚═╝ ╚═════╝ ╚═════╝ ╚═╝     ╚═╝  ╚═╝ ╚═════╝╚═╝  ╚═╝╚══════╝
*/
Ponder.registry((event) => {
    event.create('mekanismgenerators:fission_reactor_port')
        .scene('mekanism_fission_logic', 'Configuring Fission Reactor Ports', 'kubejs:mekanism_fission_logic', (scene, util) => {
            scene.showStructure();
            scene.idle(25);

            scene.world.setBlock([0, 1, 1], 'mekanismgenerators:fission_reactor_port', true);
            scene.world.setBlock([0, 1, 3], 'mekanismgenerators:fission_reactor_port', true);
            scene.world.modifyBlock([0, 1, 1], (curState) => curState.with("mode", "output_waste"), false);
            scene.world.modifyBlock([0, 1, 3], (curState) => curState.with("mode", "output_coolant"), false);

            scene.overlay.showText(65).text("A Fission Reactor needs at least 4 ports.").placeNearTarget().attachKeyFrame();
            scene.idle(85);

            scene.overlay.showText(65).text("Ports can be reconfigured using a Configurator.").placeNearTarget().attachKeyFrame();
            scene.showControls(65, [0.5, 2, 3.5], 'down').rightClick().withItem('mekanism:configurator').whileSneaking();
            scene.idle(85);

            scene.overlay.showText(165).text("Necessary Ports:").placeNearTarget().attachKeyFrame();

            scene.overlay.showText(45).text("Input Coolant").placeNearTarget();
            scene.idle(45);
            scene.overlay.showText(45).text("Input Fuel").placeNearTarget();
            scene.idle(45);
            scene.overlay.showText(45).text("Output Waste").placeNearTarget();
            scene.idle(45);
            scene.overlay.showText(45).text("Output Heated Coolant").placeNearTarget();
            scene.idle(45);
            scene.addKeyframe();
            scene.idle(15);
        });
});
