猫史档案馆


【box3】快速生成简易枫树

用户:机敏的月见草VbEk机敏的月见草VbEk查看:2 回复:5 评论:2 创建时间:2021-12-27T07:22:41


使用代码前建议先在喵稿图测试,以免造成生成位置错误。

spacing = 12; /*枫树间距*/



/*调整生成范围*/

g_h = 8;/*地面高度*/
lo_x = 8; /*生成枫树树干位置的 x 不低于该值*/
hi_x = 65; /*生成枫树树干位置的 x 不高于该值*/
lo_z = 8; /*生成枫树树干的 z 不低于该值*/
hi_z = 65; /*生成枫树树干位置的 z 不高于该值*/



async function tree(set){
    wood = 257;
    leaf = 253;
    for (let y=set.y+1;y<set.y+8;y++){
        if (voxels.getVoxel(set.x,y,set.z) === 0){
            voxels.setVoxel(set.x,y,set.z,wood)
        }
    };
    if (voxels.getVoxel(set.x+1,set.y+5,set.z) === 0){
        voxels.setVoxel(set.x+1,set.y+5,set.z,leaf)
    };
    if (voxels.getVoxel(set.x-1,set.y+5,set.z) === 0){
        voxels.setVoxel(set.x-1,set.y+5,set.z,leaf)
    };
    if (voxels.getVoxel(set.x,set.y+5,set.z+1) === 0){
        voxels.setVoxel(set.x,set.y+5,set.z+1,leaf)
    };
    if (voxels.getVoxel(set.x,set.y+5,set.z-1) === 0){
        voxels.setVoxel(set.x,set.y+5,set.z-1,leaf)
    };
    for (let x=set.x-1;x<set.x+2;x++){
        for (let y=set.y+8;y<set.y+13;y++){
            for (let z=set.z-1;z<set.z+2;z++){
                if (voxels.getVoxel(x,y,z) === 0){
                    voxels.setVoxel(x,y,z,leaf)
                }
            }
        }
    };
    for (let x=set.x-2;x<set.x+3;x++){
        for (let y=set.y+9;y<set.y+12;y++){
            for (let z=set.z-2;z<set.z+3;z++){
                if (voxels.getVoxel(x,y,z) === 0){
                    voxels.setVoxel(x,y,z,leaf)
                }
            }
        }
    };
    for (let x=set.x-3;x<set.x+4;x++){
        for (let y=set.y+9;y<set.y+11;y++){
            for (let z=set.z-1;z<set.z+2;z++){
                if (voxels.getVoxel(x,y,z) === 0){
                    voxels.setVoxel(x,y,z,leaf)
                }
            }
        }
    };
    for (let x=set.x-1;x<set.x+2;x++){
        for (let y=set.y+9;y<set.y+11;y++){
            for (let z=set.z-3;z<set.z+4;z++){
                if (voxels.getVoxel(x,y,z) === 0){
                    voxels.setVoxel(x,y,z,leaf)
                }
            }
        }
    };
}   
for (let x=lo_x;x<hi_x;x+=spacing){for (let z=lo_z;z<hi_z;z+=spacing){tree(new Box3Vector3(x,g_h,z))}};

 

 


回复

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

岛3人才辈出,加油!

点赞0


评论


不叫Fannas叫贝奇不叫Fannas叫贝奇

好耶

点赞0


评论


学霸霸题学霸霸题

谢~

点赞0


评论


墨染云天墨染云天

imgsrc="https://static.codemao.cn/emoji/codemao/%E7%BC%96%E7%A8%8B%E7%8C%AB_%E7%82%B9%E8%B5%9E.gif"alt="emotion_编程猫_点赞"

点赞0


评论


小白鸡小白鸡

我也申请了

点赞0


评论