Почему мой сортировщик предметов не работает?

Sep 11 2020

Я создал два сортировщика предметов, чтобы продемонстрировать эту проблему. У одного есть бункеры прямо под струей воды, вот так:

Обозначения: I = лед, H (стрелка) = бункер направлен в направлении стрелки, H = бункер вниз, W = струя воды.
Нижний слой:

IIIH ↓ H ↓ II

Верхний слой:
WWWWWWW

Бункеры подключены к сортировщику предметов, у которого со стороны стрелки стрелки есть компаратор. Этот сортировщик работает.

Второй дизайн такой же, только вот нижний слой:

IIIIIII
      H ↓ H ↓

Сундук находится в углу, из-за чего предметы кладутся на лед и край бункера. Предметы ДОЛЖНЫ подбираться бункером, но не сортируются. Манекены также отсасываются. Что происходит и как это исправить?

Ответы

1 SF. Sep 14 2020 at 21:09

Любой бункер способен:

  1. тянуть предметы сверху, из любого контейнера или открытого пространства
  2. вытолкните их в любой контейнер, в который он указывает.

Блокировка бункера путем его включения блокирует обе способности одновременно - он действует как инертный контейнер - что означает, что другие, неблокированные бункеры все еще могут вставлять в него предметы или высасывать их.

Сортировщику необходимо вытащить элементы из «потока» выше и одновременно держать его заблокированным в отсутствие «лишних» элементов, чтобы удерживать элементы фильтра. Это достигается за счет использования двух бункеров: верхний содержит элементы фильтра и может вытаскивать предметы из потока, пока у него есть место для их захвата, и сигнализировать «избыток», в то время как нижний отвечает за вытаскивание излишков, и не вытягивает их, когда остается только «нормальное» количество. Это означает, что всасывающая способность нижнего бункера блокируется факелом из красного камня в отсутствие достаточно сильного сигнала «сверху» (его функция толкания также заблокирована, что является нежелательным, но в основном безвредным побочным эффектом). Всасывающая способность верхнего бункера ограничена только вместимостью, но нам все равно нужно ограничить его толкающую способность - в противном случае факт блокировки нижнего бункера будет спорным, поскольку в него все еще могут вставляться предметы, как в любой инертный контейнер. Чтобы предотвратить это, выход верхнего («фильтрующего») бункера должен быть направлен в любом ложном направлении, где нет контейнера, в который можно было бы проталкивать элементы, например, в компаратор. Таким образом, если нижний бункер заблокирован, предметы остаются в верхнем бункере и никуда не перемещаются.

Неспособность направить верхний бункер в «неправильном» направлении - одна из самых распространенных ошибок при сборке сортировщиков.