Added mod files
This commit is contained in:
@@ -0,0 +1,2 @@
|
||||
// Use scene = new CreateSceneBuilder(scene) to get a scene builder object with Create Scene Building Methods
|
||||
const CreateSceneBuilder = Java.loadClass("com.simibubi.create.foundation.ponder.CreateSceneBuilder")
|
||||
177
overrides/kubejs/client_scripts/ponders/laser_alchemy.js
Normal file
177
overrides/kubejs/client_scripts/ponders/laser_alchemy.js
Normal file
@@ -0,0 +1,177 @@
|
||||
Ponder.tags((event) => {
|
||||
/**
|
||||
* "kubejs:getting_started" -> the tag name
|
||||
* "minecraft:paper" -> the icon
|
||||
* "Getting Started" -> the title
|
||||
* "This is a description" -> the description
|
||||
* [...items] -> default items
|
||||
*/
|
||||
event.createTag(
|
||||
"cabin:ponders",
|
||||
"kubejs:gold_machine",
|
||||
// Ponder for Kubejs is bugged to not show non kubejs namespace text, edit these in en_us.json instead
|
||||
"CABIN",
|
||||
"Components which are distinctive to A&B and CABIN",
|
||||
["kubejs:alchemical_laser"]
|
||||
);
|
||||
});
|
||||
|
||||
Ponder.registry((event) => {
|
||||
event.create("kubejs:alchemical_laser")
|
||||
.scene("alchemy_setup", "The Alchemical Laser", "cabin:laser_alchemy", (scene, util) => {
|
||||
scene = new CreateSceneBuilder(scene)
|
||||
|
||||
scene.configureBasePlate(0, 0, 5);
|
||||
scene.showBasePlate();
|
||||
scene.idle(10)
|
||||
|
||||
let largeCog = util.select.position(5, 0, 2)
|
||||
let deployerSingle = util.select.position(4, 1, 3)
|
||||
let smallCog = util.select.position(4, 1, 2)
|
||||
let lamp = util.select.fromTo(4, 1, 4, 4, 2, 4)
|
||||
let deployer = util.select.fromTo(4, 1, 2, 4, 2, 4)
|
||||
let machine = util.select.position(2, 1, 3)
|
||||
let light = util.select.position(2, 1, 2)
|
||||
|
||||
scene.world.showSection(machine, Facing.down)
|
||||
scene.idle(15)
|
||||
|
||||
scene.overlay.showText(50)
|
||||
.text("Start with an Invar Machine")
|
||||
.pointAt(util.vector.topOf(2, 1, 3))
|
||||
.colored(PonderPalette.WHITE)
|
||||
.placeNearTarget()
|
||||
scene.idle(60)
|
||||
|
||||
scene.world.showSection(light, Facing.east)
|
||||
scene.overlay.showText(40)
|
||||
.text("Attach an Industrial Lamp of any colour")
|
||||
.pointAt(util.vector.centerOf(2, 1, 2))
|
||||
.colored(PonderPalette.WHITE)
|
||||
.placeNearTarget()
|
||||
scene.idle(60)
|
||||
|
||||
|
||||
// scene.overlay.showText(40)
|
||||
// .text("Toggle it on with a wrench")
|
||||
// .colored(PonderPalette.GREEN)
|
||||
// .pointAt(util.vector.centerOf(2, 1, 2))
|
||||
// .placeNearTarget()
|
||||
// scene.idle(20)
|
||||
|
||||
// scene.showControls(50, [2.5, 1, 2], "right")
|
||||
// .rightClick().withItem("create:wrench")
|
||||
// scene.idle(10)
|
||||
|
||||
// scene.world.setBlock(util.grid.at(2, 1, 2), util.getDefaultState("kubejs:ponder_laser_lamp_on"), false)
|
||||
// scene.idle(15)
|
||||
//
|
||||
// scene.idle(50)
|
||||
|
||||
scene.world.setKineticSpeed(deployer, 0)
|
||||
scene.world.showSection(deployerSingle, Facing.down)
|
||||
scene.idle(15)
|
||||
|
||||
scene.overlay.showText(60)
|
||||
.text("Place a Deployer targeting the Invar Machine")
|
||||
.pointAt(util.vector.topOf(4, 1, 3))
|
||||
.colored(PonderPalette.WHITE)
|
||||
.placeNearTarget()
|
||||
scene.idle(70)
|
||||
scene.showControls(50, [4, 1, 3], "right")
|
||||
.rightClick().withItem("create:wrench")
|
||||
scene.idle(8)
|
||||
scene.world.modifyBlockEntityNBT(deployerSingle, (nbt) => {nbt.Mode = { Mode: "PUNCH"}});
|
||||
|
||||
scene.overlay.showText(50)
|
||||
.text("Set it to Punch mode using a Wrench")
|
||||
.colored(PonderPalette.GREEN)
|
||||
.pointAt(util.vector.topOf(4, 1, 3))
|
||||
.placeNearTarget()
|
||||
scene.idle(20)
|
||||
scene.world.showSection(largeCog, Facing.up)
|
||||
scene.world.showSection(smallCog, Facing.down)
|
||||
scene.idle(5)
|
||||
scene.world.showSection(lamp, Facing.down)
|
||||
scene.idle(5)
|
||||
scene.world.setKineticSpeed(deployer, 64)
|
||||
scene.idle(60)
|
||||
scene.overlay.showText(50)
|
||||
.attachKeyFrame()
|
||||
.text("Whenever the Deployer activates...")
|
||||
.pointAt(util.vector.topOf(4, 1, 3))
|
||||
.colored(PonderPalette.WHITE)
|
||||
.placeNearTarget()
|
||||
|
||||
scene.idle(30)
|
||||
scene.world.toggleRedstonePower(lamp)
|
||||
scene.idle(3)
|
||||
scene.world.moveDeployer(util.grid.at(4, 1, 3), 1, 25);
|
||||
scene.idle(15)
|
||||
scene.idle(10)
|
||||
|
||||
scene.effects.createRedstoneParticles(util.grid.at(2, 1, 2), 0xFF9600, 10)
|
||||
scene.effects.createRedstoneParticles(util.grid.at(2, 1, 1), 0xFF9600, 10)
|
||||
scene.effects.createRedstoneParticles(util.grid.at(2, 1, 0), 0xFF9600, 10)
|
||||
scene.effects.createRedstoneParticles(util.grid.at(2, 1, -1), 0xFF9600, 10)
|
||||
|
||||
scene.idle(3)
|
||||
scene.world.moveDeployer(util.grid.at(4, 1, 3), -1, 25);
|
||||
scene.idle(10)
|
||||
scene.world.toggleRedstonePower(lamp)
|
||||
// scene.effects.indicateRedstone(util.grid.at(4, 2, 4))
|
||||
|
||||
scene.overlay.showText(50)
|
||||
.text("...the Laser Lamp will emit a High-Energy Beam")
|
||||
.colored(PonderPalette.GREEN)
|
||||
.pointAt(util.vector.centerOf(2, 1, 2))
|
||||
.placeNearTarget()
|
||||
scene.idle(60)
|
||||
|
||||
scene.world.showSection(util.select.fromTo(1, 1, 0, 3, 1, 0), Facing.west)
|
||||
scene.idle(5)
|
||||
// let HopperMinecart = java("net.minecraft.entity.item.minecart.HopperMinecartEntity")
|
||||
// let cartHandle =
|
||||
// scene.special.createCart(util.vector.topOf(2, 0, 0), 0, (w, x, y, z) => new HopperMinecart(w, x, y, z))
|
||||
scene.world.createEntity("minecraft:hopper_minecart", [2.5,1,0]);
|
||||
scene.idle(20)
|
||||
scene.overlay.showText(80)
|
||||
.attachKeyFrame()
|
||||
.text("Hopper Minecarts caught in the Beam will process their contained Items")
|
||||
.pointAt(util.vector.centerOf(2, 1, 0))
|
||||
.colored(PonderPalette.WHITE)
|
||||
.placeNearTarget()
|
||||
scene.idle(70)
|
||||
|
||||
scene.showControls(40, [2.5, 2, 0.5], "down")
|
||||
.withItem("thermal:flux_magnet")
|
||||
scene.idle(5)
|
||||
scene.showControls(35, [2.5, 1.75, 0.5], "up")
|
||||
.withItem("minecraft:basalt")
|
||||
scene.idle(30)
|
||||
|
||||
scene.world.toggleRedstonePower(lamp)
|
||||
scene.idle(3)
|
||||
scene.world.moveDeployer(util.grid.at(4, 1, 3), 1, 25);
|
||||
scene.idle(15)
|
||||
scene.idle(10)
|
||||
|
||||
scene.effects.createRedstoneParticles(util.grid.at(2, 1, 2), 0xFF9600, 10)
|
||||
scene.effects.createRedstoneParticles(util.grid.at(2, 1, 1), 0xFF9600, 10)
|
||||
scene.effects.createRedstoneParticles(util.grid.at(2, 1, 0), 0xFF9600, 10)
|
||||
scene.effects.createRedstoneParticles(util.grid.at(2, 1, -1), 0xFF9600, 10)
|
||||
|
||||
scene.idle(3)
|
||||
scene.world.moveDeployer(util.grid.at(4, 1, 3), -1, 25);
|
||||
scene.idle(10)
|
||||
|
||||
scene.showControls(40, [2.5, 2, 0.5], "down")
|
||||
.withItem("thermal:flux_magnet")
|
||||
scene.idle(5)
|
||||
scene.showControls(35, [2.5, 1.75, 0.5], "up")
|
||||
.withItem("thermal:basalz_rod")
|
||||
|
||||
// scene.effects.indicateRedstone(util.grid.at(4, 2, 4))
|
||||
scene.world.toggleRedstonePower(lamp)
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user