Version 1.0.21b
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,121 @@
|
||||
Ponder.registry((event) => {
|
||||
event.create('mekanismgenerators:fission_reactor_casing')
|
||||
.scene('fission_mek','Mekanism Fission Reactor', 'kubejs:fission_mek',
|
||||
|
||||
(scene, util) => {
|
||||
|
||||
|
||||
scene.world.showSection([4, 0, 4], Facing.down);
|
||||
scene.idle(5);
|
||||
|
||||
|
||||
[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.text(80, 'The Edges Must Be Casings', [0, 4.5, 4.5]).placeNearTarget();
|
||||
|
||||
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.addKeyframe();
|
||||
scene.idle(80);
|
||||
|
||||
|
||||
//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)
|
||||
|
||||
scene.text(80, 'The Walls Can Be Either Casings Or Glass', [0, 2.5, 2.5]).placeNearTarget();
|
||||
|
||||
// east glass
|
||||
scene.world.showSection([4, 1, 1, 4, 3, 3], Facing.west);
|
||||
scene.addKeyframe();
|
||||
scene.idle(80);
|
||||
|
||||
scene.world.hideSection([0, 1, 0, 3, 4, 0], Facing.up)
|
||||
scene.world.hideSection([0, 1, 0, 0, 4, 3], Facing.up)
|
||||
scene.world.hideSection([1, 4, 1, 3, 4, 3], Facing.up)
|
||||
scene.idle(10);
|
||||
|
||||
scene.text(60, 'Place Fuel Assembly Blocks Inside To Make The Fuel Rods', [2.5, 2.5, 2.5]).placeNearTarget();
|
||||
scene.world.setBlock([2, 1, 2], 'mekanismgenerators:fission_fuel_assembly', false);
|
||||
scene.world.showSection([2, 1, 2], Facing.down)
|
||||
scene.idle(10)
|
||||
scene.world.setBlock([2, 2, 2], 'mekanismgenerators:fission_fuel_assembly', false);
|
||||
scene.world.showSection([2, 2, 2], Facing.down)
|
||||
scene.idle(10)
|
||||
scene.addKeyframe();
|
||||
scene.idle(40);
|
||||
|
||||
scene.world.setBlock([2, 3, 2], 'mekanismgenerators:control_rod_assembly', false);
|
||||
scene.world.showSection([2, 3, 2], Facing.down)
|
||||
scene.idle(10)
|
||||
scene.text(60, 'Place Control Rod Assembly At The Top Of Each Fuel Rod', [2.5, 3.5, 2.5]).placeNearTarget();
|
||||
scene.idle(20);
|
||||
scene.addKeyframe();
|
||||
scene.idle(60);
|
||||
|
||||
scene.world.showSection([0, 1, 0, 3, 4, 0], Facing.up)
|
||||
scene.world.showSection([0, 1, 0, 0, 4, 3], Facing.up)
|
||||
scene.world.showSection([1, 4, 1, 3, 4, 3], Facing.up)
|
||||
|
||||
scene.addKeyframe();
|
||||
scene.idle(40);
|
||||
|
||||
//scene.world.modifyTileNBT([0,0,0, 4, 4, 4], (nbt) => { nbt.activeState = "fissionReactor" });
|
||||
|
||||
//scene
|
||||
// .showControls(40, [1.5, 3, 1.5], 'down')
|
||||
// .rightClick()
|
||||
// .withItem('comparator');
|
||||
//scene
|
||||
// .text(40, 'Right Click With Comparator For Redstone Control', [1, 1.5, 2])
|
||||
// .placeNearTarget()
|
||||
// .attachKeyFrame();
|
||||
|
||||
//scene.idle(40);
|
||||
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,75 @@
|
||||
Ponder.registry((event) => {
|
||||
event.create([
|
||||
'mekanismgenerators:fission_fuel_assembly',
|
||||
'mekanismgenerators:control_rod_assembly'
|
||||
])
|
||||
.scene('fission_mek_fuelrod','Mekanism Fission Reactor: Fuel Assembly', 'kubejs:fission_mek',
|
||||
|
||||
(scene, util) => {
|
||||
|
||||
|
||||
scene.world.showSection([0, 0, 0, 4, 4, 4], Facing.down);
|
||||
scene.idle(20);
|
||||
scene.world.hideSection([0, 1, 0, 3, 4, 3], Facing.up);
|
||||
scene.idle(20);
|
||||
|
||||
scene.text(80, 'Place Fuel Assembly Blocks Inside To Make The Fuel Rods', [2.5, 2.5, 2.5]).placeNearTarget().attachKeyFrame();
|
||||
scene.world.setBlock([2, 1, 2], 'mekanismgenerators:fission_fuel_assembly', true);
|
||||
scene.world.showSection([2, 1, 2], Facing.down)
|
||||
scene.idle(10);
|
||||
scene.world.setBlock([2, 2, 2], 'mekanismgenerators:fission_fuel_assembly', true);
|
||||
scene.world.showSection([2, 2, 2], Facing.down)
|
||||
scene.idle(80);
|
||||
|
||||
scene.text(120, 'Fuel Rods are created with several Fission Fuel Assembly blocks with a Control Rod Assembly on top.', [1.5, 2.5, 2.5]).placeNearTarget();
|
||||
scene.idle(40);
|
||||
scene.addKeyframe();
|
||||
scene.world.setBlock([2, 3, 2], 'mekanismgenerators:control_rod_assembly', true);
|
||||
scene.world.showSection([2, 3, 2], Facing.down)
|
||||
scene.idle(80);
|
||||
|
||||
scene.text(80, 'Place Control Rod Assembly At The Top Of Each Fuel Rod', [1.5, 3.5, 2.5]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(90);
|
||||
|
||||
scene.text(80, 'Control Rod Assembly blocks are placed 1 block from the ceiling.', [1.5, 3.5, 2.5]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(90);
|
||||
|
||||
scene.text(60, 'Fuel Rods Cannot Touch', [1.5, 1.5, 2.5]).placeNearTarget().attachKeyFrame();
|
||||
scene.world.setBlock([1, 1, 2], 'mekanismgenerators:fission_fuel_assembly', true);
|
||||
scene.world.setBlock([3, 1, 2], 'mekanismgenerators:fission_fuel_assembly', true);
|
||||
scene.world.showSection([1, 1, 2], Facing.down)
|
||||
scene.world.showSection([3, 1, 2], Facing.down)
|
||||
scene.idle(60)
|
||||
scene.world.setBlock([1, 1, 2], 'air', true);
|
||||
scene.world.setBlock([3, 1, 2], 'air', true);
|
||||
scene.idle(40);
|
||||
|
||||
scene.world.hideSection([1, 1, 1, 3, 3, 3], Facing.up);
|
||||
scene.idle(40);
|
||||
scene.world.setBlock([1, 1, 1], 'mekanismgenerators:fission_fuel_assembly', true);
|
||||
scene.world.setBlock([1, 2, 1], 'mekanismgenerators:fission_fuel_assembly', true);
|
||||
scene.world.setBlock([1, 3, 1], 'mekanismgenerators:control_rod_assembly', true);
|
||||
scene.world.setBlock([1, 1, 3], 'mekanismgenerators:fission_fuel_assembly', true);
|
||||
scene.world.setBlock([1, 2, 3], 'mekanismgenerators:fission_fuel_assembly', true);
|
||||
scene.world.setBlock([1, 3, 3], 'mekanismgenerators:control_rod_assembly', true);
|
||||
scene.world.setBlock([3, 1, 1], 'mekanismgenerators:fission_fuel_assembly', true);
|
||||
scene.world.setBlock([3, 2, 1], 'mekanismgenerators:fission_fuel_assembly', true);
|
||||
scene.world.setBlock([3, 3, 1], 'mekanismgenerators:control_rod_assembly', true);
|
||||
scene.world.setBlock([3, 1, 3], 'mekanismgenerators:fission_fuel_assembly', true);
|
||||
scene.world.setBlock([3, 2, 3], 'mekanismgenerators:fission_fuel_assembly', true);
|
||||
scene.world.setBlock([3, 3, 3], 'mekanismgenerators:control_rod_assembly', true);
|
||||
scene.world.showSection([1, 1, 1, 3, 3, 3], Facing.down);
|
||||
|
||||
scene.text(80, 'Multiple Fuel Rods work best in a checkerboard pattern.', [1.5, 1.5, 2.5]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(100);
|
||||
|
||||
scene.world.showSection([0, 1, 0, 3, 4, 0], Facing.down)
|
||||
scene.idle(5);
|
||||
scene.world.showSection([0, 1, 1, 0, 4, 3], Facing.down)
|
||||
scene.idle(5);
|
||||
scene.world.showSection([1, 4, 1, 3, 4, 3], Facing.down);
|
||||
scene.idle(20);
|
||||
|
||||
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,66 @@
|
||||
Ponder.registry((event) => {
|
||||
event.create('mekanismgenerators:fission_reactor_logic_adapter')
|
||||
.scene('fission_mek_logic','Mekanism Fission Reactor: Logic Adapters', 'kubejs:fission_logic_example',
|
||||
|
||||
(scene, util) => {
|
||||
|
||||
|
||||
scene.world.showSection([0, 0, 2, 4, 4, 6], Facing.down);
|
||||
scene.world.setBlock([2, 3, 2], 'mekanismgenerators:reactor_glass', false);
|
||||
scene.idle(20);
|
||||
|
||||
scene.text(60, 'Logic Adapters allow Redstone Control for Reactors.', [2.5, 1.5, 2]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(80)
|
||||
|
||||
|
||||
scene.text(60, 'Right Click to Open Configuration Settings', [2.5, 1.5, 2]).placeNearTarget().attachKeyFrame();
|
||||
scene.showControls(60, [2.5, 2.5, 2], 'down').rightClick();
|
||||
scene.idle(70);
|
||||
|
||||
|
||||
scene.text(80, 'With two, you can set up a Fail Safe that can shut off the Reactor under certain conditions.', [2.5, 3.5, 2]).placeNearTarget().attachKeyFrame();
|
||||
scene.world.setBlock([2, 3, 2], 'mekanismgenerators:fission_reactor_logic_adapter', true);
|
||||
scene.idle(90);
|
||||
|
||||
scene.text(60, 'Set this one to Activation', [2.5, 3.5, 2]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(60);
|
||||
scene.text(60, 'Set this one to Damage Critical.', [2.5, 1.5, 2]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(70);
|
||||
|
||||
scene.world.showSection([2, 0, 0], Facing.down);
|
||||
scene.idle(5);
|
||||
scene.world.showSection([2, 0, 1], Facing.down);
|
||||
scene.idle(5);
|
||||
scene.world.showSection([2, 1, 1], Facing.down);
|
||||
scene.idle(5);
|
||||
|
||||
scene.text(60, 'When the Reactor has Critical Damage, it will give off a redstone signal.', [2.5, 1.5, 2]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(10);
|
||||
scene.idle(60);
|
||||
|
||||
scene.world.setBlock([2, 2, 0], 'minecraft:gravel', false);
|
||||
//scene.world.modifyBlock([2, 3, 1], () => Block.id("minecraft:observer").with("facing", "north"), false);
|
||||
scene.world.showSection([2, 1, 0, 2, 3, 0], Facing.down);
|
||||
scene.world.showSection([2, 3, 1], Facing.down);
|
||||
scene.idle(20);
|
||||
|
||||
scene.text(80, 'We can use this to activate a piston with gravel or sand on it to activate an Observer.', [2.5, 1.5, 1]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(5);
|
||||
|
||||
scene.world.modifyBlock([2, 1, 1], (curState) => curState.with("power", "15"), false);
|
||||
scene.world.modifyBlock([2, 1, 0], (curState) => curState.with("extended", "true"), false);
|
||||
scene.world.setBlock([2, 3, 0], 'minecraft:gravel', false);
|
||||
scene.world.setBlock([2, 2, 0], 'minecraft:piston_head', false);
|
||||
scene.world.modifyBlock([2, 2, 0], (curState) => curState.with("facing", "up"), false);
|
||||
scene.idle(90);
|
||||
|
||||
scene.text(120, 'This is an Oberserver facing towards the Gravel. The Gravel will activate it and turn off the reactor.', [2.5, 3.5, 2]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(60);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,43 @@
|
||||
Ponder.registry((event) => {
|
||||
event.create('mekanismgenerators:fission_reactor_port')
|
||||
.scene('fission_mek_port','Mekanism Fission Reactor: Ports', 'kubejs:fission_mek',
|
||||
|
||||
(scene, util) => {
|
||||
|
||||
|
||||
scene.showStructure();
|
||||
scene.idle(20);
|
||||
|
||||
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.text(60, 'A Reactor Needs At Least 4 Ports', [0, 1.5, 3.5]).placeNearTarget();
|
||||
scene.addKeyframe();
|
||||
scene.idle(80)
|
||||
|
||||
scene.addKeyframe()
|
||||
|
||||
scene.text(60, 'Ports Can Be Changed Using A Configurator', [0, 1.5, 3.5]).placeNearTarget();
|
||||
scene.showControls(60, [0.5, 2, 3.5], 'down').rightClick().withItem('mekanism:configurator').whileSneaking();
|
||||
scene.idle(80);
|
||||
|
||||
scene.addKeyframe();
|
||||
|
||||
scene.text(160, 'Required Ports:', [-1, 4, 4]).placeNearTarget();
|
||||
|
||||
scene.text(40, 'Input Coolant', [3.5, 1.5, 0]).placeNearTarget();
|
||||
scene.idle(40);
|
||||
scene.text(40, 'Input Fuel', [1.5, 1.5, 0]).placeNearTarget();
|
||||
scene.idle(40);
|
||||
scene.text(40, 'Output Waste', [0, 1.5, 1.5]).placeNearTarget();
|
||||
scene.idle(40);
|
||||
scene.text(40, 'Output Heated Coolant', [0, 1.5, 3.5]).placeNearTarget();
|
||||
scene.idle(40);
|
||||
scene.addKeyframe();
|
||||
scene.idle(10);
|
||||
|
||||
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,63 @@
|
||||
Ponder.registry((event) => {
|
||||
event.create([
|
||||
'mekanismgenerators:hohlraum',
|
||||
Item.of('mekanismgenerators:hohlraum', '{mekData:{GasTanks:[{Tank:0b,stored:{amount:10L,gasName:"mekanismgenerators:fusion_fuel"}}]}}'),
|
||||
'mekanismgenerators:laser_focus_matrix'
|
||||
])
|
||||
.scene('fusion_activation','Mekanism Fusion Reactor: Activation', 'kubejs:fusion_activation',
|
||||
|
||||
(scene, util) => {
|
||||
scene.world.showSection([2, 0, 0, 6, 4, 6], Facing.down);
|
||||
//scene.world.hideSection([3, 0, 0, 5, 2, 0], Facing.up);
|
||||
scene.idle(10);
|
||||
|
||||
scene.text(60, 'To activate the Fusion Reactor, we will need a few things.', [2, 2.5, 4.5]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(80)
|
||||
|
||||
scene.text(100, 'You will need to put a Hohlraum filled with D-T fuel in the Controller.', [4.5, 5, 3.5]).attachKeyFrame();
|
||||
scene.showControls(100, [4.5, 5.5, 3.5], 'down').withItem('mekanismgenerators:hohlraum');
|
||||
scene.idle(110);
|
||||
|
||||
|
||||
//show lasers
|
||||
scene.world.showSection([0, 0, 0, 1, 4, 6], Facing.down);
|
||||
scene.idle(10);
|
||||
|
||||
//Laser
|
||||
scene.text(100, 'You will need to shoot 400MRF using Lasers into the Laser Matrix.', [0, 2.5, 3.5]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(110);
|
||||
|
||||
//show laser
|
||||
scene.world.hideSection([1, 0, 0, 6, 4, 6], Facing.down);
|
||||
scene.idle(10)
|
||||
scene.rotateCameraY(90);
|
||||
scene.idle(5)
|
||||
|
||||
scene.text(100, 'The Laser Amplifier needs to have the Red face pointing towards the Matrix.', [1, 2.5, 3]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(110);
|
||||
|
||||
scene.rotateCameraY(-90);
|
||||
scene.idle(5)
|
||||
|
||||
//show everything
|
||||
scene.world.showSection([1, 0, 0, 6, 4, 6], Facing.down);
|
||||
scene.idle(10)
|
||||
|
||||
|
||||
//hide lasers
|
||||
scene.world.hideSection([0, 0, 0, 1, 4, 6], Facing.down);
|
||||
scene.idle(10);
|
||||
|
||||
//fuel input
|
||||
|
||||
scene.overlay.showText(100).text("You will also need to give the Reactor fuel.").independent(-50);
|
||||
scene.text(50, 'For Deuterium', [5.5, 2.5, 1]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(60);
|
||||
scene.text(50, 'For Tritium.', [3.5, 2.5, 1]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(60);
|
||||
|
||||
scene.text(80, 'The Reactor mixes the D-T fuel at a set rate when they are pumped in separately.', [4.5, 2.5, 1]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(80);
|
||||
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,78 @@
|
||||
Ponder.registry((event) => {
|
||||
event.create([
|
||||
'mekanismgenerators:fusion_reactor_frame',
|
||||
'mekanismgenerators:fusion_reactor_port',
|
||||
'mekanismgenerators:fusion_reactor_controller',
|
||||
'mekanismgenerators:fusion_reactor_logic_adapter'
|
||||
])
|
||||
.scene('fusion_reactor','Mekanism Fusion Reactor', 'kubejs:fusion_mek',
|
||||
|
||||
(scene, util) => {
|
||||
|
||||
|
||||
scene.world.showSection([0, 0, 0, 4, 4, 4], Facing.down);
|
||||
scene.idle(10);
|
||||
|
||||
scene.text(60, 'The Fusion Reactor can be used to generate millions of RF per tick.', [0, 2.5, 4.5]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(80)
|
||||
|
||||
scene.text(60, 'Ports Can Be Changed Using A Configurator', [1.5, 2.5, 0]).placeNearTarget().attachKeyFrame();
|
||||
scene.showControls(60, [1.5, 3.5, 0], 'down').rightClick().withItem('mekanism:configurator').whileSneaking();
|
||||
scene.idle(10);
|
||||
scene.world.modifyBlock([1, 2, 0], (curState) => curState.with("active", "true"), true);
|
||||
scene.idle(20);
|
||||
scene.world.modifyBlock([1, 2, 0], (curState) => curState.with("active", "false"), true);
|
||||
scene.idle(40);
|
||||
|
||||
//hide front
|
||||
scene.world.hideSection([0, 0, 0, 4, 4, 3], Facing.up);
|
||||
scene.idle(10);
|
||||
|
||||
scene.text(80, 'The Fusion Reactor is built using this pattern for each face.', [2.5, 2, 4.5]).attachKeyFrame();
|
||||
scene.idle(90);
|
||||
|
||||
//east face
|
||||
scene.world.showSection([4, 0, 0, 4, 4, 3], Facing.down);
|
||||
scene.idle(10);
|
||||
|
||||
//power port
|
||||
scene.text(60, 'You will need a port for exporting power.', [4, 2.5, 2.5]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(70);
|
||||
|
||||
//west face
|
||||
scene.world.showSection([0, 0, 0, 0, 4, 3], Facing.down);
|
||||
scene.idle(30);
|
||||
|
||||
//Laser
|
||||
scene.text(60, 'The Laser Matrix is used to kickstart the reactor.', [0, 2.5, 2.5]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(70);
|
||||
|
||||
//bottom face
|
||||
scene.world.showSection([1, 0, 0, 3, 0, 3], Facing.down);
|
||||
scene.idle(30);
|
||||
|
||||
//top face
|
||||
scene.world.showSection([0, 4, 0, 3, 4, 3], Facing.down);
|
||||
scene.idle(30);
|
||||
|
||||
//controller
|
||||
scene.text(60, 'The Fusion Reactor Controller must be placed in the middle of the top face.', [2.5, 4.5, 3.5]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(70);
|
||||
|
||||
//north face
|
||||
scene.world.showSection([1, 1, 0, 3, 3, 0], Facing.down);
|
||||
scene.idle(30);
|
||||
|
||||
//fuel input
|
||||
|
||||
scene.text(30, 'You will need two ports for inputting Deuterium', [3.5, 2.5, 0]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(40);
|
||||
scene.text(40, 'and Tritium.', [1.5, 2.5, 0]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(50);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,135 @@
|
||||
Ponder.registry((event) => {
|
||||
event.create([
|
||||
'mekanism:induction_casing',
|
||||
'mekanism:induction_port'
|
||||
])
|
||||
|
||||
.scene('induction_mek','Mekanism: Induction Matrix', 'kubejs:induction_matrix',
|
||||
|
||||
(scene, util) => {
|
||||
|
||||
//Show main build
|
||||
|
||||
|
||||
scene.world.showSection([0, 0, 0, 4, 4, 4], Facing.down);
|
||||
scene.idle(10);
|
||||
|
||||
scene.text(80, 'The Induction Matrix is used to store tons of Power.', [0, 4.5, 4.5]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(85);
|
||||
|
||||
//Hide and build
|
||||
|
||||
scene.world.hideSection([0, 0, 0, 4, 4, 4], Facing.up);
|
||||
scene.idle(10);
|
||||
|
||||
scene.world.showSection([4, 0, 4], Facing.down);
|
||||
scene.idle(5);
|
||||
|
||||
|
||||
[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.text(80, 'The Edges Must Be Casings', [0, 4.5, 4.5]).placeNearTarget().attachKeyFrame();
|
||||
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(60);
|
||||
|
||||
|
||||
scene.text(80, 'The Faces Can Be Either Casings Or Structural Glass.', [0, 2.5, 2.5]).placeNearTarget().attachKeyFrame();
|
||||
|
||||
//Side Sections
|
||||
|
||||
//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(80);
|
||||
|
||||
//Talk about Ports
|
||||
|
||||
scene.text(60, 'Ports Are Used To Transfer Power.', [1.5, 1.5, 0]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(80);
|
||||
|
||||
scene.text(80, 'Ports Can Be Changed Using A Configurator.', [1.5, 1.5, 0]).placeNearTarget().attachKeyFrame();
|
||||
scene.showControls(80, [1.5, 2.5, 0], 'down').rightClick().withItem('mekanism:configurator').whileSneaking();
|
||||
scene.world.modifyBlock([1, 1, 0], (curState) => curState.with("active", "false"), true);
|
||||
scene.idle(20);
|
||||
scene.world.modifyBlock([1, 1, 0], (curState) => curState.with("active", "true"), true);
|
||||
scene.idle(60);
|
||||
|
||||
// Inside Part
|
||||
|
||||
scene.world.hideSection([0, 1, 0, 3, 4, 0], Facing.up)
|
||||
scene.world.hideSection([0, 1, 0, 0, 4, 3], Facing.up)
|
||||
scene.world.hideSection([1, 4, 1, 3, 4, 3], Facing.up)
|
||||
scene.idle(20);
|
||||
|
||||
scene.text(60, 'Induction Cells Are Used To Increase Power Storage.', [2.5, 1.5, 2.5]).placeNearTarget().attachKeyFrame();
|
||||
scene.world.setBlock([2, 1, 2], 'mekanism:basic_induction_cell', false);
|
||||
scene.world.showSection([2, 1, 2], Facing.down)
|
||||
scene.idle(65);
|
||||
scene.text(60, 'Induction Providers Are Used To Increase Power Transfer Rate.', [2.5, 2.5, 2.5]).placeNearTarget().attachKeyFrame();
|
||||
scene.world.setBlock([2, 2, 2], 'mekanism:basic_induction_provider', false);
|
||||
scene.world.showSection([2, 2, 2], Facing.down)
|
||||
scene.idle(65)
|
||||
|
||||
scene.text(60, 'The Matrix Must Have One Cell and One Provider.', [2, 2.5, 2.5]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(65)
|
||||
|
||||
|
||||
|
||||
//Show All
|
||||
|
||||
scene.world.showSection([0, 1, 0, 3, 4, 0], Facing.up)
|
||||
scene.world.showSection([0, 1, 0, 0, 4, 3], Facing.up)
|
||||
scene.world.showSection([1, 4, 1, 3, 4, 3], Facing.up)
|
||||
scene.idle(10);
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,76 @@
|
||||
Ponder.registry((event) => {
|
||||
event.create([
|
||||
'mekanism:sps_casing',
|
||||
'mekanism:sps_port',
|
||||
'mekanism:supercharged_coil'])
|
||||
.scene('sps','Mekanism Supercritical Phase Shifter (SPS)', 'kubejs:sps',
|
||||
|
||||
(scene, util) => {
|
||||
|
||||
|
||||
scene.world.showSection([0, 0, 0, 6, 7, 6], Facing.down);
|
||||
scene.setSceneOffsetY(-1);
|
||||
scene.idle(20);
|
||||
|
||||
scene.text(60, 'The SPS converts Polonium into Antimatter Gas using a large amount of power', [0, 3.5, 6.5]).placeNearTarget();
|
||||
scene.addKeyframe();
|
||||
scene.idle(80)
|
||||
|
||||
scene.addKeyframe()
|
||||
|
||||
scene.text(60, 'Ports Can Be Changed Using A Configurator', [2.5, 1.5, 0]).placeNearTarget();
|
||||
scene.showControls(60, [2.5, 2.5, 0], 'down').rightClick().withItem('mekanism:configurator').whileSneaking();
|
||||
scene.idle(10);
|
||||
scene.world.modifyBlock([2, 1, 0], (curState) => curState.with("active", "true"), false);
|
||||
scene.idle(20);
|
||||
scene.world.modifyBlock([2, 1, 0], (curState) => curState.with("active", "false"), false);
|
||||
scene.idle(40);
|
||||
|
||||
scene.world.hideSection([0, 0, 0, 6, 6, 5], Facing.up);
|
||||
scene.idle(10);
|
||||
|
||||
scene.text(60, 'The SPS is built using this pattern for each face.', [2.5, 4, 5]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(60);
|
||||
|
||||
//east face
|
||||
scene.world.showSection([6, 0, 0, 6, 7, 5], Facing.down);
|
||||
scene.idle(10);
|
||||
|
||||
scene.text(60, 'On one side, you will need a Port in the middle to input power.', [5.5, 4, 3]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(70);
|
||||
|
||||
scene.world.showSection([5, 3, 3], Facing.down);
|
||||
scene.text(60, 'On the inside, place a Supercharged Coil on the Port.', [5, 4, 3]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(80);
|
||||
|
||||
//west face
|
||||
scene.world.showSection([0, 0, 0, 0, 6, 5], Facing.down);
|
||||
scene.idle(30);
|
||||
|
||||
scene.world.showSection([1, 3, 3], Facing.down);
|
||||
scene.text(60, 'You can also use two Supercharged Coils for max power usage.', [0, 4, 3]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(80);
|
||||
|
||||
//bottom face
|
||||
scene.world.showSection([1, 0, 0, 5, 0, 5], Facing.down);
|
||||
scene.idle(30);
|
||||
|
||||
//top face
|
||||
scene.world.showSection([1, 6, 0, 5, 6, 5], Facing.down);
|
||||
scene.idle(30);
|
||||
|
||||
//north face
|
||||
scene.world.showSection([1, 1, 0, 5, 5, 0], Facing.down);
|
||||
scene.idle(30);
|
||||
|
||||
|
||||
scene.text(60, 'You will need one Port for inputting Polonium.', [4.5, 1.5, 0]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(70);
|
||||
|
||||
scene.world.modifyBlock([2, 1, 0], (curState) => curState.with("active", "true"), true);
|
||||
scene.text(60, 'And another for exporting Antimatter Gas.', [2.5, 1.5, 0]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(70);
|
||||
|
||||
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,141 @@
|
||||
Ponder.registry((event) => {
|
||||
event.create([
|
||||
'mekanismgenerators:turbine_casing',
|
||||
'mekanismgenerators:turbine_valve',
|
||||
'mekanismgenerators:turbine_vent',
|
||||
'mekanismgenerators:turbine_rotor',
|
||||
'mekanismgenerators:turbine_blade',
|
||||
'mekanismgenerators:rotational_complex',
|
||||
'mekanismgenerators:saturating_condenser',
|
||||
'mekanism:pressure_disperser',
|
||||
'mekanismgenerators:electromagnetic_coil',
|
||||
])
|
||||
.scene('turbine_mek','Mekanism: Industrial Turbine', 'kubejs:turbine_mek',
|
||||
|
||||
(scene, util) => {
|
||||
|
||||
|
||||
scene.showStructure();
|
||||
scene.idle(5);
|
||||
|
||||
scene.text(60, 'The Industrial Turbine uses Heated Coolant to create Power.', [0, 4.5, 4.5]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(65);
|
||||
|
||||
scene.text(60, 'The edges must be made of Turbine Casings.', [0, 4.5, 4.5]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(65);
|
||||
|
||||
scene.text(60, 'The faces can be Turbine Casings, Structural Glass, Valves, or Vents.', [0, 2.5, 2.5]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(65);
|
||||
|
||||
scene.text(60, 'Turbine Valves pump in Steam, or export Power.', [0, 1.5, 2.5]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(65);
|
||||
|
||||
//hide top
|
||||
scene.world.hideSection([0, 4, 0, 4, 6, 4], Facing.up);
|
||||
scene.idle(5);
|
||||
|
||||
//hide walls
|
||||
scene.world.hideSection([0, 4, 0, 4, 6, 4], Facing.up);
|
||||
scene.world.hideSection([0, 1, 0, 3, 6, 0], Facing.up);
|
||||
scene.world.hideSection([0, 1, 0, 0, 6, 3], Facing.up);
|
||||
scene.idle(10);
|
||||
|
||||
//Turbine Rotor
|
||||
|
||||
scene.text(80, 'Turbine Rotors must be placed in the middle. Each Rotor uses 2 Turbine Blades.', [2, 3.5, 2.5]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(85);
|
||||
|
||||
//show next layer
|
||||
scene.world.showSection([2, 4, 2], Facing.up);
|
||||
scene.idle(10);
|
||||
|
||||
scene.text(80, 'A Rotational Complex must be placed on top of the Turbine Rotor.', [2, 4.5, 2.5]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(85);
|
||||
|
||||
scene.world.showSection([1, 4, 1, 3, 4, 1], Facing.up);
|
||||
scene.world.showSection([3, 4, 2], Facing.up);
|
||||
scene.world.showSection([1, 4, 2], Facing.up);
|
||||
scene.world.showSection([1, 4, 3, 3, 4, 3], Facing.up);
|
||||
scene.idle(10);
|
||||
|
||||
scene.text(80, 'Pressure Dispersers must fill the layer around the Rotational Complex.', [1, 4.5, 2.5]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(85);
|
||||
|
||||
//Show Layer Vents
|
||||
|
||||
scene.world.showSection([0, 4, 0, 4, 4, 0], Facing.up);
|
||||
scene.world.showSection([0, 4, 4, 4, 4, 4], Facing.up);
|
||||
scene.world.showSection([0, 4, 1, 0, 4, 3], Facing.up);
|
||||
scene.world.showSection([4, 4, 0, 4, 4, 4], Facing.up);
|
||||
|
||||
scene.world.showSection([0, 1, 0, 3, 3, 0], Facing.up);
|
||||
scene.world.showSection([0, 1, 1, 0, 3, 3], Facing.up);
|
||||
|
||||
scene.text(120, 'Starting on this layer, Turbine Vents can be used for the outer faces. These also export Water from the Turbine.', [0, 4.5, 3.5]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(125);
|
||||
|
||||
//Show Electromagnetic Coil
|
||||
|
||||
scene.world.showSection([2, 5, 2], Facing.up);
|
||||
scene.idle(5);
|
||||
|
||||
scene.text(60, 'Electromagnetic Coils are placed on top of the Rotational Complex.', [2, 5.5, 2.5]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(65);
|
||||
|
||||
scene.world.setBlock([2, 5, 1], 'mekanismgenerators:electromagnetic_coil', true);
|
||||
scene.world.setBlock([1, 5, 2], 'mekanismgenerators:electromagnetic_coil', true);
|
||||
scene.world.setBlock([2, 5, 3], 'mekanismgenerators:electromagnetic_coil', true);
|
||||
scene.world.setBlock([3, 5, 2], 'mekanismgenerators:electromagnetic_coil', true);
|
||||
scene.world.showSection([2, 5, 1], Facing.up);
|
||||
scene.world.showSection([1, 5, 2], Facing.up);
|
||||
scene.world.showSection([2, 5, 3], Facing.up);
|
||||
scene.world.showSection([3, 5, 2], Facing.up);
|
||||
scene.idle(10);
|
||||
|
||||
scene.text(100, 'A max of 5 can be placed. They either must connect to each other, or be touching the Rotational Complex.', [2, 5.5, 2.5]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(105);
|
||||
|
||||
//Saturating Condensers
|
||||
|
||||
scene.world.showSection([3, 5, 3], Facing.up);
|
||||
scene.world.showSection([1, 5, 1], Facing.up);
|
||||
scene.world.showSection([1, 5, 3], Facing.up);
|
||||
scene.world.showSection([3, 5, 1], Facing.up);
|
||||
|
||||
scene.text(120, 'Saturating Condensers are used to convert Steam back into Water. These are not required, but must be placed on or above the Coil Layer.', [1, 5.5, 1.5]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(130);
|
||||
|
||||
//Show other layers
|
||||
|
||||
scene.world.showSection([0, 5, 0, 4, 5, 0], Facing.up);
|
||||
scene.world.showSection([0, 5, 4, 4, 5, 4], Facing.up);
|
||||
scene.world.showSection([0, 5, 1, 0, 5, 3], Facing.up);
|
||||
scene.world.showSection([4, 5, 0, 4, 5, 3], Facing.up);
|
||||
scene.idle(5);
|
||||
|
||||
scene.world.showSection([0, 6, 0, 4, 6, 4], Facing.up);
|
||||
scene.idle(20);
|
||||
|
||||
scene.world.hideSection([1, 6, 1, 3, 6, 3], Facing.up);
|
||||
scene.idle(15);
|
||||
scene.world.setBlock([1, 6, 1], 'mekanismgenerators:turbine_vent', false);
|
||||
scene.world.setBlock([2, 6, 1], 'mekanismgenerators:turbine_vent', false);
|
||||
scene.world.setBlock([3, 6, 1], 'mekanismgenerators:turbine_vent', false);
|
||||
scene.world.setBlock([1, 6, 2], 'mekanismgenerators:turbine_vent', false);
|
||||
scene.world.setBlock([2, 6, 2], 'mekanismgenerators:turbine_vent', false);
|
||||
scene.world.setBlock([3, 6, 2], 'mekanismgenerators:turbine_vent', false);
|
||||
scene.world.setBlock([1, 6, 3], 'mekanismgenerators:turbine_vent', false);
|
||||
scene.world.setBlock([2, 6, 3], 'mekanismgenerators:turbine_vent', false);
|
||||
scene.world.setBlock([3, 6, 3], 'mekanismgenerators:turbine_vent', false);
|
||||
scene.idle(10);
|
||||
|
||||
scene.world.showSection([1, 6, 1, 3, 6, 3], Facing.down);
|
||||
scene.idle(10);
|
||||
|
||||
scene.text(80, 'The Top Face can be replaced with Turbine Vents, if needed.', [2.5, 6.5, 2.5]).placeNearTarget().attachKeyFrame();
|
||||
scene.idle(85);
|
||||
|
||||
|
||||
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,40 @@
|
||||
/*
|
||||
Authored by Mitchell52
|
||||
for AllTheMods 8
|
||||
*/
|
||||
|
||||
ServerEvents.recipes(e=>{
|
||||
let ATM_metal = ['allthemodium','unobtainium','vibranium',]
|
||||
ATM_metal.forEach(ATM_metal =>
|
||||
e.custom({
|
||||
"type": "thermal:crucible",
|
||||
"ingredient": {
|
||||
"item": `allthemodium:${ATM_metal}_block`
|
||||
},
|
||||
"result": [
|
||||
{
|
||||
"fluid": `allthemodium:molten_${ATM_metal}`,
|
||||
"amount": 1000
|
||||
}
|
||||
],
|
||||
"energy": 232000
|
||||
}).id(`kubejs:molten_${ATM_metal}`)
|
||||
)
|
||||
ATM_metal.forEach(ATM_metal =>
|
||||
e.custom({
|
||||
"type": "thermal:chiller",
|
||||
"ingredients": [
|
||||
{
|
||||
"fluid": `allthemodium:molten_${ATM_metal}`,
|
||||
"amount": 1000
|
||||
}
|
||||
],
|
||||
"result": [
|
||||
{
|
||||
"item": `allthemodium:${ATM_metal}_block`
|
||||
}
|
||||
],
|
||||
"energy": 232000
|
||||
}).id(`kubejs:chilling_${ATM_metal}`)
|
||||
)
|
||||
})
|
||||
@@ -1,12 +1,12 @@
|
||||
//missing crushed platinum handling
|
||||
ServerEvents.recipes(event => {
|
||||
event.smelting('alltheores:platinum_ingot', 'create:crushed_platinum_ore').xp(0.1).id('kubejs:create/smelting/platinum_ingot_from_crushed')
|
||||
event.blasting('alltheores:platinum_ingot', 'create:crushed_platinum_ore').xp(0.1).id('kubejs:create/blasting/platinum_ingot_from_crushed')
|
||||
event.smelting('alltheores:platinum_ingot', 'create:crushed_raw_platinum').xp(0.1).id('kubejs:create/smelting/platinum_ingot_from_crushed')
|
||||
event.blasting('alltheores:platinum_ingot', 'create:crushed_raw_platinum').xp(0.1).id('kubejs:create/blasting/platinum_ingot_from_crushed')
|
||||
event.custom({
|
||||
type: 'create:splashing',
|
||||
ingredients: [
|
||||
{
|
||||
'item': 'create:crushed_platinum_ore'
|
||||
'item': 'create:crushed_raw_platinum'
|
||||
}
|
||||
],
|
||||
results: [
|
||||
@@ -15,5 +15,5 @@ ServerEvents.recipes(event => {
|
||||
'item': 'alltheores:platinum_nugget'
|
||||
}
|
||||
]
|
||||
}).id('kubejs:create/splashing/crushed_platinum_ore')
|
||||
}).id('kubejs:create/splashing/crushed_raw_platinum')
|
||||
})
|
||||
|
||||
@@ -6,6 +6,7 @@ ServerEvents.tags('item', event => {
|
||||
event.add('forge:dusts/ender', 'ae2:ender_dust')
|
||||
event.add('ars_nouveau:golem/shard', ['minecraft:amethyst_shard', 'ae2:certus_quartz_crystal'])
|
||||
event.add('forge:raw_materials', ['silentgear:raw_azure_silver', 'silentgear:raw_crimson_iron'])
|
||||
event.add('forge:rubber', ['ftbic:rubber','industrialforegoing:dryrubber','thermal:cured_rubber'])
|
||||
event.add('mysticalagriculture:essences', [
|
||||
'mysticalagriculture:allthemodium_essence',
|
||||
'mysticalagriculture:azure_silver_essence',
|
||||
@@ -57,7 +58,13 @@ ServerEvents.tags('block', event => {
|
||||
})
|
||||
|
||||
ServerEvents.tags('fluid', event => {
|
||||
event.remove('minecraft:water', 'ad_astra:oil')
|
||||
event.remove('minecraft:water',[
|
||||
'ad_astra:oil','ad_astra:flowing_oil',
|
||||
'ad_astra:cryo_fuel','ad_astra:flowing_cryo_fuel',
|
||||
'ad_astra:fuel','ad_astra:flowing_fuel',
|
||||
'hexerei:blood_flowing','hexerei:blood_fluid',
|
||||
'hexerei:tallow_flowing','hexerei:tallow_fluid',
|
||||
'createaddition:flowing_seed_oil','createaddition:seed_oil'])
|
||||
})
|
||||
|
||||
ServerEvents.tags('entity_type', event => {
|
||||
|
||||
@@ -5,23 +5,4 @@
|
||||
authored by EnigmaQuip
|
||||
*/
|
||||
|
||||
const $MinecraftForge = Java.loadClass('net.minecraftforge.common.MinecraftForge')
|
||||
const $BlockEvent = Java.loadClass('net.minecraftforge.event.level.BlockEvent')
|
||||
const $SaplingGrowTreeEvent = Java.loadClass('net.minecraftforge.event.level.SaplingGrowTreeEvent')
|
||||
const $BlockItem = Java.loadClass('net.minecraft.world.item.BlockItem')
|
||||
const $CropBlock = Java.loadClass('net.minecraft.world.level.block.CropBlock')
|
||||
const $SaplingBlock = Java.loadClass('net.minecraft.world.level.block.SaplingBlock')
|
||||
|
||||
ForgeEvents.onEvent('net.darkhax.botanypots.events.CropDropEvent', event => {
|
||||
const { level, pos, crop } = event;
|
||||
let seed = crop.getSeed().getFirst().getItem()
|
||||
if (seed instanceof $BlockItem) {
|
||||
let seedBlock = seed.getBlock()
|
||||
if (seedBlock instanceof $CropBlock) {
|
||||
let blockstate = seedBlock.getStateForAge(seedBlock.getMaxAge())
|
||||
$MinecraftForge.EVENT_BUS.post(new $BlockEvent.CropGrowEvent.Post(level, pos, blockstate, level.getBlockState(pos)))
|
||||
} else if (seedBlock instanceof $SaplingBlock) {
|
||||
$MinecraftForge.EVENT_BUS.post(new $SaplingGrowTreeEvent(level, level.getRandom(), pos))
|
||||
}
|
||||
}
|
||||
})
|
||||
/// Deleted due to bug
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
const $TileEntityMultiblock = Java.loadClass('mekanism.common.tile.prefab.TileEntityMultiblock')
|
||||
const $TileEntityMekanism = Java.loadClass('mekanism.common.tile.base.TileEntityMekanism')
|
||||
const $CompoundTag = Java.loadClass('net.minecraft.nbt.CompoundTag')
|
||||
|
||||
const mapMekanismMultiblockToTaskID = {
|
||||
"dynamicTank":"",
|
||||
"inductionMatrix":"621A4E28BD50F96C",
|
||||
"thermoelectricBoiler":"",
|
||||
"evaporation":"",
|
||||
"sps":"2A13A1B1A85C2981",
|
||||
"industrialTurbine":"71DB5E5857993B3F",
|
||||
"fissionReactor":"34D8628732B36EDF",
|
||||
"fusionReactor": "0B31B1E6089BB33E"
|
||||
}
|
||||
|
||||
const mapMekanismGasToTaskID = {
|
||||
"mekanism:fissile_fuel": "4E04F8F091D18EA4",
|
||||
"mekanism:uranium_oxide": "29D6CA9A77ACACC6",
|
||||
"mekanism:sulfuric_acid": "66C97246C3EEFB7C",
|
||||
"mekanism:hydrofluoric_acid": "510CE57C709D5A44",
|
||||
"mekanism:uranium_hexafluoride": "05A215BE7EE2F35D"
|
||||
|
||||
}
|
||||
|
||||
ClientEvents.tick(event => {
|
||||
if (Client.hitResult != null && Client.hitResult.getType() == 'BLOCK') {
|
||||
let block = event.level.getBlock(Client.hitResult.getBlockPos())
|
||||
if (block.id.contains('mekanism')) {
|
||||
let blockEntity = block.entity
|
||||
// Multiblock handler
|
||||
if (blockEntity && blockEntity instanceof $TileEntityMultiblock) {
|
||||
// Multiblock is complete
|
||||
if (blockEntity.getMultiblock().isFormed()) {
|
||||
let manager = blockEntity.getManager()
|
||||
if (manager) {
|
||||
let managerName = manager.getName()
|
||||
if (managerName) {
|
||||
let taskString = mapMekanismMultiblockToTaskID[managerName]
|
||||
if (taskString) {
|
||||
let tag = new $CompoundTag
|
||||
tag.putString('task', taskString)
|
||||
event.player.sendData('customTask', tag)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Capability TE's
|
||||
if (blockEntity instanceof $TileEntityMekanism) {
|
||||
// Handles Gas
|
||||
if (blockEntity.canHandleGas()) {
|
||||
let tanks = blockEntity.getGasTanks(null)
|
||||
tanks.forEach(tank => {
|
||||
let gas = tank.getStack().getTypeRegistryName()
|
||||
let taskString = mapMekanismGasToTaskID[gas.toString()]
|
||||
if (taskString) {
|
||||
let tag = new $CompoundTag
|
||||
tag.putString('task', taskString)
|
||||
event.player.sendData('customTask', tag)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
NetworkEvents.fromClient('customTask', event => {
|
||||
const {entity, data, level} = event
|
||||
let taskString = data.task
|
||||
let task = FTBQuests.getObject(level, taskString)
|
||||
let playerQuestData = FTBQuests.getData(entity)
|
||||
if (task && playerQuestData && !playerQuestData.isCompleted(task) && playerQuestData.canStartTasks(task.quest)) {
|
||||
playerQuestData.addProgress(task, 1)
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user