Почему мой сортировщик предметов не работает?
Я создал два сортировщика предметов, чтобы продемонстрировать эту проблему. У одного есть бункеры прямо под струей воды, вот так:
Обозначения: I = лед, H (стрелка) = бункер направлен в направлении стрелки, H = бункер вниз, W = струя воды. Нижний слой: IIIH ↓ H ↓ II Верхний слой: WWWWWWW
Бункеры подключены к сортировщику предметов, у которого со стороны стрелки стрелки есть компаратор. Этот сортировщик работает.
Второй дизайн такой же, только вот нижний слой:
IIIIIII
H ↓ H ↓
Сундук находится в углу, из-за чего предметы кладутся на лед и край бункера. Предметы ДОЛЖНЫ подбираться бункером, но не сортируются. Манекены также отсасываются. Что происходит и как это исправить?
Ответы
Любой бункер способен:
- тянуть предметы сверху, из любого контейнера или открытого пространства
- вытолкните их в любой контейнер, в который он указывает.
Блокировка бункера путем его включения блокирует обе способности одновременно - он действует как инертный контейнер - что означает, что другие, неблокированные бункеры все еще могут вставлять в него предметы или высасывать их.
Сортировщику необходимо вытащить элементы из «потока» выше и одновременно держать его заблокированным в отсутствие «лишних» элементов, чтобы удерживать элементы фильтра. Это достигается за счет использования двух бункеров: верхний содержит элементы фильтра и может вытаскивать предметы из потока, пока у него есть место для их захвата, и сигнализировать «избыток», в то время как нижний отвечает за вытаскивание излишков, и не вытягивает их, когда остается только «нормальное» количество. Это означает, что всасывающая способность нижнего бункера блокируется факелом из красного камня в отсутствие достаточно сильного сигнала «сверху» (его функция толкания также заблокирована, что является нежелательным, но в основном безвредным побочным эффектом). Всасывающая способность верхнего бункера ограничена только вместимостью, но нам все равно нужно ограничить его толкающую способность - в противном случае факт блокировки нижнего бункера будет спорным, поскольку в него все еще могут вставляться предметы, как в любой инертный контейнер. Чтобы предотвратить это, выход верхнего («фильтрующего») бункера должен быть направлен в любом ложном направлении, где нет контейнера, в который можно было бы проталкивать элементы, например, в компаратор. Таким образом, если нижний бункер заблокирован, предметы остаются в верхнем бункере и никуда не перемещаются.
Неспособность направить верхний бункер в «неправильном» направлении - одна из самых распространенных ошибок при сборке сортировщиков.