From b16c0b64665350bc3f63108fd22d50bef714a2ec Mon Sep 17 00:00:00 2001 From: xtreme8000 Date: Thu, 21 Nov 2019 18:03:20 +0100 Subject: [PATCH] Preserve existing blocks during linebuild Close #93 --- src/network.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/network.c b/src/network.c index d33fae8..df242c4 100644 --- a/src/network.c +++ b/src/network.c @@ -246,10 +246,12 @@ void read_PacketBlockLine(void* data, int len) { struct Point blocks[64]; int len = map_cube_line(p->sx,p->sy,p->sz,p->ex,p->ey,p->ez,blocks); while(len>0) { - map_set(blocks[len-1].x,63-blocks[len-1].z,blocks[len-1].y, - players[p->player_id].block.red | - (players[p->player_id].block.green<<8) | - (players[p->player_id].block.blue<<16)); + if(map_isair(blocks[len-1].x,63-blocks[len-1].z,blocks[len-1].y)) { + map_set(blocks[len-1].x,63-blocks[len-1].z,blocks[len-1].y, + players[p->player_id].block.red | + (players[p->player_id].block.green<<8) | + (players[p->player_id].block.blue<<16)); + } len--; } }