
Lv.1
我披星斩月 我奋不顾身 只为证明 你是个托(
在 [建筑师福利] 建筑工具 (build-my-best-map) 中回复
我放一下,求shyfcka置顶!
(async()=>{let e="none",p=["正在启动"],l="",o={p1:null,p2:null,preview:null,voxel:null,backUp:[]};Object.defineProperties(global,{fill:{get:()=>{e="fill"}},fp1:{set:e=>{if(e&&"string"==typeof e){l="";let p=e.split(" ");3!=p.length?l="fp1应该是一个位置字符串,一共3个数字,中间用空格隔开":isNaN(p[0])||isNaN(p[1])||isNaN(p[2])?l="fp1中的3段数据必须都是正确的数字":o.p1=new Box3Vector3(Number(p[0]),Number(p[1]),Number(p[2]))}else l='请将fp1设置为XYZ位置字符串\n示例: fp1="喵 15 63"'}},fp2:{set:e=>{if(e&&"string"==typeof e){l="";let p=e.split(" ");3!=p.length?l="fp2该是一个位置字符串,一共3个数字,中间用空格隔开":isNaN(p[0])||isNaN(p[1])||isNaN(p[2])?l="fp2中的3段数据必须都是正确的数字":o.p2=new Box3Vector3(Number(p[0]),Number(p[1]),Number(p[2]))}else l='请将fp2设置为XYZ位置字符串\n示例: fp2="喵 15 63"'}},fv:{set:e=>{l="",e&&"string"==typeof e?o.voxel=voxels.id(e):"number"==typeof e?o.voxel=e:l="请将fv设置为 方块数字ID 或者 方块英文名\n示例: fv = 'dirt'"}},fno:{get:()=>{if(l="",o.preview){o.preview=!1;let e=Math.min(o.p2.x,o.p1.x),p=Math.max(o.p2.x,o.p1.x),l=Math.min(o.p2.y,o.p1.y),t=Math.max(o.p2.y,o.p1.y),n=Math.min(o.p2.z,o.p1.z),s=Math.max(o.p2.z,o.p1.z);for(let f=e;f<=p;f++)for(let e=l;e<=t;e++)for(let p=n;p<=s;p++)voxels.setVoxel(f,e,p,o.backUp[0]),o.backUp.slice(0)}else l="你还没有预览填充,无法进行这个操作"}},fdone:{get:()=>{if(l="",o.p1&&o.p2&&o.voxel||(l="填充信息不完整"),o.preview)o.p1=o.p2=o.p3=o.voxel=null,o.preview=!1,e="none";else{o.backUp=[],o.preview=!0;let e=Math.min(o.p2.x,o.p1.x),p=Math.max(o.p2.x,o.p1.x),l=Math.min(o.p2.y,o.p1.y),t=Math.max(o.p2.y,o.p1.y),n=Math.min(o.p2.z,o.p1.z),s=Math.max(o.p2.z,o.p1.z);for(let f=e;f<=p;f++)for(let e=l;e<=t;e++)for(let p=n;p<=s;p++)o.backUp.push(voxels.getVoxel(f,e,p)),voxels.setVoxel(f,e,p,o.voxel)}}}}),world.onTick(()=>{p=["---------"],"fill"==e?(p.push("填充模式:"),p.push(o.p1?` 对角点1: <${o.p1.x},${o.p1.y},${o.p1.z}>`:" 对角点1: <未选择>"),p.push(o.p2?` 对角点2: <${o.p2.x},${o.p2.y},${o.p2.z}>`:" 对角点2: <未选择>"),p.push(o.voxel?` 填充方块: ${voxels.name(o.voxel)} (${o.voxel})`:" 填充方块: <未选择>"),o.p1&&o.p2&&o.voxel||p.push("提示:\n 通过设置变量fp1 和 fp2 来设置对角点\n 通过设置变量fv 来指定填充使用的方块"),o.p1&&o.p2&&o.voxel&&!o.preview&&p.push("提示:\n 输入fdone进行填充预览"),o.preview&&p.push("提示:\n 再次输入fdone确认填充\n输入fno撤销操作")):p.push("未选择模式,\n输入fill选择填充模式"),p.push("---------");let t=p.join("\n");console.clear(),console.log(t),console.error(l)})})();
2020-07-31T20:39:08 点赞:1
在 【代码岛3.0超级干货】区块整体移动,大陆漂移和大陆下沉 中回复
for(var x = 0;x<=64;x++){ //遍历x区域,我这里遍历的区域是0~64,可以自行更改
for(var y = 0;y<=50;y++){ //遍历y区域,我这里遍历的区域是0~50,可以自行更改
for(var z = 0;z<=64;z++){ //遍历z区域,我这里遍历的区域是0~64,可以自行更改
voxels.setVoxelId(x, y-5, z, voxels.getVoxelId(x,y,z)); //根据遍历的区块,将整个区块的所有方块在指定坐标重建,我这里在原来的基础上把y坐标减了5,就是让大陆整体下沉五格
voxels.setVoxel(x, y, z, 0); //删除旧的区块
}
}
}2020-08-02T19:05:14 点赞:0