Ponder.registry(event => { event.create([ "createdelight:big_centrifuge", "createdelight:centrifuge_rotor" ]) .scene( "createdelight:big_centrifuge", "大型离心机", "createdelight:ponder_big_centrifuge", (builder, util) => { let scene = new $CreateSceneBuilder(builder) scene.showBasePlate() scene.idle(20) scene.text(40, "先让我们快速的搭建一下基础结构").attachKeyFrame() scene.idle(40) for (let i = 0; i < 7; i++) { scene.world.showSection([2, i + 1, 2, 6, i + 1, 6], Direction.DOWN) scene.idle(10) } scene.text(40, "OK,搭建完毕!").attachKeyFrame() scene.idle(40) scene.text(40, "在这个多方块结构中, 任意的钢制机壳都可以被钢制输入/输出总线代替", [2, 3.5, 4.5]).attachKeyFrame() scene.world.replaceBlocks([2, 3, 4], Block.id("createdelight:steel_export_bus").blockState.trySetValue($BlockStateProperties.FACING, Direction.WEST), true) scene.world.replaceBlocks([2, 6, 4], Block.id("createdelight:steel_export_bus").blockState.trySetValue($BlockStateProperties.FACING, Direction.WEST), true) scene.idle(40) scene.rotateCameraY(90) scene.text(40, "在这个多方块结构中, 任意的钢制机壳都可以被钢制输入/输出总线代替", [7, 3.5, 4.5]) scene.world.replaceBlocks([6, 3, 4], Block.id("createdelight:steel_export_bus").blockState.trySetValue($BlockStateProperties.FACING, Direction.EAST), true) scene.world.replaceBlocks([6, 6, 4], Block.id("createdelight:steel_export_bus").blockState.trySetValue($BlockStateProperties.FACING, Direction.EAST), true) scene.idle(40) scene.rotateCameraY(90) scene.text(40, "在这个多方块结构中, 任意的钢制机壳都可以被钢制输入/输出总线代替", [4.5, 3.5, 7]) scene.world.replaceBlocks([4, 3, 6], Block.id("createdelight:steel_export_bus").blockState.trySetValue($BlockStateProperties.FACING, Direction.SOUTH), true) scene.world.replaceBlocks([4, 6, 6], Block.id("createdelight:steel_export_bus").blockState.trySetValue($BlockStateProperties.FACING, Direction.SOUTH), true) scene.idle(40) scene.rotateCameraY(180) scene.idle(40) scene.addKeyframe() scene.text(40, "此处为应力输入口, 转速至少为32", [4.5, 3, 4.5]) scene.world.hideSection([2, 3, 2, 6, 7, 6], Direction.UP) scene.idle(40) scene.text(40, "配方速度随转速增加而线性增加, 当转速达到256时配方速度*4", [4.5, 3, 4.5]) scene.idle(40) scene.world.showSection([2, 3, 2, 6, 7, 6], Direction.DOWN) scene.idle(25) scene.addKeyframe() scene.overlay.showOutline("blue", {}, [3, 3, 2, 5, 6, 2], 40) scene.overlay.showOutline("blue", {}, [2, 4, 3, 2, 5, 5], 40) scene.overlay.showOutline("blue", {}, [6, 4, 3, 6, 5, 5], 40) scene.overlay.showOutline("blue", {}, [2, 3, 3], 40) scene.overlay.showOutline("blue", {}, [2, 6, 3], 40) scene.overlay.showOutline("blue", {}, [2, 3, 5], 40) scene.overlay.showOutline("blue", {}, [2, 6, 5], 40) scene.overlay.showOutline("blue", {}, [6, 3, 3], 40) scene.overlay.showOutline("blue", {}, [6, 6, 3], 40) scene.overlay.showOutline("blue", {}, [6, 3, 5], 40) scene.overlay.showOutline("blue", {}, [6, 6, 5], 40) scene.text(40, "其中的钢制通透玻璃机壳也可以使用钢制玻璃机壳/普通钢制机壳", [4, 4.5, 2.5]) scene.world.replaceBlocks([3, 3, 2, 5, 6, 2], Block.id("createdelightcore:steel_glass_casing").blockState, true) scene.world.replaceBlocks([2, 4, 3, 2, 5, 5], Block.id("createdelightcore:steel_casing").blockState, true) scene.world.replaceBlocks([2, 3, 3], Block.id("createdelightcore:steel_casing").blockState, true) scene.world.replaceBlocks([2, 6, 3], Block.id("createdelightcore:steel_casing").blockState, true) scene.world.replaceBlocks([2, 3, 5], Block.id("createdelightcore:steel_casing").blockState, true) scene.world.replaceBlocks([2, 6, 5], Block.id("createdelightcore:steel_casing").blockState, true) scene.idle(40) scene.world.replaceBlocks([3, 3, 2, 5, 6, 2], Block.id("createdelightcore:steel_clear_glass_casing").blockState, false) scene.world.replaceBlocks([2, 4, 3, 2, 5, 5], Block.id("createdelightcore:steel_clear_glass_casing").blockState, false) scene.world.replaceBlocks([2, 3, 3], Block.id("createdelightcore:steel_clear_glass_casing").blockState, false) scene.world.replaceBlocks([2, 6, 3], Block.id("createdelightcore:steel_clear_glass_casing").blockState, false) scene.world.replaceBlocks([2, 3, 5], Block.id("createdelightcore:steel_clear_glass_casing").blockState, false) scene.world.replaceBlocks([2, 6, 5], Block.id("createdelightcore:steel_clear_glass_casing").blockState, false) scene.idle(40) scene.addKeyframe() scene.world.hideSection([3, 3, 2, 5, 7, 2], Direction.NORTH) scene.world.hideSection([2, 3, 3, 2, 7, 5], Direction.WEST) scene.world.hideSection([3, 6, 3, 5, 7, 5], Direction.UP) // scene.world.hideSection([6, 3, 3, 5, 7, 5], Direction.EAST) // scene.world.hideSection([3, 3, 6, 5, 7, 5], Direction.SOUTH) scene.text(40, "注意, 离心机转子扭矩为64", [4.5, 4.5, 4.5]) scene.idle(40) scene.text(140, "离心机基础并行数为16") scene.text(140, "其中离心机转子可以叠加, 最少一层, 最多三层, 每层离心机转子使得配方速度*4, 且可与转速叠加", [4.5, 4.5, 4.5]) scene.idle(20) let top = scene.world.makeSectionIndependent([4, 5, 4, 4, 5, 4]) scene.world.hideSection([4, 4, 4], Direction.EAST) scene.idle(20) scene.world.moveSection(top, [0, -1, 0], 15) scene.idle(40) scene.world.moveSection(top, [0, 2, 0], 15) scene.idle(20) scene.world.showSection([4, 4, 4, 4, 5, 4], Direction.EAST) scene.idle(40) scene.world.hideSection([4, 3, 4, 4, 5, 4], Direction.UP) scene.world.hideIndependentSection(top, Direction.UP) scene.idle(20) scene.world.showSection([3, 3, 2, 5, 7, 2], Direction.SOUTH) scene.world.showSection([2, 3, 3, 2, 7, 5], Direction.EAST) scene.world.showSection([3, 3, 3, 5, 7, 5], Direction.DOWN) scene.idle(20) scene.markAsFinished() }) .scene( "createdelight:using_big_centrifuge", "大型离心机的使用", "createdelight:ponder_big_centrifuge_use", (builder, util) => { let scene = new $CreateSceneBuilder(builder) scene.showBasePlate() scene.idle(20) scene.text(40, "现在让我们来学习一下如何使用大型离心机").attachKeyFrame() scene.idle(40) scene.world.showSection([2, 1, 2, 6, 7, 6], Direction.DOWN) scene.idle(20) scene.text(40, "首先你需要几个输入/输出总线...", [2, 2.5, 4.5]).attachKeyFrame() scene.world.replaceBlocks([2, 2, 4], Block.id("createdelight:steel_export_bus").blockState.trySetValue($BlockStateProperties.FACING, Direction.WEST), true) scene.idle(20) scene.rotateCameraY(90) scene.idle(20) scene.world.replaceBlocks([6, 2, 4], Block.id("createdelight:steel_import_bus").blockState.trySetValue($BlockStateProperties.FACING, Direction.EAST), true) scene.idle(20) scene.rotateCameraY(-90) scene.idle(20) scene.text(40, "然后将输入/输出总线接入你的工厂").attachKeyFrame() scene.world.showSection([1, 2, 4], Direction.EAST) scene.idle(20) scene.rotateCameraY(90) scene.idle(20) scene.world.showSection([7, 2, 4, 9, 1, 5], Direction.WEST) scene.idle(20) scene.text(40, "输入你要离心的材料(这里用污浊铁粉做示范)").attachKeyFrame() scene.idle(45) scene.showControls(40, [8.5, 1.5, 4.6], "up").withItem("createmetallurgy:dirty_iron_dust") scene.text(40, "输入污浊铁粉") let dirty_iron_dust = scene.world.createItemEntity( [8.5, 4, 4.5], [0, 0, 0], "64x createmetallurgy:dirty_iron_dust" ) scene.idle(10) PonderUtil.removeEntity(scene, dirty_iron_dust) PonderUtil.createItemOnBelt(scene, [8, 1, 4], Direction.UP, Item.of("64x createmetallurgy:dirty_iron_dust")) scene.idle(20) PonderUtil.flapFunnel(scene, [7, 2, 4], false) PonderUtil.setKineticSpeed(scene, [4, 2, 4, 4, 5, 4], 128) PonderUtil.removeItemsFromBelt(scene, [7, 1, 4]) scene.idle(40) scene.rotateCameraY(-90) scene.idle(40) PonderUtil.multiplyKineticSpeed(scene, [4, 2, 4, 4, 5, 4], 1/2) scene.idle(2) PonderUtil.multiplyKineticSpeed(scene, [4, 2, 4, 4, 5, 4], 1/2) scene.idle(2) PonderUtil.multiplyKineticSpeed(scene, [4, 2, 4, 4, 5, 4], 1/2) scene.idle(2) PonderUtil.multiplyKineticSpeed(scene, [4, 2, 4, 4, 5, 4], 0) scene.text(40, "等待一段时间后, 产出铁粉及其副产物").attachKeyFrame() scene.idle(20) scene.showControls(40, [1.5, 2.5, 4.6], "down").withItem('createmetallurgy:iron_dust') PonderUtil.flapFunnel(scene, [1, 2, 4], true) scene.world.createItemEntity( [1.5, 2.3, 4.5], [0, 0, 0], "64x createmetallurgy:iron_dust" ) scene.idle(20) PonderUtil.flapFunnel(scene, [1, 2, 4], true) scene.world.createItemEntity( [1.5, 2.3, 4.5], [0, 0, 0], "16x createmetallurgy:iron_dust" ) scene.idle(20) PonderUtil.flapFunnel(scene, [1, 2, 4], true) scene.world.createItemEntity( [1.5, 2.3, 4.5], [0, 0, 0], "48x minecraft:redstone" ) scene.idle(5) scene.showControls(20, [1.5, 2.5, 4.6], "down").withItem('minecraft:redstone') scene.idle(20) scene.markAsFinished() }) })