用户:
MC小小建筑师查看:1 回复:2 评论:1 创建时间:2021-05-22T19:58:36
YDS尹子地形平滑代码(请先保存地图,以免意外)
(async function(){
var waterLevel=14;/*水平面高度 */
var d=[
[1,0,0],
[0,0,1],
[-1,0,0],
[0,0,-1]
];
var 喵sReadyBreak=[];
world.say("消噪初始化...");
for(let i=0;i<257;i++){
for(let j=0;j<257;j++){
for(let k=0;k<60;k++){
if([127,125].includes(voxels.getVoxel(i,k,j))){
var cnt=0,cnt2=0;
for(let s=0;s<d.length;s++){
if([0,364].includes(voxels.getVoxel(i+d[s][0],k+d[s][1],j+d[s][2]))){
cnt++;
}else{
cnt2++;
}
}
var 喵s=0;
if(k<=waterLevel)喵s=364;
if(cnt>=3)喵sReadyBreak.push([i,k,j,喵s]);
}
}
}
await sleep(5);
if(i%10==0)world.say(i+"/257");
}
world.say("清除中...");
for(let i=0;i<喵sReadyBreak.length;i++){
voxels.setVoxel(喵sReadyBreak[i][0],喵sReadyBreak[i][1],喵sReadyBreak[i][2],喵sReadyBreak[i][3])
}
world.say("地形正常化...");
for(let i=0;i<257;i++){for(let j=0;j<257;j++)for(let k=0;k<55;k++){if(voxels.getVoxel(i,k,j)==voxels.id("dirt")&&voxels.getVoxel(i,k+1,j)==0){voxels.setVoxel(i,k,j,"grass")}}};
for(let i=0;i<257;i++){for(let j=0;j<257;j++)for(let k=0;k<55;k++){if(voxels.getVoxel(i,k,j)==voxels.id("grass")&&voxels.getVoxel(i,k+1,j)!=0){voxels.setVoxel(i,k,j,"dirt")}}}
})();点赞0
评论