114 lines
6.9 KiB
JavaScript
114 lines
6.9 KiB
JavaScript
Ponder.registry(event => {
|
|
let steps = [
|
|
[[4, 14, 11, 11, 14, 11], 0], [[4, 14, 10, 11, 14, 10], 7], [[4, 13, 10, 11, 13, 10], 0], [[4, 12, 10, 11, 12, 10], 0],
|
|
[[4, 11, 10, 11, 11, 10], 0], [[4, 10, 10, 11, 10, 10], 0], [[4, 10, 9, 11, 10, 9], 7], [[4, 9, 9, 11, 9, 9], 0],
|
|
[[4, 8, 9, 11, 8, 9], 0], [[4, 7, 9, 11, 7, 9], 0], [[4, 7, 9, 11, 7, 9], 0], [[4, 7, 8, 11, 7, 8], 7],
|
|
[[4, 6, 8, 11, 6, 8], 0], [[4, 6, 7, 11, 6, 7], 7], [[4, 5, 7, 11, 5, 7], 0], [[4, 5, 6, 11, 5, 6], 7],
|
|
[[4, 4, 6, 11, 4, 6], 0], [[4, 4, 5, 11, 4, 5], 7], [[4, 3, 5, 11, 3, 5], 0], [[4, 2, 5, 11, 2, 5], 0],
|
|
[[4, 2, 4, 11, 2, 4], 0], [[4, 2, 3, 11, 2, 3], 0], [[4, 2, 2, 11, 2, 2], 7], [[4, 1, 2, 11, 1, 2], 0]
|
|
]
|
|
event.create([
|
|
"createdelight:hydropower_station",
|
|
"createdelight:wooden_fan",
|
|
"createdelight:steel_fan",
|
|
"createdelight:forge_steel_fan",
|
|
"createdelight:dragon_steel_fan"
|
|
])
|
|
.scene(
|
|
"createdelight:hydropower_station",
|
|
"大坝!水利工程的巅峰之作!",
|
|
"createdelight:ponder_hydropower_station",
|
|
|
|
(builder, util) => {
|
|
let scene = new $CreateSceneBuilder(builder)
|
|
scene.showBasePlate()
|
|
scene.scaleSceneView(0.45)
|
|
scene.idle(20)
|
|
scene.text(40, "先让我们快速的搭建一下基础结构").attachKeyFrame()
|
|
scene.idle(40)
|
|
for (let i = 0; i < 14; i++) {
|
|
scene.world.showSection([3, i + 1, 2, 12, i + 1, 13], Direction.DOWN)
|
|
scene.idle(10)
|
|
}
|
|
scene.text(40, "OK,搭建完毕!").attachKeyFrame()
|
|
scene.idle(40)
|
|
scene.text(120, "现在让我们看看全貌")
|
|
scene.rotateCameraY(90)
|
|
scene.idle(40)
|
|
scene.rotateCameraY(90)
|
|
scene.idle(40)
|
|
scene.rotateCameraY(-90)
|
|
scene.idle(40)
|
|
scene.text(40, "§4注意: 这里要放置大坝以作为控制器组件").attachKeyFrame()
|
|
scene.showControls(40, [13, 2, 8.5], "up").rightClick()
|
|
scene.idle(40)
|
|
scene.rotateCameraY(-90)
|
|
scene.idle(60)
|
|
scene.overlay.showOutline("green", {}, [4, 14, 11, 11, 14, 11], 40)
|
|
scene.text(40, "想让大坝产出应力, 你需要在顶端倒入水").attachKeyFrame()
|
|
scene.idle(20)
|
|
let water = Blocks.WATER.getBlockStates()
|
|
steps.forEach(([coords, idx]) => {
|
|
scene.world.setBlocks(coords, water[idx], false)
|
|
scene.idle(3)
|
|
})
|
|
PonderUtil.setKineticSpeed(scene, [3, 3, 4, 12, 3, 4], 32)
|
|
scene.idle(40)
|
|
steps.forEach(([coords, idx]) => {
|
|
scene.world.setBlocks(coords, Block.id("air"), false)
|
|
})
|
|
PonderUtil.setKineticSpeed(scene, [3, 3, 4, 12, 3, 4], 0)
|
|
scene.idle(20)
|
|
scene.overlay.showOutline("green", {}, [4, 14, 11, 11, 14, 11], 40)
|
|
scene.text(40, "或者你也可以倒入灵质").attachKeyFrame()
|
|
scene.idle(20)
|
|
let ectoplasm = Block.id("netherexp:ectoplasm").blockState
|
|
steps.forEach(([coords, idx]) => {
|
|
scene.world.setBlocks(coords, ectoplasm, false)
|
|
scene.idle(3)
|
|
})
|
|
PonderUtil.setKineticSpeed(scene, [3, 3, 4, 12, 3, 4], 32)
|
|
scene.idle(40)
|
|
steps.forEach(([coords, idx]) => {
|
|
scene.world.setBlocks(coords, water[idx], false)
|
|
scene.idle(3)
|
|
})
|
|
scene.idle(20)
|
|
scene.overlay.showOutline("green", {}, [3, 1, 2, 12, 14, 13], 60)
|
|
scene.text(60, "大坝结构内所有的陨石方块均可替换为陨石类方块", [3, 15, 13]).attachKeyFrame()
|
|
scene.idle(60)
|
|
scene.overlay.showOutline("green", {}, [4, 3, 4, 11, 3, 4], 80)
|
|
scene.text(80, "§4注意: 不同等级的单个转子产出的应力§r\n§4从低到高分别为: 16384su, 65536su,§r\n§4131072su, 262144su", [8, 3, 4])
|
|
scene.text(80, "大坝的涡轮转子转速固定为32RPM, 且存在四个等级, 依次为木, 钢, 锻造钢, 龙钢")
|
|
scene.world.replaceBlocks([8, 3, 4, 9, 3, 4], Block.id("createdelight:steel_fan").blockState.setValue($BlockStateProperties.HORIZONTAL_FACING, Direction.WEST), true)
|
|
scene.world.replaceBlocks([6, 3, 4, 7, 3, 4], Block.id("createdelight:forge_steel_fan").blockState.setValue($BlockStateProperties.HORIZONTAL_FACING, Direction.WEST), true)
|
|
scene.world.replaceBlocks([4, 3, 4, 5, 3, 4], Block.id("createdelight:dragon_steel_fan").blockState.setValue($BlockStateProperties.HORIZONTAL_FACING, Direction.WEST), true)
|
|
PonderUtil.setKineticSpeed(scene, [3, 3, 4, 12, 3, 4], 32)
|
|
scene.idle(40)
|
|
scene.world.replaceBlocks([8, 3, 4, 9, 3, 4], Block.id("createdelight:wooden_fan").blockState.setValue($BlockStateProperties.HORIZONTAL_FACING, Direction.WEST), true)
|
|
scene.world.replaceBlocks([6, 3, 4, 7, 3, 4], Block.id("createdelight:wooden_fan").blockState.setValue($BlockStateProperties.HORIZONTAL_FACING, Direction.WEST), true)
|
|
scene.world.replaceBlocks([4, 3, 4, 5, 3, 4], Block.id("createdelight:wooden_fan").blockState.setValue($BlockStateProperties.HORIZONTAL_FACING, Direction.WEST), true)
|
|
PonderUtil.setKineticSpeed(scene, [3, 3, 4, 12, 3, 4], 32)
|
|
scene.idle(40)
|
|
scene.text(140, "当然, 大坝也支持横向拓展, 最少1个转子, 最多13个转子, 且每个转子均可单独输出应力").attachKeyFrame()
|
|
scene.world.hideSection([5, 1, 2, 11, 14, 13], Direction.SOUTH)
|
|
scene.idle(20)
|
|
let side = scene.world.makeSectionIndependent([3, 1, 2, 4, 14, 13])
|
|
scene.world.moveSection(side, [7, 0, 0], 30)
|
|
scene.idle(40)
|
|
scene.world.moveSection(side, [-7, 0, 0], 20)
|
|
scene.idle(20)
|
|
scene.world.showSection([5, 1, 2, 11, 14, 13], Direction.NORTH)
|
|
scene.idle(20)
|
|
let west = scene.world.makeSectionIndependent([4, 1, 2, 7, 14, 13])
|
|
let east = scene.world.makeSectionIndependent([8, 1, 2, 12, 14, 13])
|
|
scene.world.moveSection(side, [-2, 0, 0], 15)
|
|
scene.world.moveSection(west, [-2, 0, 0], 15)
|
|
scene.world.moveSection(east, [3, 0, 0], 15)
|
|
scene.idle(20)
|
|
scene.world.showSection([6, 1, 2, 10, 14, 13], Direction.NORTH)
|
|
scene.idle(20)
|
|
scene.markAsFinished()
|
|
})
|
|
})
|