157 lines
8.0 KiB
JavaScript
157 lines
8.0 KiB
JavaScript
Ponder.registry((event) => {
|
|
event.create([
|
|
'biggerreactors:reactor_power_tap',
|
|
'biggerreactors:reactor_glass',
|
|
'biggerreactors:reactor_casing',
|
|
//'biggerreactors:reactor_manifold',
|
|
//'biggerreactors:reactor_redstone_port',
|
|
//'biggerreactors:reactor_computer_port',
|
|
//'biggerreactors:reactor_coolant_port',
|
|
'biggerreactors:reactor_access_port',
|
|
'biggerreactors:reactor_terminal',
|
|
'biggerreactors:reactor_control_rod',
|
|
'biggerreactors:reactor_fuel_rod'])
|
|
.scene('bir_1', 'Building a Bigger Reactor', 'kubejs:reactor', (scene, util) => {
|
|
scene.world.showSection([4, 0, 4], Facing.down)
|
|
scene.idle(5)
|
|
|
|
scene.overlay.showText(40).text("The edges must be").independent(20)
|
|
scene.overlay.showText(40).text("reactor casing").independent(36);
|
|
[1, 2, 3, 4].forEach(num => {
|
|
scene.world.showSection([4, num, 4], Facing.down);
|
|
scene.world.showSection([4, 0, 4 - num], Facing.down);
|
|
scene.world.showSection([4 - num, 0, 4], Facing.down);
|
|
scene.idle(5)
|
|
});
|
|
|
|
[1, 2, 3].forEach(num => {
|
|
scene.world.showSection([4, 4, 4 - num], Facing.down);
|
|
scene.world.showSection([4 - num, 4, 4], Facing.down);
|
|
scene.world.showSection([0, 0, 4 - num], Facing.down);
|
|
scene.world.showSection([4 - num, 0, 0], Facing.down);
|
|
scene.world.showSection([0, num, 4], Facing.down);
|
|
scene.world.showSection([4, num, 0], Facing.down);
|
|
scene.idle(5)
|
|
})
|
|
scene.world.showSection([4, 4, 0], Facing.down);
|
|
scene.world.showSection([0, 4, 4], Facing.down);
|
|
scene.world.showSection([0, 0, 0], Facing.down);
|
|
scene.idle(5);
|
|
[1, 2, 3].forEach(num => {
|
|
scene.world.showSection([0, num, 0], Facing.down);
|
|
scene.world.showSection([0, 4, 4 - num], Facing.down);
|
|
scene.world.showSection([4 - num, 4, 0], Facing.down);
|
|
scene.idle(5)
|
|
})
|
|
scene.world.showSection([0, 4, 0], Facing.down);
|
|
scene.idle(5)
|
|
|
|
scene.addKeyframe()
|
|
|
|
scene.overlay.showText(35).text("The walls can be").independent(20)
|
|
scene.overlay.showText(35).text("reactor casing").independent(36)
|
|
scene.overlay.showText(35).text("or reactor glass").independent(52)
|
|
//top glass
|
|
scene.world.showSection([1, 4, 1, 3, 4, 3], Facing.down);
|
|
scene.idle(5)
|
|
|
|
// bottom glass
|
|
scene.world.showSection([1, 0, 1, 3, 0, 3], Facing.up);
|
|
scene.idle(5)
|
|
|
|
// north glass
|
|
scene.world.showSection([1, 1, 0, 3, 3, 0], Facing.south);
|
|
scene.idle(5)
|
|
|
|
// south glass
|
|
scene.world.showSection([1, 1, 4, 3, 3, 4], Facing.north);
|
|
scene.idle(5)
|
|
|
|
// west glass
|
|
scene.world.showSection([0, 1, 1, 0, 3, 3], Facing.east);
|
|
scene.idle(5)
|
|
|
|
// east glass
|
|
scene.world.showSection([4, 1, 1, 4, 3, 3], Facing.west);
|
|
scene.idle(20)
|
|
|
|
scene.addKeyframe()
|
|
|
|
scene.overlay.showText(40).text("Fuel rods run floor").independent(20)
|
|
scene.overlay.showText(40).text("to ceiling in a stack").independent(36)
|
|
scene.idle(10)
|
|
scene.world.hideSection([0, 1, 0, 3, 4, 3], Facing.up)
|
|
scene.idle(15)
|
|
scene.world.setBlock([2, 1, 2], 'biggerreactors:reactor_fuel_rod', false)
|
|
scene.world.showSection([2, 1, 2], Facing.down)
|
|
scene.idle(10)
|
|
scene.world.setBlock([2, 2, 2], 'biggerreactors:reactor_fuel_rod', false)
|
|
scene.world.showSection([2, 2, 2], Facing.down)
|
|
scene.idle(10)
|
|
scene.world.setBlock([2, 3, 2], 'biggerreactors:reactor_fuel_rod', false)
|
|
scene.world.showSection([2, 3, 2], Facing.down)
|
|
scene.idle(20)
|
|
scene.world.showSection([0, 1, 0, 3, 4, 3], Facing.down)
|
|
scene.idle(10)
|
|
scene.overlay.showText(35).text("A control rod sits atop the fuel").independent(20)
|
|
scene.overlay.showText(35).text("rod stack in the top wall").independent(36)
|
|
scene.idle(15)
|
|
scene.world.setBlock([2, 4, 2], 'minecraft:air', true)
|
|
scene.world.modifyBlock([1, 4, 2], (curState) => curState.with("east_connected", false), false);
|
|
scene.world.modifyBlock([2, 4, 1], (curState) => curState.with("south_connected", false), false);
|
|
scene.world.modifyBlock([3, 4, 2], (curState) => curState.with("west_connected", false), false);
|
|
scene.world.modifyBlock([2, 4, 3], (curState) => curState.with("north_connected", false), false);
|
|
scene.idle(10)
|
|
scene.world.setBlock([2, 4, 2], 'biggerreactors:reactor_control_rod', false)
|
|
scene.idle(20)
|
|
|
|
scene.addKeyframe()
|
|
|
|
scene.overlay.showText(35).text("A terminal needs to").independent(20)
|
|
scene.overlay.showText(35).text("be included in a wall").independent(36)
|
|
scene.idle(10)
|
|
scene.world.setBlock([3, 1, 0], 'minecraft:air', true)
|
|
scene.world.modifyBlock([2, 1, 0], (curState) => curState.with("east_connected", false), false);
|
|
scene.world.modifyBlock([3, 2, 0], (curState) => curState.with("bottom_connected", false), false);
|
|
scene.idle(10)
|
|
scene.world.setBlock([3, 1, 0], 'biggerreactors:reactor_terminal', false)
|
|
scene.idle(20)
|
|
|
|
scene.addKeyframe()
|
|
|
|
scene.overlay.showText(35).text("A power tap is used").independent(20)
|
|
scene.overlay.showText(35).text("in a wall to get power").independent(36)
|
|
scene.overlay.showText(35).text("out of the reactor").independent(52)
|
|
scene.idle(15)
|
|
scene.world.setBlock([1, 1, 0], 'minecraft:air', true)
|
|
scene.world.modifyBlock([2, 1, 0], (curState) => curState.with("west_connected", false), false);
|
|
scene.world.modifyBlock([1, 2, 0], (curState) => curState.with("bottom_connected", false), false);
|
|
scene.idle(10)
|
|
scene.world.setBlock([1, 1, 0], 'biggerreactors:reactor_power_tap', false)
|
|
scene.idle(20)
|
|
|
|
scene.addKeyframe()
|
|
|
|
scene.overlay.showText(40).text("Access ports allow for").independent(20)
|
|
scene.overlay.showText(40).text("insertion of uranium").independent(36)
|
|
scene.overlay.showText(40).text("and removal of cyanite").independent(52)
|
|
scene.idle(15)
|
|
scene.world.setBlock([0, 1, 1], 'minecraft:air', true)
|
|
scene.world.setBlock([0, 1, 3], 'minecraft:air', true)
|
|
scene.world.modifyBlock([0, 1, 2], (curState) => curState.with("north_connected", false).with("south_connected", false), false);
|
|
scene.world.modifyBlock([0, 2, 1], (curState) => curState.with("bottom_connected", false), false);
|
|
scene.world.modifyBlock([0, 2, 3], (curState) => curState.with("bottom_connected", false), false);
|
|
scene.idle(10)
|
|
scene.world.setBlock([0, 1, 1], Block.id('biggerreactors:reactor_access_port', { 'portdirection': 'inlet' }), true)
|
|
scene.world.setBlock([0, 1, 3], Block.id('biggerreactors:reactor_access_port', { 'portdirection': 'outlet' }), true)
|
|
scene.idle(20)
|
|
|
|
scene.addKeyframe()
|
|
|
|
let outerWall = util.select.fromTo(0, 0, 0, 4, 4, 4).substract(util.select.fromTo(1, 1, 1, 3, 3, 3))
|
|
scene.world.modifyBlocks(outerWall, (curState) => curState.with('assembled', true), false)
|
|
scene.world.modifyBlock([0, 1, 3], () => Block.id('biggerreactors:reactor_access_port', { 'portdirection': 'outlet' }), false)
|
|
scene.world.modifyBlocks([1, 0, 1, 3, 0, 3], () => Block.id('biggerreactors:reactor_casing', { 'assembled': true, 'x_axis': 'middle', 'z_axis': 'middle', 'y_axis': 'lower' }), false)
|
|
scene.idle(20)
|
|
})
|
|
}) |