diff --git a/src/main.c b/src/main.c index 0ab1b8d..ae83cde 100644 --- a/src/main.c +++ b/src/main.c @@ -187,8 +187,11 @@ void handlePacket (int client_fd, int length, int packet_id, int state) { // Handle fall damage if (on_ground) { int16_t damage = player->grounded_y - player->y - 3; - if (damage > 0 && getBlockAt(player->x, player->y, player->z) != B_water) { - hurtEntity(client_fd, -1, D_fall, damage); + if (damage > 0) { + uint8_t block_feet = getBlockAt(player->x, player->y, player->z); + if (block_feet < B_water || block_feet > B_water + 7) { + hurtEntity(client_fd, -1, D_fall, damage); + } } player->grounded_y = player->y; }