猫史档案馆


【代码岛3.0】Alex79的第一个地形速建代码发布!

用户:Alex79Alex79查看:10 回复:6 评论:10 创建时间:2020-09-20T18:03:30


效果:

center_image

代码:

function tree(x,y,z){
    if(voxels.getVoxel(x,y,z)!=voxels.id("water")){
       var rand=1;
    for(let i=y+rand;i<y+4+rand;i++){
            voxels.setVoxel(x,i,z,"acacia");
        }
    for(let i=3+rand;i<5+rand;i++){
        for(let j=-2;j<3;j++){
            for(let k=-2;k<3;k++){
                voxels.setVoxel(x+j,y+i,z+k,"green_leaf");
            }
        }
    }
    for(let j=-1;j<2;j++){
        for(let k=-1;k<2;k++){
            voxels.setVoxel(x+j,y+5+rand,z+k,"green_leaf");
        }
    }
    voxels.setVoxel(x-1,y+6+rand,z,"green_leaf");
    voxels.setVoxel(x,y+6+rand,z,"green_leaf");
    voxels.setVoxel(x+1,y+6+rand,z,"green_leaf");
    voxels.setVoxel(x,y+6+rand,z-1,"green_leaf");
    voxels.setVoxel(x,y+6+rand,z+1,"green_leaf");
    }
    
};

var seaLevel=20;
var xzZoom=10;
var yZoom=5;
var exZ1=5;
var exZ2=5;
var exZ3=20;
var base=15;

(async function(){
for(let i=0;i<127;i+=0.1){
    
    var xh=Math.sin(i/xzZoom)*yZoom;
    for(let j=0;j<127;j+=0.1){
        var zh=Math.sin(Math.cos(j/xzZoom),3)*yZoom*exZ1;
        if(xh+zh+base<seaLevel){
            voxels.setVoxel(i,xh+zh+base,j,"dirt");
            for(let k=0;k<xh+zh+base-1;k++){
                voxels.setVoxel(i,k,j,"dirt");
            }
        }else if(Math.round(xh+zh+base)==seaLevel){
            voxels.setVoxel(i,xh+zh+base,j,"sand");
            for(let k=0;k<xh+zh+base-1;k++){
                voxels.setVoxel(i,k,j,"dirt");
            }
        }else{
            voxels.setVoxel(i,xh+zh+base,j,"grass");
            for(let k=0;k<xh+zh+base-1;k++){
                voxels.setVoxel(i,k,j,"dirt");
            }
        }
        
        
    }
    await sleep(10);
}
for(let i=0;i<127;i++){
    for(let j=0;j<127;j++){
        for(let k=0;k<=seaLevel;k++){
            if(voxels.getVoxel(i,k,j)==0){
                voxels.setVoxel(i,k,j,"water");
            }
        }
    }
}
await sleep(1000);
world.say("开始生成树木");
for(let i=0;i<127;i++){
    for(let j=0;j<127;j++){
        for(let k=0;k<100;k++){
            if(voxels.getVoxel(i,k,j)==voxels.id("grass")){
                if(Math.random()*90<=1){
                    tree(i,k,j);
                }
            }
        }
    }
    await sleep(10);
}
})()

 


回复

上一页1 页 / 共 1下一页
凚离29凚离29

尹子的后人emotion_doge

点赞0


评论


阳光的流熔怪Uyt5阳光的流熔怪Uyt5

代码莫名眼熟

点赞0


评论


YDS尹子YDS尹子

请标注版权

请注意版权意识

请注明原作者

点赞0


评论


洛亦ly洛亦ly

题目眼熟

点赞0


评论


蓝buff蓝buff

dd

 

点赞0


评论


TobylaiTobylai

莫名眼熟,就是改了几个变量值哇...

点赞0


评论