MC Toolkit

Poradniki / Budowanie i zasoby

Siła sygnału komparatora z pojemników: wzór i pułapka rozmiaru stosu

Skrzynia z jednym przedmiotem daje sygnał 1, ale skrzynia z sześćdziesięcioma trzema też. Wzór wyjaśnia dlaczego — i dlaczego shulkerowe skrzynie oraz wiadra psują każde obliczenie.

Odczyt pojemnika komparatorem to podstawa większości redstone'owych systemów sortowania i automatycznego wytwarzania. Wzór jest krótki, a z niego wynikają wszystkie osobliwości.

Wzór

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

gdzie zapełnienie każdego slotu wynosi items in slot ÷ max stack size for that item.

Najważniejszy jest 1 +: każda niezerowa zawartość daje co najmniej sygnał 1, a pusty pojemnik to 0. Dlatego wykrycie „czy tu w ogóle coś jest" jest banalne, a wykrycie „dokładnie ile" już nie.

Dlaczego jeden przedmiot i sześćdziesiąt trzy dają po 1

Podwójna skrzynia ma 54 sloty. Jeden stos 64 bruku zapełnia cały jeden slot:

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

Potrzebujesz czterech pełnych stosów, zanim wyjście osiągnie 2. Klasyczny detektor pojedynczego przedmiotu działa, bo 1 to dolna granica dla dowolnej zawartości, a nie dlatego, że mierzy jeden przedmiot.

Rozmiar stosu zmienia wszystko

max stack size zależy od przedmiotu i tu właśnie łamią się obliczenia:

PrzedmiotStosJeden przedmiot daje
Bruk641/64 slotu
Enderperła161/16
Wiadro wody, wagonik, łódka1cały slot

W pięciu slotach leja jeden przedmiot niestakowalny — wiadro wody, wagonik — liczy się jako jedna piąta zapełnienia: sygnał 3, podczas gdy jeden bruk daje 1. Cztery takie przedmioty dają 12. Dlatego niestakowalne przedmioty to standardowy sposób na zwiększanie licznika dużymi, przewidywalnymi krokami. (Puste wiadro stackuje się do 16, więc nie działa tak samo.)

Shulkerowe skrzynie nie są przezroczyste

Komparator odczytujący skrzynię zawierającą shulkerową skrzynię widzi ją jako jeden przedmiot zajmujący jeden slot. Nie zagląda do środka. Systemy sortowania, które zakładają inaczej, po cichu liczą błędnie.

Odczyt komparatora z bloków innych niż pojemniki

Ten sam komparator odczytuje również:

BlokSygnał
Kocioł0–3 według poziomu wody
Kompostownik0–8 według stopnia zapełnienia
Ciasto14 w dół do 0 za każdy zjedzony kawałek
Ramka na przedmiot1–8 według obrotu
Szafa grająca1–15 według tego, która płyta
Pulpit1–15 według tego, jak daleko w książce jest otwarta strona
Ul0–5 poziomu miodu
Rama portalu do Endu15 z okiem, 0 bez

Ramki na przedmiot i pulpity są przydatne do ukrytych przełączników, bo odczytują przez ścianę.

Tryb odejmowania

Zapalona przednia pochodnia oznacza tryb odejmowania: wyjście to sygnał z tyłu minus sygnał z boku, z dolną granicą 0. Tryb porównania (pochodnia zgaszona) przepuszcza sygnał z tyłu tylko wtedy, gdy jest co najmniej tak silny jak najsilniejszy sygnał z boku.

Wpisz zawartość pojemnika i otrzymaj dokładny sygnał, uwzględniając mieszane rozmiary stosów, w Reference & Calculators — Set 2.

Materiały i kalkulatory — zestaw 2 →

Więcej poradników

Zobacz wszystkie →