def get_direct_neighbour_coords_general(key: tuple) -> list:
    """
    Gets the direct neighbors given a coordinate key. I.e. if key = (3,3,3),
    then [(2,3,3), (4,3,3), (3,2,3), (3,4,3), (3,3,2), (3,3,4)] is returned.
    """
    coords = []
    key_lst = list(key)
    for i in range(len(key)):
        key_lst[i] -= 1
        coords.append(tuple(key_lst))
        key_lst[i] += 2
        coords.append(tuple(key_lst))
        key_lst[i] -= 1
    return coords