Das offizielle Minecraft Wiki twittert hier: Wiki-Twitter  –  Chatte im Wiki-Discord  – Noch keinen Server gefunden? Es gibt einen Wiki-Server

Schaltkreise/Speicherzelle (Befehle)

Aus Technik Wiki
Wechseln zu: Navigation, Suche
Gruppe: Grid Redstone-Fackel.png
Schaltkreise

Grid Roter Sand blass.png mit Mechaniken

Grid Redstone.png mit Redstone
                Hier:
Grid Befehlsblock.png mit Befehlen

Die vorgestellte Technik kann in der Redstone-Welt angesehen werden.
Disambig color.svg

Eine Speicherzelle kann Signalzustände speichern. Je nach Bauart auch nur unter bestimmten Bedingungen.

NOR-Latch[Bearbeiten | Quelltext bearbeiten]

Schaltkreise Speicherzelle (Befehle) Bild 1.1.png

Die NOR-Latch-Speicherzelle speichert ihr Signal, in dem man sie entweder mit dem hinteren Befehlsblock einschaltet[B1.1] oder ausschaltet[B1.2]. Der Befehlsblock der den Zustand speichert ist dabei leer[B1.3].


Befehlsblöcke mit Befehlen:

/blockdata ~2 ~1 ~1 {SuccessCount:1}
/blockdata ~2 ~1 ~-1 {SuccessCount:0}
#Dieser Befehlsblock besitzt keinen Befehl

T-Flip-Flop[Bearbeiten | Quelltext bearbeiten]

Schaltkreise Speicherzelle (Befehle) Bild 2.1.png

Der T-Flip-Flop ist sehr einfach zu konstruieren, man benötigt nur einen Befehlsblock mit dem Befehl[B2.1]. Dieser setzt sich beim ersten mal erfolgreich auf den Status "Befehl erfolgreich ausgeführt" und liefert an dem Komparator ein Redstone-Signal. Wird der gleiche Befehl ein zweites mal ausgeführt, so schlägt er fehl, da der Befehl seinen Zustand nicht ändern kann, da er bereits im erfolgreichen Zustand geschaltet ist, jedoch genau deswegen schlägt der Befehl fehl und der Zustand ist jetzt so, dass er kein Redstone-Signal am Komparator ausgibt. Wenn man ihn nun wieder aktiviert, kann er den Befehl wieder erfolgreich ausführen.


Befehlsblöcke mit Befehlen:

/blockdata ~ ~ ~ {SuccessCount:1}

Analog-Flip-Flop[Bearbeiten | Quelltext bearbeiten]

Schaltkreise Speicherzelle (Befehle) Bild 3.1.png

Das Anlalog-Flip-Flop kann mehr als nur zwei Zustände speichern. Je nach Ausführung sind beliebig viele verschiedene Zustände möglich. In diesem Beispiel beschränken wir uns jedoch auf vier Zustände, in Form von vier Werten. Da diese Werte irgendwo abgespeichert werden sollen, muss erstmal ein Objekt her, dieses ist im diesem Beispiel ein unsichtbarer Rüstungsständer der auf seinem Kopf eine kleine Truhe trägt, welche sichtbar ist[B3.2]. Sie symbolisiert nun den Behälter in dem die verschiedenen Werte eingespeichert werden. Immer wenn man mit Werten oder Punkten arbeitet, muss man auch definieren, welcher Zahlentyp das ist (Ganzzahl, Kommazahlen, etc.) daher wird ein Datentyp erstellt[B3.1] der nun ganze Zahlen speichern kann. Nun kann man damit beginnen bestimmte Werte in die Truhe zu "legen". Dazu wird der Wert der Truhe um eins erhöht[B3.3]. Weil in diesem Beispiel der Wert der Truhe nicht höher als vier sein soll, wird anschließend geprüft ob die Truhe den "verbotenen Wert" fünf erreicht hat[B3.4], dann wird ihr Wert wieder auf eins zurück gesetzt[B3.5]. Nun kann die Truhe vier Werte speichern, diese müssen aber auch ausgelesen werden können, dazu wird ein Wiederhol-Befehlsblock aktiv geschaltet der nun nach einem der vier Werte ausschau hält und ein angeschlossener Komparator gibt dann ein Signal aus, wenn die Truhe genau den Wert hat, nach dem der Block sucht[B3.7]. Für die anderen drei Werte wurde das gleiche gemacht, dazu einfach an den Wiederhol-Befehlsblock drei weitere Ketten-Befehlsblöcke anschließen[B3.8][B3.9][B3.10] die jeweils den nächsthöheren Wert abfragen. Damit man die Truhe und das Punktestand-Ziel auch wieder entfernen kann, werden zwei weitere Befehlsblöcke benötigt[B3.11][B3.12], die genau dann aktiviert werden, wenn die Speicherzelle deaktiviert. Dazu wurde an dem einen Block eine Redstone-Fackel befestigt.


Befehlsblöcke mit Befehlen:

/scoreboard objectives add PZSpei:3Wert dummy
/summon minecraft:armor_stand ~ ~2 ~ {NoGravity:1b,CustomName:"ObjSpei:3Speicher",Small:1b,Invisible:1b,Marker:1b,ArmorItems:[{},{},{},{id:"minecraft:chest",Count:1b} ] }


/scoreboard players add @e[type=minecraft:armor_stand,name=ObjSpei:3Speicher] PZSpei:3Wert 1
/scoreboard players test @e[type=minecraft:armor_stand,name=ObjSpei:3Speicher] PZSpei:3Wert 5
/scoreboard players set @e[type=minecraft:armor_stand,name=ObjSpei:3Speicher] PZSpei:3Wert 1
/tellraw @a[r=15] [{"text":"Speicherzelle:3"},{"text":" Der Wert wurde geändert: "},{"score":{"name":"@e[type=minecraft:armor_stand,name=ObjSpei:3Speicher]","objective":"PZSpei:3Wert"} } ]


/scoreboard players test @e[type=minecraft:armor_stand,name=ObjSpei:3Speicher] PZSpei:3Wert 1 1
/scoreboard players test @e[type=minecraft:armor_stand,name=ObjSpei:3Speicher] PZSpei:3Wert 2 2
/scoreboard players test @e[type=minecraft:armor_stand,name=ObjSpei:3Speicher] PZSpei:3Wert 3 3
/scoreboard players test @e[type=minecraft:armor_stand,name=ObjSpei:3Speicher] PZSpei:3Wert 4 4


/scoreboard objectives remove PZSpei:3Wert
/kill @e[type=minecraft:armor_stand,name=ObjSpei:3Speicher]
Promotional Content