
Lv.1
难受...
在 【喵】地图方块压缩代码+解码 中回复
world.say('开始保存');letblocks=[];functionappend(item){if(blocks.length>0&&blocks[blocks.length-1][0]===item){blocks[blocks.length-1][1]+=1;}else{blocks.push([item,1]);};};functionforEach(fun){for(letlofblocks){for(letx=0;x<l[1];x++){fun(l[0]);};};};letindex=0;(async()=>{for(y=0;y<128;y++){for(x=0;x<128;x++){for(z=0;z<128;z++){append(voxels.getVoxel(x,y,z));index++;if(index%20000==0){world.say(`保存中${index/128**3*100}%`);};};};};world.say('保存完毕');})();lett=[];blocks.forEach((i)=>{t.push([i[0],i[1]]);});global.saveBlocks=t;压缩:world.say('开始解码');letindex=0;letbolckIndex=0;letblock=saveBlocks[0][0];letlastIndex=saveBlocks[0][1];(async()=>{for(y=0;y<128;y++){for(x=0;x<128;x++){for(z=0;z<128;z++){voxels.setVoxel(x,y,z,block);index++;if(index==lastIndex){bolckIndex++;lastIndex+=saveBlocks[bolckIndex][1];block=saveBlocks[bolckIndex][0];};if(index%200000==0){world.say(`解码中${index/128**3*100}%`);}};};}})();world.say('解码完成');本代码仅限小型(128*128*128)地图,如尝试大型(256*256*256)地图可能有卡爆的风险压缩完成的数据将被储存在saveBlocks变量中,可在JSON.stringify后存入SQL,具体存储方式参见https://shequ.codemao.cn/community/354992数组保存方式
2022-03-14T22:04:15 点赞:0
在 退岛信——BOX的离去 中回复
不过我还是要感谢你,其实我是逍遥客,第一次见到你是在“疯狂30秒”那次的活动,我们应该算是老朋友了(布吉岛),其实很早以前我就有编辑资格了,可是我当时不知道用来干嘛,因为你那一次帮我,让我有了做图的信念,所以成就了现在的我(现在Box叫Avant),有空的话你可以回来看看
2022-03-18T18:41:14 点赞:0