Wie kann man mit einem Command Block prüfen ob ein Knopf gedrückt wird oder nicht?
Ich Habe eine Welt in der Version 1.18.2 und würde gerne einen licht Schalter bauen Den ich an eine Wand machen kann wo noch ein raum dahinter ist.
2 Antworten
Das geht mit dem execute-Befehl:
/execute if block ~ ~ ~ minecraft:lever[powered=true] run setblock ~ ~ ~ minecraft:redstone_block
Der Befehl muss in einem Command-Block stehen, der immer aktiv ist und auf wiederholen eingestellt ist. An der Stelle der ersten relativen Koordinaten (hinter dem block) musst du die Koordinaten des Hebels eingeben. An der Stelle der zweiten relativen Koordinaten (hinter dem setblock) musst du dann die Koordinaten direkt neben der Lampe angeben, damit der Redstone-Block die Lampe aktiviert. Achtung. Damit dein Chat nicht zugespammt wird, solltest du zusätzlich die Gamerule CommandBlockOutput auf false stellen. Dazu benutzt du einmalig diesen Befehl:
/gamerule commandBlockOutput false
Um das Licht wieder auszuschalten, benutzt du einen zweiten Befehl, der auch in einem dauer-aktiven Commandblock auf Widerholfunktion eingestellt sein muss. Auch hier müssen die relativen Koordinaten wieder durch die Koordinaten des Hebels und des Luftblocks neben der Lampe ersetzt werden:
/execute if block ~ ~ ~ minecraft:lever[powered=false] run setblock ~ ~ ~ minecraft:air
Kleiner Nachtrag: Beim zweiten Execute-Befehl muss es natürlich
lever[powered=false]
heißen. Da hatte ich mich verschrieben.
Moin,
dann würde ich dir eher eine Umgestaltung des Hauses ans Herz legen. Weil einfach so einfach überprüfen funktioniert nicht. Dann baust du besser eine doppelte oder dreifache Wand hinter welcher du das Ganze Redstone verstecken kannst.
MFG Colin
Man kann das tatsächlich überprüfen. Dafür braucht man nur den execute-Befehl.