Сила сигналу компаратора від контейнерів: формула та пастка розміру стосу
Скриня з одним предметом видає сигнал 1, але так само і скриня з шістдесятьма трьома. Формула пояснює чому, і чому скрині шалкера та відра ламають усі ваші розрахунки.
Зчитування контейнера компаратором — основа більшості схем сортування предметів та автокрафту з редстоуну. Формула коротка, і всі нюанси випливають із неї.
Формула
signal = floor(1 + (sum of fullness across slots ÷ number of slots) × 14)
де заповненість кожного слота становить items in slot ÷ max stack size for that item.
Будь-який 1 + is the important part: ненульовий вміст видає щонайменше сигнал 1, а порожній контейнер — 0. Ось чому визначити «чи є тут хоч щось» тривіально, а «скільки саме» — ні.
Чому один предмет і шістдесят три дають 1
Подвійна скриня має 54 слоти. Один стос із 64 кругляку заповнює один слот повністю:
1 + (1 ÷ 54) × 14 = 1 + 0.259 = 1.259 → floor = 1
Вам потрібно чотири повні стоси , перш ніж вихідний сигнал досягне 2. Класичний детектор одного предмета працює тому, що 1 — це мінімум для будь-якого вмісту, а не тому, що він вимірює один предмет.
Розмір стосу змінює все
max stack size is per item, and this is where calculations break:
| Предмет | Стос | Один предмет дає |
|---|---|---|
| Кругляк | 64 | 1/64 слота |
| Перлина Енду | 16 | 1/16 |
| Відро, вагонетка, човен | 1 | цілий слот |
Лійка з одним заповненим слотом, яка містить одне відро , вважається повною — сигнал 15. Це стандартний трюк для точного лічильника: заповніть 4 із 5 слотів лійки нескладуваними предметами, а п’ятий використовуйте для сигналу.
Скрині шалкера непрозорі
Компаратор, який зчитує скриню з скринею шалкера , бачить скриню як один предмет, що займає один слот. Він не заглядає всередину. Системи сортування, які вважають інакше, непомітно помиляються в підрахунках.
Зчитування компаратором не-контейнерів
Той самий компаратор також зчитує:
| Блок | Сигнал |
|---|---|
| Казан | 0–3 за рівнем води |
| Компостер | 0–8 за стадією наповнення |
| Торт | 14 до 0 за кожен з’їдений шматок |
| Рамка | 1–8 за обертанням |
| Програвач | 1–15 залежно від платівки |
| Аналой | номер сторінки |
| Вулик | 0–5 за рівнем меду |
| Рамка порталу в Енд | 15 з оком, 0 без нього |
Рамки та аналої корисні для прихованих вимикачів, оскільки зчитуються крізь стіну.
Режим віднімання
Увімкнений передній смолоскип означає віднімання режим: вихідний сигнал дорівнює сигналу ззаду мінус сигнал збоку, з мінімумом 0. Режим порівняння (смолоскип вимкнено) пропускає сигнал ззаду лише тоді, коли він щонайменше такий самий сильний, як і найсильніший бічний.
Введіть вміст контейнера та отримайте точний сигнал, включно зі змішаними розмірами стосів, у Довідник і калькулятори — Набір 2.