用户:
一个STUB用户_6715468查看:4 回复:5 评论:4 创建时间:2020-10-16T18:01:44
使用以下代码,可以让水变得非常“物理化”
代码:
var x;
var y;
var z;
world.onTick(({ tick }) => {
for (x = 0; x <= 128; x++){
for (y = 0; y <= 128; y++){
for (z = 0; z <= 128; z++){
if(voxels.getVoxelId(x,y,z)==voxels.id('water')&&voxels.getVoxelId(x,y-1,z)==voxels.id('air')){
voxels.setVoxel(x,y-1,z,voxels.id('water'));
}
if(voxels.getVoxelId(x,y,z)==voxels.id('water')&&voxels.getVoxelId(x-1,y,z)==voxels.id('air')){
voxels.setVoxel(x-1,y,z,voxels.id('water'));
}
if(voxels.getVoxelId(x,y,z)==voxels.id('water')&&voxels.getVoxelId(x+1,y,z)==voxels.id('air')){
voxels.setVoxel(x+1,y,z,voxels.id('water'));
}
if(voxels.getVoxelId(x,y,z)==voxels.id('water')&&voxels.getVoxelId(x,y,z-1)==voxels.id('air')){
voxels.setVoxel(x,y,z-1,voxels.id('water'));
}
if(voxels.getVoxelId(x,y,z)==voxels.id('water')&&voxels.getVoxelId(x,y,z+1)==voxels.id('air')){
voxels.setVoxel(x,y,z+1,voxels.id('water'));
}
}
}
}
});
原理:
让所有的水方块往不同方向克隆
提示:
使用代码后请清除没有围住的水方块
否则后果自负
没事请不要随便举报啊~
代码更新:
var x;
var y;
var z;
world.onTick(({ tick }) => {
if(tick%5==0){
for (x = 0; x <= 128; x++){
for (y = 0; y <= 128; y++){
for (z = 0; z <= 128; z++){
if(voxels.getVoxelId(x,y,z)==voxels.id('water')&&voxels.getVoxelId(x,y-1,z)==voxels.id('air')){
voxels.setVoxel(x,y-1,z,voxels.id('water'));
}else if(voxels.getVoxelId(x,y,z)==voxels.id('water')&&voxels.getVoxelId(x,y-1,z)!=voxels.id('water')){
if(voxels.getVoxelId(x,y,z)==voxels.id('water')&&voxels.getVoxelId(x-1,y,z)==voxels.id('air')){
voxels.setVoxel(x-1,y,z,voxels.id('water'));
}
if(voxels.getVoxelId(x,y,z)==voxels.id('water')&&voxels.getVoxelId(x+1,y,z)==voxels.id('air')){
voxels.setVoxel(x+1,y,z,voxels.id('water'));
}
if(voxels.getVoxelId(x,y,z)==voxels.id('water')&&voxels.getVoxelId(x,y,z-1)==voxels.id('air')){
voxels.setVoxel(x,y,z-1,voxels.id('water'));
}
if(voxels.getVoxelId(x,y,z)==voxels.id('water')&&voxels.getVoxelId(x,y,z+1)==voxels.id('air')){
voxels.setVoxel(x,y,z+1,voxels.id('water'));
}}
}
}
}
}
});
水碰到地面才会扩散
点赞0
评论