private Vector3 getNormal(Face face) {
        switch (face) {
            case LEFT:
                return new Vector3(-1, 0, 0);
            case BOTTOM:
                return new Vector3(0, -1, 0);
            case BACK:
                return new Vector3(0, 0, -1);
            case RIGHT:
                return new Vector3(1, 0, 0);
            case TOP:
                return new Vector3(0, 1, 0);
            case FRONT:
                return new Vector3(0, 0, 1);
        }
        throw new IllegalArgumentException("Invalid face: " + face);
    }