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 również. Wzór wyjaśnia dlaczego, a także dlaczego shulkerowe skrzynie i wiadra burzą wszystkie twoje obliczenia.
Odczytywanie pojemnika za pomocą komparatora to podstawa większości systemów sortowania przedmiotów i automatycznego wytwarzania w redstone. Wzór jest krótki, a wszystkie jego dziwactwa wynikają z niego.
Wzór
signal = floor(1 + (sum of fullness across slots ÷ number of slots) × 14)
gdzie wypełnienie każdego slotu wynosi items in slot ÷ max stack size for that item.
1 + jest najważniejszą częścią: każda niezerowa zawartość generuje sygnał co najmniej 1, a pusty pojemnik daje 0. Dlatego wykrycie „czy cokolwiek tu jest” jest trywialne, a wykrycie „dokładnie ile” już nie.
Dlaczego jeden przedmiot i sześćdziesiąt trzy dają 1
Podwójna skrzynia ma 54 sloty. Jeden stos 64 Bruku całkowicie wypełnia jeden slot:
1 + (1 ÷ 54) × 14 = 1 + 0.259 = 1.259 → floor = 1
Potrzebujesz czterech pełnych stosów, zanim sygnał wyjściowy osiągnie 2. Klasyczny detektor pojedynczego przedmiotu działa, ponieważ 1 jest wartością minimalną dla dowolnej zawartości, a nie dlatego, że mierzy jeden przedmiot.
Rozmiar stosu zmienia wszystko
max stack size jest na przedmiot, i to tutaj obliczenia się załamują:
| Przedmiot | Stos | Jeden przedmiot daje |
|---|---|---|
| Bruk | 64 | 1/64 slotu |
| Enderperła | 16 | 1/16 |
| Wiadro, Wagonik, łódź | 1 | cały slot |
Jednoslotowy Lej zawierający jedno Wiadro jest odczytywany jako pełny — sygnał 15. To standardowa sztuczka dla precyzyjnego licznika: wypełnij 4 z 5 slotów Leja przedmiotami nieukładalnymi w stosy i użyj piątego jako sygnału.
Shulkerowe skrzynie nie są przezroczyste
Komparator odczytujący Skrzynię, która zawiera Shulkerową skrzynię, widzi skrzynię jako jeden przedmiot zajmujący jeden slot. Nie widzi jej wnętrza. Systemy sortowania, które zakładają inaczej, cicho błędnie liczą.
Odczyty komparatora z bloków niebędących pojemnikami
Ten sam komparator odczytuje również:
| Blok | Sygnał |
|---|---|
| Kocioł | 0–3 w zależności od poziomu Wody |
| Kompostownik | 0–8 w zależności od etapu wypełnienia |
| Ciasto | 14 do 0 w zależności od zjedzonego kawałka |
| Ramka na przedmiot | 1–8 w zależności od obrotu |
| Szafa grająca | 1–15 w zależności od płyty |
| Pulpit | numer strony |
| Ul | 0–5 poziomu miodu |
| Rama portalu do Endu | 15 z okiem, 0 bez |
Ramki na przedmiot i Pulpity są przydatne do ukrytych przełączników, ponieważ odczytują sygnał przez ścianę.
Tryb odejmowania
Zapalone przednie Pochodnia oznacza tryb odejmowania: sygnał wyjściowy to sygnał z boku odjęty od sygnału z tyłu, z wartością minimalną 0. Tryb porównywania (Pochodnia niezapalona) przepuszcza sygnał z tyłu tylko wtedy, gdy jest on co najmniej tak silny jak najsilniejszy sygnał z boku.
Wprowadź zawartość pojemnika i uzyskaj dokładny sygnał, w tym dla mieszanych rozmiarów stosów, w Reference & Calculators — Set 2.