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

Vorrichtungen/Pfeiltasten-Sensor (Befehle)

Aus Technik Wiki
Wechseln zu: Navigation, Suche
Gruppe: Grid Kolben.png
Vorrichtungen

Grid Roter Sand blass.png mit Mechaniken

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

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

Der Pfeiltasten-Sensor kann feststellen ob der Spieler sich vorwärts, rückwärts oder seitwärts bewegt. Dies kann mit den Tasten W, A, S und D erfolgen, man kann aber auch dazu die Pfeiltasten nutzen, je nach Einstellung im Spiel. Wenn man bestimmte Aktionen hervorrufen möchte, die an Tasten gebunden sein sollen, kann man solche Sensoren nutzen um beispielsweise durch das nach vorne laufen ein Objekt nach vorne zu bewegen.

Inhaltsverzeichnis

Variante 1[Bearbeiten | Quelltext bearbeiten]

Vorrichtungen Pfeiltasten-Sensor (Befehle) Bild 1.1.png Vorrichtungen Pfeiltasten-Sensor (Befehle) Bild 1.2.png Vorrichtungen Pfeiltasten-Sensor (Befehle) Bild 1.3.png Vorrichtungen Pfeiltasten-Sensor (Befehle) Bild 1.4.png

Mit diesem Sensor lassen sich die Bewegungen des Spielers erfassen und auf ein Ereignis übertragen. So kann man in diesem Beispiel einen Block in eine bestimmte Richtung bewegen, in dem man sich selbst in die gleiche Richtung bewegt. Damit man diese Vorrichtung überall in der Welt platzieren kann, wird alles von einem Rüstungsständer aus, relativ zu seiner Position platziert oder teleportiertBefehl 1.1. So wird die Diamantplattform ausgehend vom Rüstungsständer platziertBefehl 1.2 und anschließend ein unsichtbarer BlockBefehl 1.3 auf dem der Spieler gleich stehen wird, um das Spielfeld uneingeschränkt sehen zu können. Nun wird das zu bewegende Objekt, in Form eines Rüstungsständers mit einem roten Block in die Mitte platziertBefehl 1.4. Anschließend bekommt der nächste Spieler in einem Radius von 25 Metern einen roten Block ins InventarBefehl 1.5 gelegt. Zu guter letzt wird dem Spieler eine Nachricht übermittelt, damit er weis was zu tun istBefehl 1.6. Zu gleichen Zeit ist auch schon ein Wiederhol-Befehlsblock aktiv, der nun allen Spielern ein Etikett entferntBefehl 1.7, welches jedem Spieler wieder gegeben wird, der in der Mitte der Schnellzugriffsleiste einen roten Block ausgewählt hatBefehl 1.8. Nun wird die Bewegung des Spielers abgefragt, wenn er das Etikett besitzt. Dazu wird getestet, ob der Spieler ganz leicht den Barriere-Block verlassen hat und nun an der abgefragten Stelle Luft vorhanden ist. Wenn das der Fall ist, wird der Rüstungsständer mit dem roten Block in die gleiche Richtung bewegt, falls vor ihm ein Diamantblock ist (Damit er nicht das Spielfeld verlässt)Befehl 1.9Befehl 1.10Befehl 1.11Befehl 1.12. Weil der Spieler nun vom Barriere-Block abgewichen ist, muss er wieder zentral in die Mitte teleportiert werden, dazu wird ebenfalls abgefragt ob er den Block leicht verlassen hat. Wenn das der Fall ist wird er vom ersten Rüstungsständer aus, der die Plattform ermöglicht hatte, wieder genau oben in die Mitte des Barriere-Blockes platziertBefehl 1.13Befehl 1.14Befehl 1.15Befehl 1.16. Dadurch ist man nun in der Lage den Rüstungsständer mit dem roten Block in jede beliebige Richtung zu bewegen und das allein abhängig von den Bewegungen des Spielers. Schaltet man die Vorrichtung aus, so wird eine Redstone-Fackel aktiv, welche die Befehlsblöcke auslöst, die zum einen das Spielfeld löschenBefehl 1.17, den roten Block aus dem Inventar des Spielers entfernenBefehl 1.18, das eventuell noch vorhandene Etikett entfernenBefehl 1.19 und alle Rüstungsständer löschtBefehl 1.20.


Befehlsblöcke mit Befehlen:
summon minecraft:armor_stand ~2 ~-1.5 ~2 {CustomName:"ObjPfeilTS:1Plattform",Invisible:true,Tags:["EtiPfeilTS:1Alle"] }
execute @e[type=minecraft:armor_stand,name=ObjPfeilTS:1Plattform] ~ ~ ~ /fill ~ ~ ~ ~10 ~ ~10 minecraft:diamond_block
execute @e[type=minecraft:armor_stand,name=ObjPfeilTS:1Plattform] ~ ~ ~ /setblock ~5 ~5 ~5 minecraft:barrier
execute @e[type=minecraft:armor_stand,name=ObjPfeilTS:1Plattform] ~ ~ ~ /summon minecraft:armor_stand ~5 ~1 ~5 {CustomName:"ObjPfeilTS:1Kontrolleinheit",Invisible:true,Small:true,NoBasePlate:true,Tags:["EtiPfeilTS:1Alle"],ArmorItems:[{},{},{},{id:"minecraft:nether_wart_block",Count:1b} ] }
replaceitem entity @p[r=25] slot.hotbar.4 minecraft:nether_wart_block 1 0 {display:{Name:"Pfeiltasten"} }
tellraw @p[r=25] ["",{"text":"Pfeiltasten-Sensor:1 "},{"text":"Wähle den mittleren Slot der Schnellzugriffsleiste aus, dort wo sich der rote Block befindet, um die Pfeiltasten abzufragen."} ]


scoreboard players tag @a[r=25,tag=EtiPfeilTS:1Aktion] remove EtiPfeilTS:1Aktion
scoreboard players tag @p[r=25] add EtiPfeilTS:1Aktion {SelectedItemSlot:4,Inventory:[{Slot:4b,id:"minecraft:nether_wart_block",tag:{display:{Name:"Pfeiltasten"} } } ] }
execute @a[tag=EtiPfeilTS:1Aktion] ~ ~ ~ detect ~0.499 ~-1 ~ minecraft:air * /execute @e[type=minecraft:armor_stand,name=ObjPfeilTS:1Kontrolleinheit] ~ ~ ~ detect ~1 ~-1 ~ minecraft:diamond_block * /teleport @e[type=minecraft:armor_stand,name=ObjPfeilTS:1Kontrolleinheit] ~0.2 ~ ~
execute @a[tag=EtiPfeilTS:1Aktion] ~ ~ ~ detect ~-0.499 ~-1 ~ minecraft:air * /execute @e[type=minecraft:armor_stand,name=ObjPfeilTS:1Kontrolleinheit] ~ ~ ~ detect ~-1 ~-1 ~ minecraft:diamond_block * /teleport @e[type=minecraft:armor_stand,name=ObjPfeilTS:1Kontrolleinheit] ~-0.2 ~ ~
execute @a[tag=EtiPfeilTS:1Aktion] ~ ~ ~ detect ~ ~-1 ~0.499 minecraft:air * /execute @e[type=minecraft:armor_stand,name=ObjPfeilTS:1Kontrolleinheit] ~ ~ ~ detect ~ ~-1 ~1 minecraft:diamond_block * /teleport @e[type=minecraft:armor_stand,name=ObjPfeilTS:1Kontrolleinheit] ~ ~ ~0.2
execute @a[tag=EtiPfeilTS:1Aktion] ~ ~ ~ detect ~ ~-1 ~-0.499 minecraft:air * /execute @e[type=minecraft:armor_stand,name=ObjPfeilTS:1Kontrolleinheit] ~ ~ ~ detect ~ ~-1 ~-1 minecraft:diamond_block * /teleport @e[type=minecraft:armor_stand,name=ObjPfeilTS:1Kontrolleinheit] ~ ~ ~-0.2
execute @p[tag=EtiPfeilTS:1Aktion] ~ ~ ~ detect ~0.499 ~-1 ~ minecraft:air * /execute @e[type=minecraft:armor_stand,name=ObjPfeilTS:1Plattform] ~ ~ ~ /teleport @p[tag=EtiPfeilTS:1Aktion] ~5 ~6 ~5 0 ~
execute @p[tag=EtiPfeilTS:1Aktion] ~ ~ ~ detect ~ ~-1 ~0.499 minecraft:air * /execute @e[type=minecraft:armor_stand,name=ObjPfeilTS:1Plattform] ~ ~ ~ /teleport @p[tag=EtiPfeilTS:1Aktion] ~5 ~6 ~5 0 ~
execute @p[tag=EtiPfeilTS:1Aktion] ~ ~ ~ detect ~-0.499 ~-1 ~ minecraft:air * /execute @e[type=minecraft:armor_stand,name=ObjPfeilTS:1Plattform] ~ ~ ~ /teleport @p[tag=EtiPfeilTS:1Aktion] ~5 ~6 ~5 0 ~
execute @p[tag=EtiPfeilTS:1Aktion] ~ ~ ~ detect ~ ~-1 ~-0.499 minecraft:air * /execute @e[type=minecraft:armor_stand,name=ObjPfeilTS:1Plattform] ~ ~ ~ /teleport @p[tag=EtiPfeilTS:1Aktion] ~5 ~6 ~5 0 ~


execute @e[type=minecraft:armor_stand,name=ObjPfeilTS:1Plattform] ~ ~ ~ /fill ~ ~ ~ ~10 ~10 ~10 minecraft:air
clear @a nether_wart_block -1 9999 {display:{Name:"Pfeiltasten"} }
scoreboard players tag @a[tag=EtiPfeilTS:1Aktion] remove EtiPfeilTS:1Aktion
kill @e[type=minecraft:armor_stand,tag=EtiPfeilTS:1Alle]


Disambig color.svg