Komparatorsignale von Behältern: Die Formel und die Stapelgrößenfalle
Eine Truhe mit einem Gegenstand gibt Signal 1 aus, aber eine Truhe mit dreiundsechzig auch. Die Formel erklärt, warum, und warum Shulker-Kisten und Eimer jede Berechnung durcheinanderbringen.
Das Auslesen eines Behälters mit einem Komparator ist das Rückgrat der meisten Gegenstandssortier- und automatischen Herstellungs-Redstone-Schaltungen. Die Formel ist kurz, und jede Eigenheit ergibt sich daraus.
Die Formel
signal = floor(1 + (sum of fullness across slots ÷ number of slots) × 14)
wobei die Füllung jedes Slots items in slot ÷ max stack size for that item ist.
Der 1 + ist der wichtige Teil: Jeder Inhalt, der nicht Null ist, erzeugt mindestens Signal 1, und ein leerer Behälter ist 0. Deshalb ist es trivial zu erkennen, "ob überhaupt etwas darin ist", und nicht trivial, "genau wie viel".
Warum ein Gegenstand und dreiundsechzig beide 1 ergeben
Eine Doppeltruhe hat 54 Slots. Ein Stapel von 64 Bruchstein füllt einen Slot vollständig:
1 + (1 ÷ 54) × 14 = 1 + 0.259 = 1.259 → floor = 1
Man benötigt vier volle Stapel, bevor die Ausgabe 2 erreicht. Der klassische Einzelgegenstandsdetektor funktioniert, weil 1 die Untergrenze für jeden Inhalt ist, nicht weil er einen Gegenstand misst.
Stapelgröße ändert alles
max stack size ist pro Gegenstand, und hier brechen die Berechnungen zusammen:
| Gegenstand | Stapel | Ein Gegenstand ergibt |
|---|---|---|
| Bruchstein | 64 | 1/64 eines Slots |
| Enderperle | 16 | 1/16 |
| Eimer, Lore, Boot | 1 | einen ganzen Slot |
Ein ein-Slot-Trichter, der einen Eimer enthält, wird als voll gelesen – Signal 15. Das ist der Standardtrick für einen präzisen Zähler: Füllen Sie 4 der 5 Slots eines Trichters mit nicht stapelbaren Gegenständen und verwenden Sie den fünften als Signal.
Shulker-Kisten sind nicht transparent
Ein Komparator, der eine Truhe ausliest, die eine Shulker-Kiste enthält, sieht die Kiste als einen Gegenstand, der einen Slot belegt. Er sieht nicht hinein. Sortiersysteme, die etwas anderes annehmen, zählen stillschweigend falsch.
Komparator-Auslesungen von Nicht-Behältern
Derselbe Komparator liest auch:
| Block | Signal |
|---|---|
| Kessel | 0–3 je nach Wasserstand |
| Komposter | 0–8 je nach Füllstand |
| Kuchen | 14 bis 0 pro gegessenem Stück |
| Rahmen | 1–8 je nach Rotation |
| Plattenspieler | 1–15 je nach Disc |
| Lesepult | Seitenzahl |
| Bienenstock | 0–5 Honiglevel |
| Endportalrahmen | 15 mit Auge, 0 ohne |
Rahmen und Lesepulte sind nützlich für versteckte Schalter, da sie durch eine Wand hindurch gelesen werden können.
Subtraktionsmodus
Die vordere Fackel leuchtet bedeutet Subtraktionsmodus: Die Ausgabe ist Seite-minus-Rückseite, auf 0 abgerundet. Der Vergleichsmodus (Fackel unbeleuchtet) leitet das Rückseitensignal nur weiter, wenn es mindestens so stark ist wie die stärkste Seite.
Geben Sie den Inhalt eines Behälters ein und erhalten Sie das genaue Signal, einschließlich gemischter Stapelgrößen, in den Referenz & Rechner — Set 2.