
Point3D Smoke Code


            if (ModUtils.makeSmokeInAir(world, x, y + 1, z)) break smoke;

            Point3D[] adjacentPositions = {
                    new Point3D(x + 1, y, z),
                    new Point3D(x, y, z + 1),
                    new Point3D(x - 1, y, z),
                    new Point3D(x, y, z - 1),
                    new Point3D(x , y - 1, z),
            };

            Collections.shuffle(Arrays.asList(adjacentPositions));

            for (Point3D position : adjacentPositions) {
                int posX = MathHelper.floor_double(position.getX());
                int posY = MathHelper.floor_double(position.getY());
                int posZ = MathHelper.floor_double(position.getZ());

                if (ModUtils.makeSmokeInAir(world, posX, posY, posZ)) break smoke;
            }
