用户:
YDS尹子查看:19 回复:20 评论:19 创建时间:2020-08-13T10:18:23

var seaLevel=10;
var snowLine=75;
var xZoom=15;
var zZoom=12;
var yZoom=45;
var exZ1=1;
var exZ2=1;
var exZ3=12;
var base=30;
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");
}
};
(async function(){
for(let i=0;i<65;i++){
var ii=i-63;
var xh=Math.sin(i/xZoom)*yZoom;
for(let j=0;j<127;j++){
var jj=j-63;
var zh=Math.sin(j/zZoom)*yZoom;
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 if(Math.round(xh+zh+base)>snowLine+10){
voxels.setVoxel(i,xh+zh+base,j,"snow");
for(let k=0;k<xh+zh+base-1;k++){
voxels.setVoxel(i,k,j,"snow");
}
}
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(50);
}
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");
}
}
}
}
for(let i=0;i<127;i++){
for(let j=0;j<127;j++){
for(let k=snowLine;k<snowLine+10;k++){
if(voxels.getVoxel(i,k,j)==voxels.id("grass")&&Math.random()*2<1){
voxels.setVoxel(i,k,j,"snow");
}else if(voxels.getVoxel(i,k,j)==voxels.id("dirt")&&Math.random()*3<1){
voxels.setVoxel(i,k,j,"snow");
}else if(voxels.getVoxel(i,k,j)==voxels.id("water")){
voxels.setVoxel(i,k,j,"ice");
}
}
}
}
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()*60<=1){
tree(i,k,j);
}
}
}
}
await sleep(10);
}
})();