猫史档案馆


[代码案例]跨地图复制建筑(可移动位置)

用户:屑代码师屑代码师查看:1 回复:11 评论:1 创建时间:2023-05-29T21:30:11


哈嗨嗨

此贴是闲来无事发滴()

话不多说上代码()


//跨地图复制建筑代码(可移动位置)~
//阿流出品,必属精品doge
async function a(){
    console.clear()
    const s=[79,9,73]   //这里填起始点坐标
    const f=[124,9,118]//这里填终止点坐标
    const item=[]
    for(let x=s[0];x<f[0]+1;x++){
        for(let y=s[1];y<f[1]+1;y++){
            for(let z=s[2];z<f[2]+1;z++){
                if (`${voxels.getVoxelId(x, y, z)}` > 0) {                          
                    item.push(`[${x-s[0]},${y-s[1]},${z-s[2]},${voxels.getVoxelId(x, y, z)}]`);
                };
            }
        }
        world.say(`已复制${x-s[0]}/${f[0]-s[0]}`)
        await sleep(500)
    }
    world.say('代码生成中……')
    await sleep(500)
    console.log(`var sx = {x : 79, y : 24, z : 99};`);//填写另一个地图开始复制的起始点坐标
    console.log(`const ts = [${item}];for (let i = 0; i < ts.length; i++) {voxels.setVoxel(sx.x+ts[i][0],sx.y+ts[i][1],sx.z+ts[i][2],ts[i][3])}`);         
    world.say('速建代码已完成!!!,请打开控制台复制吧!!!建议先运行另一个地图,再放进控制台,确认无误后再结束运行放进控制台!'); 
}



这里一共有 3 处地方要填写

1 复制的建筑起始点坐标

2 复制的建筑终止点坐标

3 另一地图要复制的起始点坐标

好了没了

 

 

 

 

 

真没了

 

 

啊啊

———————————————————————————————————————————————————————


回复

上一页1 页 / 共 1下一页
magua_magua_

沙发

点赞1


评论


屑怪盗屑怪盗

ddd

 

点赞0


评论


𝙲ℴ𝗌𝔦𝒹ₑ𝑟𝙲ℴ𝗌𝔦𝒹ₑ𝑟

直接记录坐标不好吗()不用记偏移

点赞1


评论


AokenAoken

ddd

点赞0


评论


AokenAoken

ddd

点赞0


评论


ZNS_哪吒ZNS_哪吒

))

点赞0


评论


judgment04judgment04

《转载》

点赞0


评论


DRboxesDRboxes

偷图必备(bushi)

点赞0


评论


yyds二营长yyds二营长

))))

点赞0


评论


code猫的code猫的

// 跨地图复制建筑代码(可移动位置)
// 阿流出品,必属精品doge
async function copyBuilding(start, end, newStart) {
    console.clear();
    const items = [];

    // 遍历立方体区域
    for (let x = start[0]; x <= end[0]; x++) {
        for (let y = start[1]; y <= end[1]; y++) {
            for (let z = start[2]; z <= end[2]; z++) {
                const voxelId = voxels.getVoxelId(x, y, z);
                // 只复制非空的方块
                if (voxelId > 0) {
                    items.push(`[${x - start[0]},${y - start[1]},${z - start[2]},${voxelId}]`);
                }
            }
        }
        world.say(`已复制 ${x - start[0]}/${end[0] - start[0]}`);
        await sleep(500);
    }

    world.say('代码生成中……');
    await sleep(500);
    console.log(`var sx = {x : ${newStart[0]}, y : ${newStart[1]}, z : ${newStart[2]}};`);
    console.log(`const ts = [${items}]; for (let i = 0; i < ts.length; i++) { voxels.setVoxel(sx.x + ts[i][0], sx.y + ts[i][1], sx.z + ts[i][2], ts[i][3]); }`);
    world.say('速建代码已完成!!!请打开控制台复制吧!!!建议先运行另一个地图,再放进控制台,确认无误后再结束运行放进控制台!');
}

// 使用示例
const startPoint = [79, 9, 73];  // 起始点坐标
const endPoint = [124, 9, 118];    // 终止点坐标
const newStartPoint = [79, 24, 99]; // 新地图的起始点坐标

copyBuilding(startPoint, endPoint, newStartPoint) 

 

点赞0


评论


code猫的code猫的

修改后版本

 

点赞0


评论