猫史档案馆


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

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

(真的不是那个mvemotion_doge

是moveVoxels的缩写

然后输入以上的代码

点击运行按钮

关闭运行

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


回复

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

沙发

点赞0


评论


时当日色QWQ时当日色QWQ

地板

点赞0


评论


Architect_皮卡awaArchitect_皮卡awa

emotion_doge

点赞0


评论


神兽喵神兽喵

nb

点赞0


评论


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

屑)不强)

点赞1


评论


umbrallawwumbrallaww

。、()

点赞0


评论


伴雪纷飞伴雪纷飞

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

点赞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


评论


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

dd

 

 

 

 

点赞0


评论


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

 

 

 

点赞0


评论


FML饭米粒FML饭米粒

为啥原本是这样的center_image

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

 

点赞0


评论


a_b_c_a_b_c_

.

 

点赞0


评论


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

点赞0


评论


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

dd

 

点赞0


评论


浮生awa浮生awa

洛阳铲?挖?!

点赞0


评论


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

顶顶

点赞0


评论


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

顶顶啊

点赞0


评论


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

ddd

点赞0


评论


DebugDynamoDebugDynamo

《挖坟》

点赞0


评论


GZ006GZ006

a1

点赞0


评论