猫史档案馆


【岛3速建】沙漠地形模板

用户:全能代码师全能代码师查看:2 回复:9 评论:2 创建时间:2021-08-07T22:12:14


 

/*world的长宽高*/
let worldx = 128;
let worldy = 128;
let worldz = 128;
(async function () {
    for (let x = 0; x < worldx; x++) {
        for (let z = 0; z < worldz; z++) {
            for (let y = 0; y < worldy; y++) {
                voxels.setVoxel(x, y, z, 0);
            };
        };
    };
    await sleep(3000);
    /*地形*/ 
    for (let x = 0; x < worldx; x++) {
        for (let z = 0; z < worldz; z++) {
            for (let y = 0; y < 9; y++) {
                voxels.setVoxel(x, y, z, 'sand');
            };
        };
    };
    await sleep(3000);
    for (let x = 0; x < worldx; x++) {
        for (let z = 0; z < worldz; z++) {
            if (voxels.getVoxel(x, 9, z) == 0) {
                if (voxels.getVoxel(x, 9 - 1, z) != 0) {
                    if (Math.random() < 0.005) {
                        cylinder('sand', x, 9, z, 5 + Math.random() * 5, Math.random() * 2)
                    }
                }
            }
        };
    };
    await sleep(3000);
    /*生成仙人掌*/ 
    for (let x = 0; x < worldx; x++) {
        for (let z = 0; z < worldz; z++) {
            for (let y = 0; y < worldy; y++) {
                if (voxels.getVoxel(x, y, z) == 0) {
                    if (voxels.getVoxel(x, y - 1, z) != 0) {
                        if (Math.random() < 0.005) {
                            voxels.setVoxel(x, y, z, 'leaf_05');
                            voxels.setVoxel(x, y + 1, z, 'leaf_05');
                            if (Math.random() < 0.3) {
                                voxels.setVoxel(x, y + 2, z, 'leaf_05');
                            };
                        };
                    };
                };
            };
        };
    };
})();

function cylinder(vox, cx, cy, cz, radius, height) {
    var xend = cx + radius;
    var yend = cy + height;
    var zend = cz + radius;
    for (let x = cx - radius; x <= xend; x++) {
        for (let z = cz - radius; z <= zend; z++) {
            let dx = x - cx;
            let dz = z - cz;
            if (Math.round(Math.sqrt(dx * dx + dz * dz)) <= radius) {
                for (let y = cy; y < yend; y++) {
                    voxels.setVoxel(x, y, z, vox);
                };
            };
        };
    };
};

center_image


回复

上一页1 页 / 共 1下一页
全能代码师全能代码师

如果是超大地图可以把worldx,y,z换一下

点赞0


评论


全能代码师全能代码师

可以直接食用

点赞0


评论


JYF_斗罗JYF_斗罗

👍👍👍

点赞0


评论


全能代码师全能代码师

ddd

点赞0


评论


全能代码师全能代码师

ddd

点赞0


评论


SSR级学霸_拉文克劳SSR级学霸_拉文克劳

噢会长,能弄出沙漠绿洲吗

点赞0


评论


YDS尹子YDS尹子

)))山能不能高一点

点赞0


评论


./'./'

超大地图 [super bag map]

/*world的长宽高*/
let worldx = 256;
let worldy = 喵;
let worldz = 256;
(async function () {
    for (let x = 0; x < worldx; x++) {
        for (let z = 0; z < worldz; z++) {
            for (let y = 0; y < worldy; y++) {
                voxels.setVoxel(x, y, z, 0);
            };
        };
    };
    await sleep(3000);
    /*地形*/ 
    for (let x = 0; x < worldx; x++) {
        for (let z = 0; z < worldz; z++) {
            for (let y = 0; y < 9; y++) {
                voxels.setVoxel(x, y, z, 'sand');
            };
        };
    };
    await sleep(3000);
    for (let x = 0; x < worldx; x++) {
        for (let z = 0; z < worldz; z++) {
            if (voxels.getVoxel(x, 9, z) == 0) {
                if (voxels.getVoxel(x, 9 - 1, z) != 0) {
                    if (Math.random() < 0.005) {
                        cylinder('sand', x, 9, z, 5 + Math.random() * 5, Math.random() * 2);
                    };
                };
            };
        };
    };
    await sleep(3000);
    /*生成仙人掌*/ 
    for (let x = 0; x < worldx; x++) {
        for (let z = 0; z < worldz; z++) {
            for (let y = 0; y < worldy; y++) {
                if (voxels.getVoxel(x, y, z) == 0) {
                    if (voxels.getVoxel(x, y - 1, z) != 0) {
                        if (Math.random() < 0.005) {
                            voxels.setVoxel(x, y, z, 'leaf_05');
                            voxels.setVoxel(x, y + 1, z, 'leaf_05');
                            if (Math.random() < 0.3) {
                                voxels.setVoxel(x, y + 2, z, 'leaf_05');
                            };
                        };
                    };
                };
            };
        };
    };
})();

function cylinder(vox, cx, cy, cz, radius, height) {
    var xend = cx + radius;
    var yend = cy + height;
    var zend = cz + radius;
    for (let x = cx - radius; x <= xend; x++) {
        for (let z = cz - radius; z <= zend; z++) {
            let dx = x - cx;
            let dz = z - cz;
            if (Math.round(Math.sqrt(dx * dx + dz * dz)) <= radius) {
                for (let y = cy; y < yend; y++) {
                    voxels.setVoxel(x, y, z, vox);
                };
            };
        };
    };
};

点赞1


评论


Stephan轩Stephan轩

这都什么时候的帖了()

点赞0


评论