用户:
YDS尹子查看:12 回复:7 评论:12 创建时间:2021-07-02T17:40:20
(其实是一个广告)
有山有水的地图会让人感到十分的恰意,所以说,地形很重要呢~
请继续阅读↓

我曾经推出的地形编辑器可以派上用场哦~
http://www.yxtnt.cn/boxTE/terrainEditor.html
先别急着走~有些时候生成出来的地形会有些乱,可以使用下方代码进行平滑~
注意!水平面参数千万别填错!
(async function(){
var waterLevel=5;/*水平面高度 */
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,3喵].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=3喵;
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")}}}
})();