@Override
    default boolean updateExternalConns() {
        int connMap = getConnMap() & ~0xF000FF;
        for (int r = 0; r < 4; r++) {
            if (!maskOpen(r)) continue;
            if (discoverStraight(r)) {
                connMap |= 0x10 << r;
            } else {
                int cornerMode = discoverCorner(r);
                if (cornerMode != 0) {
                    connMap |= 1 << r;
                    if (cornerMode == 2) connMap |= 0x100000 << r;
                }
            }
        }
        if (connMap != getConnMap()) {
            int diff = connMap ^ getConnMap();
            setConnMap(connMap);
            // Notify corners, normal block updates won't touch them
            for (int r = 0; r < 4; r++) {
                if ((diff & (1 << r)) != 0) { notifyCorner(r); }
            }
            return true;
        }
        return false;
    }
Tries to locate a corner connectable part towards r and establish a connection.

@param r The rotation towards the external corner part
@return True if connection was established
core/src/main/java/mrtjp/projectred/core/part/IConnectableFacePart.java