Redstone-Logik
Dieser Artikel soll Hilfestellung beim Bau komplexer Redstone-Schaltungen bieten. Hierzu werden verschiedene Implementationen gängiger Logik-Bausteine vorgestellt. Es werden Kenntnisse der Schaltlogik vorausgesetzt, dies zu erklären würde den Rahmen sprengen. Für weitere Informationen machen Sie bitte ein Informatikstudium.
Als Alternative zu den hier vorgestellten Bausteinen gibt es häufig ein Pendant, welches mithilfe von Pistons gebaut wird. Diese sind in vielen Fällen schneller, weisen dafür aber teilweise andere Nachteile auf. Lesen Sie hierzu den Artikel Piston-Logik.
Wir interpretieren logischerweise ein Redstone-Signal als 1 und eine Leitung ohne aktives Signal als 0.
Inhaltsverzeichnis
Unäre Operatoren
Unäre Operatoren haben einen Eingang und einen Ausgang.
NOT-Baustein (Inverter)
Der NOT-Baustein (Nicht-Baustein oder Inverter) invertiert das Eingangssignal. Bei einer 1 am Eingang gibt er eine 0 aus, bei einer 0 eine 1.
| IN | OUT |
|---|---|
| 1 | 0 |
| 0 | 1 |
In Minecraft verhalten sich einfache Redstone-Fackeln wie NICHT-Bausteine. Der Aufbau ist entsprechend einfach.
Binäre Operatoren
Binäre Operatoren verarbeiten zwei Eingangssignale zu einem Ausgangssignal.
Es gibt 16 verschiedene binäre Operatoren. Hier werden nur die wichtigsten vorgestellt.
AND-Operator
Der AND-Operator (UND) gibt nur dann eine 1 aus, wenn beide Eingangssignale 1 sind.
| A | B | OUT |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
Einen einfachen Redstonebasierten UND-Baustein kann man mit folgendem Aufbau erzeugen:
OR-Operator
Der OR-Operator (ODER) gibt dann eine 1 aus, wenn mindestens einer der beiden Eingänge 1 ist.
| A | B | OUT |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
Ein OR-Operator in Minecraft ist prinzipiell sehr einfach zu bauen, es reicht theorethisch aus einfach die beiden Eingänge mit dem Ausgang zu verbinden. Hierbei muss man jedoch beachten, ob aus Richtung des Ausgang noch andere Signale kommen können die eventuell in die Schaltung zurücklaufen. Es empfiehlt sich daher in solchen Fällen oder wenn man sich nicht sicher ist die beiden Eingänge mit Repeatern zu versehen, da diese in Minecraft als Diode fungieren (lassen Signale nur in eine Richtung durch).
XOR-Operator (UNEQUAL)
Der XOR-Operator (EXCLUSIVE OR) ist genau dann 1, wenn nur exakt einer der beiden Eingänge 1 ist. Oder anders ausgedrückt: Er gibt eine 1 aus, wenn die Eingänge verschieden sind.
| A | B | OUT |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
Der Aufbau in Minecraft könnte wie folgt aussehen:
NAND-Operator
NOR-Operator
XNOR-Operator (EQUAL)
Der XNOR-Operator (EXCLUSIVE NOR) ist genau dann 1, wenn beide Eingänge 1 oder beide Eingänge 0 sind. XNOR wird also 1, wenn die Eingänge gleich sind.
| A | B | OUT |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
Speicherbausteine
Reine Redstone-Flip-Flops haben gegenüber ihren Piston-Pendants häufig Nachteile, meistens auf jeden Fall unvorhersehbares Verhalten im Falle eines Server-Neustarts. Lesen Sie hierzu Piston-Logik#Speicherbausteine.
Ein FlipFlop ist ein Baustein der genau ein Bit an Information speichern kann, also eine 0 oder eine 1.
R/S-FlipFlop
D-FlipFlop
D-FlipFlops sind Speicherbausteine die das am Eingang D anliegende Signal übernehmen, wenn auf dem Eingang CLK ein Signal ankommt.
Sie sind mit Repeatern relativ leicht zu bauen. Dabei wird die relativ unbekannte Eigenschaft ausgenutzt, dass ein Repeater welcher seitlich in einen anderen Repeater mündet, diesen sperrt wenn ein Signal an ihm anliegt. Das heißt: Der erste Repeater speichert seinen Zustand und gibt ihn aus, bis der zweite Repeater der seitlich auf ihn zeigt kein Signal mehr ausgibt. Danach übernimmt er wieder das Signal vom Eingang.
T-FlipFlop
Der T-FlipFlop hat im Gegensatz zum R/S-FlipFlop nur einen Eingang. Jedes Mal wenn dort ein Signal ankommt invertiert er sein Ausgangssignal (er togglet, daher das T).
Mithilfe eines D-FlipFlops kann man sehr leicht einen T-FlipFlop bauen. Man verbindet hierzu einfach das invertierte Ausgangssignal mit dem Eingang D. Es ist zu beachten dass das Signal ausreichend verzögert werden muss, je nach Länge der Signale die am Eingang CLK ankommen.
Clocks / Taktgeber
Hopper-Clock
Eine Hopper-Clock besteht hauptsächlich aus Trichtern (engl.: Hopper). Diese werden zu einem Ring verbunden der beliebig groß sein kann. Je größer der Ring, desto schneller wird später das erzeugte Taktsignal.
Als nächstes gibt man in einen der Trichter ein beliebiges Item rein. Es sollte aber nur eins sein! Die Trichter beginnen nun das Item im Kreis herumzugeben.
Nun verbindet man an einen Trichter einen Komparator, der dann jedes Mal eine 1 ausgibt sobald das Item an diesem Trichter ankommt. Das Signal hat lediglich die Stärke 1, deshalb sollte man es direkt verstärken.
Hopper-Clocks sind stabil, da sie auch im Falle eines Server-Neustarts da weitermachen wo sie aufgehört haben. Außerdem können sie nicht durchbrennen, wie zu schnelle Redstone-Clocks. Außerdem machen sie keinen Lärm, wie etwas Piston- oder Minecart-Clocks.
Repeater-Clock
Minecart-Clock
Piston-Clock
siehe hierzu Piston-Logik#Piston-Clock.