create-the-brass-oncerto/kubejs/client_scripts/Ponder/multiblock_structure/alloy_furnace.js

168 lines
7.6 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Ponder.registry((event) => {
event
.create(["kubejs:alloy_furnace", "kubejs:industrial_iron", "kubejs:brass_bucket", "kubejs:industrial_iron_bucket"])
.tag("kubejs:machine_and_multiblock")
.scene(
"kubejs:use_alloy_furnace",
"合金冶炼",
"kubejs:alloy_furnace",
(scene, utils) => {
scene.configureBasePlate(0, 0, 9);
scene.showStructure(12);
scene.scaleSceneView(0.4);
scene.idle(20);
scene.addKeyframe();
scene.text(60, "各种合金都是重要的工业原料,你可以使用合金炉更高效地生产它们");
scene.idle(80);
scene.addKeyframe();
scene.text(60, "首先,合金炉必须有完整的结构,其所有安山泛光灯也必须点亮");
scene.idle(80);
scene.addKeyframe();
scene.text(60, "接着,你需要点燃所有的带吸管燃烧室(必须是燃料提供的普通加热)");
scene.overlay.showOutline("fast", {}, [3, 1, 3, 5, 1, 5], 60);
scene.showControls(15, [3, 0, 3], "up").withItem("kubejs:natural_gas_bucket")
scene.world.modifyBlock([3, 1, 3, 5, 1, 5], state => state.with("blaze", "kindled"), false)
scene.world.modifyTileNBT([3, 1, 3, 5, 1, 5], (nbt) => { nbt.fuelLevel = 1 });
scene.idle(80);
scene.addKeyframe();
scene.text(60, "接着,你只需要输入所需的物品并等待配方完成");
scene.idle(40);
scene.rotateCameraY(-90);
scene.idle(40);
scene.addKeyframe();
scene.text(120, "物品产出将留在合金炉核心中等待排出而流体产出将被排放至后方的3x1x6的范围内");
scene.overlay.showOutline("fast", {}, [3, 2, 7, 5, 2, 12], 60);
scene.idle(20);
for (let i2 = 7; i2 < 9; i2++) {
for (let i1 = 5; i1 > 2; i1--) {
scene.world.setBlock([i1, 2, i2], "kubejs:industrial_iron", true);
scene.idle(20);
}
}
scene.addKeyframe();
scene.text(60, "你可以在液池旁边自由修建各种结构,从而达成自动化。所有的安山漏斗都可以换成黄铜漏斗");
scene.idle(30);
scene.world.hideSection([3, 2, 7, 5, 2, 12], Direction.up);
scene.rotateCameraY(90);
scene.idle(30);
}
)
.scene(
"kubejs:alloy_furnace",
"建造合金炉",
"kubejs:alloy_furnace",
(scene, utils) => {
scene.configureBasePlate(0, 0, 9);
scene.showStructure(11);
scene.scaleSceneView(0.4);
scene.text(60, "你需要在合金炉核心附近建造结构来完成合金炉");
scene.idle(80);
scene.addKeyframe();
scene.text(30, "...建造如下结构");
scene.world.hideSection([0,1,0,8,11,8], Direction.up);
scene.idle(40);
scene.text(60, "如果你对方块种类有疑问,可以点击放大镜图标");
const Layer1 = [[3, 1, 2], [5, 1, 2], [2, 1, 3], [3, 1, 3], [4, 1, 3], [5, 1, 3], [6, 1, 3], [3, 1, 4], [4, 1, 4], [5, 1, 4], [2, 1, 5], [3, 1, 5], [4, 1, 5], [5, 1, 5], [6, 1, 5], [3, 1, 6], [5, 1, 6],]
const Layer2 = [[3, 2, 2], [4, 2, 2], [5, 2, 2], [2, 2, 3], [3, 2, 3], [4, 2, 3], [5, 2, 3], [6, 2, 3], [2, 2, 4], [3, 2, 4], [4, 2, 4], [5, 2, 4], [6, 2, 4], [2, 2, 5], [3, 2, 5], [4, 2, 5], [5, 2, 5], [6, 2, 5], [3, 2, 6], [4, 2, 6], [5, 2, 6],]
const Layer3 = [[2, 3, 1], [3, 3, 1], [4, 3, 1], [5, 3, 1], [6, 3, 1], [1, 3, 2], [4, 3, 2], [7, 3, 2], [1, 3, 3], [3, 3, 3], [4, 3, 3], [5, 3, 3], [7, 3, 3], [1, 3, 4], [2, 3, 4], [3, 3, 4], [4, 3, 4], [5, 3, 4], [6, 3, 4], [7, 3, 4], [1, 3, 5], [3, 3, 5], [4, 3, 5], [5, 3, 5], [7, 3, 5], [1, 3, 6], [4, 3, 6], [7, 3, 6], [2, 3, 7], [3, 3, 7], [4, 3, 7], [5, 3, 7], [6, 3, 7],]
const Layer4 = [[4,4,2],[3, 4, 3], [4, 4, 3], [5, 4, 3], [2, 4, 4], [3, 4, 4], [4, 4, 4], [5, 4, 4], [6, 4, 4], [3, 4, 5], [4, 4, 5], [5, 4, 5], [4, 4, 6],]
const Layer5 = [[4, 5, 2], [3, 5, 3], [4, 5, 3], [5, 5, 3], [2, 5, 4], [3, 5, 4], [4, 5, 4], [5, 5, 4], [6, 5, 4], [3, 5, 5], [4, 5, 5], [5, 5, 5], [4, 5, 6],]
const Layer6 = [[4, 6, 2], [3, 6, 3], [4, 6, 3], [5, 6, 3], [2, 6, 4], [3, 6, 4], [4, 6, 4], [5, 6, 4], [6, 6, 4], [3, 6, 5], [4, 6, 5], [5, 6, 5], [4, 6, 6],]
const Layer7 = [[4, 7, 2], [3, 7, 3], [4, 7, 3], [5, 7, 3], [2, 7, 4], [3, 7, 4], [4, 7, 4], [5, 7, 4], [6, 7, 4], [3, 7, 5], [4, 7, 5], [5, 7, 5], [4, 7, 6],]
const Layer8 = [[4, 8, 4],]
const Layer9 = [[4, 9, 3], [3, 9, 4], [4, 9, 4], [5, 9, 4], [4, 9, 5],]
const Layer10 = [[4, 10, 3], [3, 10, 4], [4, 10, 4], [5, 10, 4], [4, 10, 5],]
const Layer11 = [[4, 11, 3], [3, 11, 4], [4, 11, 4], [5, 11, 4], [4, 11, 5],]
scene.addKeyframe();
scene.text(30, "第 1 层:", [4, 1, 4])
for (let i of Layer1) {
scene.idle(2);
scene.world.showSection(i, Direction.down);
};
scene.idle(40);
scene.text(60, "请注意:燃烧室必须加装吸管",[4,1,4]);
scene.overlay.showOutline("fast", {}, [3,1,3,5,1,5], 30);
scene.idle(80);
scene.addKeyframe();
scene.text(30, "第 2 层:", [4, 2, 4])
for (let i of Layer2) {
scene.idle(2);
scene.world.showSection(i, Direction.down);
};
scene.idle(40);
scene.addKeyframe();
scene.text(30, "第 3 层:", [4, 3, 4])
for (let i of Layer3) {
scene.idle(1);
scene.world.showSection(i, Direction.down);
};
scene.rotateCameraY(-90);
scene.idle(80);
scene.rotateCameraY(90);
scene.idle(40);
scene.addKeyframe();
scene.text(30, "第 4 层:", [4, 4, 4])
for (let i of Layer4) {
scene.idle(2);
scene.world.showSection(i, Direction.down);
};
scene.idle(40);
scene.addKeyframe();
scene.text(30, "第 5 层:", [4, 5, 4])
for (let i of Layer5) {
scene.idle(2);
scene.world.showSection(i, Direction.down);
};
scene.idle(40);
scene.addKeyframe();
scene.text(30, "第 6 层:", [4, 6, 4])
for (let i of Layer6) {
scene.idle(2);
scene.world.showSection(i, Direction.down);
};
scene.idle(40);
scene.addKeyframe();
scene.text(30, "第 7 层:", [4, 7, 4])
for (let i of Layer7) {
scene.idle(2);
scene.world.showSection(i, Direction.down);
};
scene.idle(40);
scene.addKeyframe();
scene.text(30, "第 8 层:", [4, 8, 4])
for (let i of Layer8) {
scene.idle(2);
scene.world.showSection(i, Direction.down);
};
scene.idle(40);
scene.addKeyframe();
scene.text(30, "第 9 层:", [4, 9, 4])
for (let i of Layer9) {
scene.idle(2);
scene.world.showSection(i, Direction.down);
};
scene.idle(40);
scene.addKeyframe();
scene.text(60, "请注意:核心的正侧应面向前方;周围的漏斗可以换成黄铜制的",[4,9,4]);
scene.overlay.showOutline("red", {}, [4,9,4], 30);
scene.idle(80);
scene.addKeyframe();
scene.text(30, "第 10 层:", [4, 10, 4])
for (let i of Layer10) {
scene.idle(2);
scene.world.showSection(i, Direction.down);
};
scene.idle(40);
scene.addKeyframe();
scene.text(30, "第 11 层:", [4, 11, 4])
for (let i of Layer11) {
scene.idle(2);
scene.world.showSection(i, Direction.down);
};
scene.idle(40);
scene.rotateCameraY(-180);
scene.idle(80);
scene.rotateCameraY(-180);
}
);
});