猫史档案馆


【神奇代码岛】最新研究的方块 速 移 代码!

用户:幻想一笑而过幻想一笑而过查看:13291 回复: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

(真的不是那个mvemotion_doge)

是moveVoxels的缩写

然后输入以上的代码

点击运行按钮

关闭运行

接下来就可以直接在控制台使用了


回复

上一页第 1 页 / 共 1 页下一页
AlcalaAlcala

沙发

点赞0


评论

认证


时当日色QWQ时当日色QWQ

地板

点赞0


评论

认证


Architect_皮卡awaArchitect_皮卡awa

emotion_doge

点赞0


评论

真的不是你临时写的那个屑代码))

XD


神兽喵神兽喵

nb

点赞0


评论


该账号已被封禁该账号已被封禁

屑)不强)

点赞1


评论

弱诶)


umbrallawwumbrallaww

。、()

点赞0


评论

mv是什么()


伴雪纷飞伴雪纷飞

挺好的,但现在它是我的了)天花板认证

点赞0


评论


YDS尹子YDS尹子

////

点赞1


评论

在?


幻想一笑而过幻想一笑而过

dd

 

 

 

点赞0


评论


一个STUB用户_6923702一个STUB用户_6923702

hhh

点赞0


评论


幻想一笑而过幻想一笑而过

[升级版]

无视空气方块

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


评论

注意!新增第10个参数!


幻想一笑而过幻想一笑而过

dd

 

 

 

 

点赞0


评论


幻想一笑而过幻想一笑而过

喵

 

 

 

点赞0


评论


FML饭米粒FML饭米粒

为啥原本是这样的center_image

移成了这样的(请忽略模型)center_image

 

点赞0


评论

你参数没调好吧,这是要区域100%准确才行

我从墙脚下量的。。。(别管上面的白色屋檐)

...

的确是你参数错了,我实测过12次,代码是完全没有问题的


a_b_c_a_b_c_

.

 

点赞0


评论


幻想一笑而过幻想一笑而过

喵

点赞0


评论


幻想一笑而过幻想一笑而过

dd

 

点赞0


评论

幻想!!!!


浮生awa浮生awa

洛阳铲?挖?!

点赞0


评论


幻想一笑而过幻想一笑而过

顶顶

点赞0


评论


幻想一笑而过幻想一笑而过

顶顶啊

点赞0


评论


幻想一笑而过幻想一笑而过

ddd

点赞0


评论


DebugDynamoDebugDynamo

《挖坟》

点赞0


评论


GZ006GZ006

a1

点赞0


评论