用户:
幻想一笑而过查看:13 回复:23 评论:13 创建时间:2021-08-11T16:32:10
话不多说
先上代码
稍后解释
console.warn("==完成==");
function moveVoxels(fx, fy, fz, tx, ty, tz, nx, ny, nz) {
if (fx > tx) {
var r = fx; fx = tx, tx = r;
}
if (fy > ty) {
var y = fy; fy = ty, ty = y;
} if (fz > tz) {
var z = fz; fz = tz, tz = z;
} console.warn("==移动中==");
var total = 0;
all = (tx - fx + 1) * (ty - fy + 1) * (tz - fz + 1);
for (let x = fx; x < tx + 1; ++x) {
total += 1;
for (let z = fz; z < tz + 1; ++z) {
total += 1;
for (let y = fy; y < ty + 1; ++y) {
total += 1
voxel = voxels.getVoxelId(x, y, z);
voxels.setVoxelId(x + nx, y + ny, z + nz, voxel);
voxels.setVoxelId(x, y, z, 0);
console.log("已完成:" + total / all * 100 + "%");
}
}
} console.warn("==完成==");
};
module.exports = moveVoxels;
/*
* 控制台使用下方代码
* require('./mv.js')(10,10,10,100,100,100,10,-20,30)
* 以上代码效果: 把x坐标10~100,y坐标10~100,z坐标10~100的区域中所有方块(包括空气方块)的X坐标+10,Y坐标-20,Z坐标+30
* 前三个参数:x,y,z坐标起始位置;四到六个参数:x,y,z坐标结束位置;七到九个参数:x,y,z坐标的变化
* 移动代码比普通速建的执行速度慢1倍,建议使用后立刻重进地图
*/
// 控制台使用速移
/* 幻想一笑而过提供代码
*/
说明
本代码用了3层嵌套for循环(基本操作)
用函数实现操作
具体说明注释有了
这边讲使用方法
使用方法
首先新建工作区,取名 mv
(真的不是那个mv
)
是moveVoxels的缩写
然后输入以上的代码
点击运行按钮
关闭运行
接下来就可以直接在控制台使用了
幻想一笑而过[升级版]
无视空气方块
function moveVoxels(fx, fy, fz, tx, ty, tz, nx, ny, nz, hh) {
if (fx > tx) {
var r = fx; fx = tx, tx = r;
}
if (fy > ty) {
var y = fy; fy = ty, ty = y;
} if (fz > tz) {
var z = fz; fz = tz, tz = z;
} console.warn("==移动中==");
var total = 0;
all = (tx - fx + 1) * (ty - fy + 1) * (tz - fz + 1) * 2;
for (let x = fx; x < tx + 1; ++x) {
total += 1;
for (let z = fz; z < tz + 1; ++z) {
total += 1;
for (let y = fy; y < ty + 1; ++y) {
total += 1
voxel = voxels.getVoxelId(x, y, z);
if (voxel != 0){
voxels.setVoxelId(x + nx, y + ny, z + nz, voxel);
if (hh){
voxels.setVoxelId(x, y, z, 0);
}
console.log("已完成:" + total / all * 100 + "%");
}
}
}
} console.warn("==完成==");
};
module.exports = moveVoxels;
/*
* require('./mv.js')(10,10,10,100,100,100,10,-20,30)
* 以上代码效果: 把x坐标10~100,y坐标10~100,z坐标10~100的区域中所有方块(包括空气方块)的X坐标+10,Y坐标-20,Z坐标+30
* 前三个参数:x,y,z坐标起始位置;四到六个参数:x,y,z坐标结束位置;七到九个参数:x,y,z坐标的变化;
* 第十个参数:只能填写true或false,代表是否删除原来的方块;true:删除;false:不删除
* 移动代码比普通速建的执行速度慢1倍,建议使用后立刻重进地图
*/
// 控制台使用速移
/* 幻想一笑而过提供代码
*/点赞1
评论