Guides / Building & Resources

Сила сигнала компаратора от контейнеров: формула и ловушка с размером стака

Сундук с одним предметом выдает сигнал 1, но сундук с шестьюдесятью тремя — тоже. Формула объясняет почему, и почему шалкеровые ящики и вёдра ломают все ваши расчеты.

Считывание контейнера компаратором — основа большинства систем сортировки предметов и автоматического крафта в редстоуне. Формула короткая, и из нее вытекает каждая особенность.

Формула

signal = floor(1 + (sum of fullness across slots ÷ number of slots) × 14)

где заполненность каждого слота составляет items in slot ÷ max stack size for that item.

1 + — это важная часть: любое ненулевое содержимое дает как минимум сигнал 1, а пустой контейнер — 0. Вот почему обнаружить "есть ли здесь вообще что-нибудь" тривиально, а обнаружить "сколько именно" — нет.

Почему один предмет и шестьдесят три дают 1

Двойной сундук имеет 54 слота. Один стак из 64 булыжников полностью заполняет один слот:

1 + (1 ÷ 54) × 14  =  1 + 0.259  =  1.259  →  floor = 1

Вам нужно четыре полных стака, прежде чем выходной сигнал достигнет 2. Классический детектор одного предмета работает потому, что 1 — это нижний предел для любого содержимого, а не потому, что он измеряет один предмет.

Размер стака меняет все

max stack size рассчитывается на предмет, и именно здесь расчеты нарушаются:

ПредметСтакОдин предмет дает
Булыжник641/64 слота
Эндер-жемчуг161/16
Ведро, вагонетка, лодка1целый слот

Однослотовая воронка, содержащая одно ведро, считывается как полная — сигнал 15. Это стандартный трюк для точного счетчика: заполните 4 из 5 слотов воронки нештабелируемыми предметами и используйте пятый как сигнал.

Шалкеровые ящики не прозрачны

Компаратор, считывающий сундук, который содержит шалкеровый ящик, видит ящик как один предмет, занимающий один слот. Он не видит, что внутри. Системы сортировки, предполагающие обратное, молча ошибаются в подсчетах.

Считывание компаратором неконтейнерных блоков

Тот же компаратор также считывает:

БлокСигнал
Котёл0–3 по уровню воды
Компостница0–8 по стадии заполнения
Торт14 до 0 за каждый съеденный кусок
Рамка1–8 по повороту
Проигрыватель1–15 по типу диска
Кафедраномер страницы
Улей0–5 уровень мёда
Рамка портала Энда15 с глазом, 0 без

Рамки и кафедры полезны для скрытых переключателей, потому что они считываются сквозь стену.

Режим вычитания

Зажженный передний факел означает режим вычитания: выходной сигнал — это боковой сигнал, вычтенный из заднего, с округлением до 0. Режим сравнения (факел не горит) пропускает задний сигнал только в том случае, если он по крайней мере такой же сильный, как самый сильный боковой.

Введите содержимое контейнера и получите точный сигнал, включая смешанные размеры стаков, в Справочнике и калькуляторах — Набор 2.

Справочники и калькуляторы — набор 2 →

More guides

Browse all →

Нужны другие инструменты для Minecraft?

Набор генераторов, просмотрщиков и конвертеров прямо в браузере — всё бесплатно.