@Override public synchronized void run() { MainPlayerEntity player = bot.getPlayer(); World world = bot.getWorld(); if (player == null || world == null) return; double speed = 0.18 * 3; double x = player.getX(), z = player.getZ(); int lowestY = (int) player.getY(); while (!BlockType.getById(world.getBlockIdAt((int) (x - 0.5), (lowestY - 1), (int) (z - 0.5))) .isSolid() && lowestY > 0) lowestY--; player.setY(player.getY() + Math.max(-speed, lowestY - player.getY())); }