Das offizielle Minecraft Wiki twittert hier: Wiki-Twitter     Noch keinen Server gefunden? Es gibt einen Wiki-Server
Nicht die Technik gefunden, die du suchst? Dann schlag sie vor: Gemeinschaftsportal

Anlagen/Zielauswahl (Befehle)

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

Grid Roter Sand blass.png mit Mechaniken

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

Die vorgestellte Technik kann in der Mechanik-Welt angesehen werden.
Disambig color.svg
Grid Grasblock.png
Auch im Minecraft Wiki wird das Thema dieser Technik behandelt:
Befehl#Zielauswahl
Roter Sand.png
Diese Technik ist noch nicht in der aktuellen Mechanik-Welt vorhanden.
In einem der nächsten Updates wird sie dort hinzugefügt werden.

Die Zielauswahl ermöglicht das aktivieren von einer Schaltfläche durch einen Mausklick. Die Schaltflächen werden hierbei mit Objekten symbolisiert. Wenn man auf eine Schaltfläche klickt, so wird sie aktiv, wenn man jedoch eine andere Schaltfläche anklickt werden sämtliche Schaltflächen einer Gruppe deaktiviert und nur die gerade angeklickte wird aktiv geschaltet.

Inhaltsverzeichnis

Variante 1[Bearbeiten | Quelltext bearbeiten]

Anlagen Zielauswahl (Befehle) Bild 1.1.png Anlagen Zielauswahl (Befehle) Bild 1.2.png Anlagen Zielauswahl (Befehle) Bild 1.3.png

Mit der Zielauswahl lässt sich nur ein bestimmter Schalter von vielen aktivieren. Diese Schalter werden hier mit kleinen schwebenden Truhen symbolisiert, welche man anklicken kann. Egal welcher Schalter zuvor aktiv war, wenn ein neuer aktiviert wird, werden alle anderen davor deaktiviert. Um dies zu realisieren benötigt man ein Punktestand-Ziel[B1.1], das die Rechstklicks eines Spielers zählen kann. Hierbei wird immer dann der Zähler vom Spieler um eins erhöht, wenn er einen Dorfbewohner anklickt um mit ihm zu handeln. Da jedoch hierbei ein Dorfbewohner erzeugt wird, der keine Handelsangebote besitzt, geschieht nichts, aber der Zähler erhöht sich trotzdem. Dazu kann man nun die sogenannten Schalter erzeugen, welche zum einen einen kleinen Rüstungsständer mit Truhe auf dem Kopf besitzen und zum anderen darauf ein Dorfbewohner, der unsichtbar ist und kein Waren verkaufen kann[B1.2]. Diese Anzahl der Schalter kann man beliebig lang weiterführen, man muss lediglich darauf achten, das sie nicht in einander geraten[B1.3]. Der Wiederhol-Befehlsblock sorgt dafür, das alle Schalter, die zur Zeit aktiv sind, deaktiviert werden, wenn sich mindestens ein Spieler um einen Schalter befindet, der einen Rechtsklick durchgeführt hat[B1.4], dazu wird der Leuchteffekt entfernt und anschließend das Etikett, welches den aktivierten Zustand eines Schalters speichert[B1.5]. Nun folgt eine Reihe an Ketten-Befehlsblöcken, die jeweils prüfen ob ein Spieler in einer bestimmten Eckwinkel vom Schalter aus sich befinden und dann den richtigen Blickwinkel haben und auf den Schalter schauen[B1.6][B1.8][B1.10][B1.12]. Nur dann wenn der Spieler auch einen Rechtsklick ausführt, dann bekommt er anschließend eine Nachricht[B1.7][B1.9][B1.11][B1.13]. Anschließend muss der Zähler für das Rechtsklicken zurückgesetzt werden[B1.14]. Letztlich muss noch dafür gesorgt werden, dass immer der schalter, der gerade aktiv ist auch aufleuchtet und weise Partikel erzeugt, dazu wird der Rüstungsständer abgefragt, der ein Etikett besitzt, das für den aktivierten Zustand nötigt ist[B1.15][B1.16]. Möchte man die Anlage ausschalten, so legt man den Hebel am Wiederhol-Befehlsblock wieder um und eine Redstone-Fackel wird aktiviert, welche die Befehlsblöcke aktiv schaltet, welche alle Schalter, sowie das Punktestand-Ziel löschen[B1.17][B1.18].


Befehlsblöcke mit Befehlen:
/scoreboard objectives add PZZiel:1Klick stat.talkedToVillager
/summon minecraft:armor_stand ~4 ~ ~ {NoGravity:1b,CustomName:"ObjZiel:1",Tags:["EtiZiel:1Alle"],Small:1b,Invisible:1b,Marker:1b,ArmorItems:[{},{},{},{id:"minecraft:chest",Count:1b} ] ,Passengers:[{id:"minecraft:villager",NoAI:1b,Silent:1b,Offers:{Recipes:[]},Invulnerable:0b,NoGravity:1b,Rotation:[0f,0f],CustomName:"ObjZiel:1Klick",Tags:["EtiZiel:1Alle"],ActiveEffects:[{Id:14,Amplifier:0,Ambient:0,ShowParticles:0b,Duration:2000000000} ] } ] }
#Hier kann eine beliebige große Anzahl weiterer Schalter angehängt werden.


/execute @e[type=minecraft:villager,name=ObjZiel:1Klick] ~ ~ ~ /execute @p[score_PZZiel:1Klick_min=1,r=3] ~ ~ ~ /effect @e[type=minecraft:armor_stand,tag=EtiZiel:1Angeklickt] clear
/execute @e[type=minecraft:villager,name=ObjZiel:1Klick] ~ ~ ~ /execute @p[score_PZZiel:1Klick_min=1,r=3] ~ ~ ~ /scoreboard players tag @e[type=minecraft:armor_stand,tag=EtiZiel:1Angeklickt] remove EtiZiel:1Angeklickt
/execute @p[score_PZZiel:1Klick_min=1,rym=0,ry=90] ~ ~ ~ /scoreboard players tag @e[x=~,y=~,z=~,dx=-2,dy=2,dz=2,type=minecraft:armor_stand,name=ObjZiel:1,tag=EtiZiel:1Alle,c=1] add EtiZiel:1Angeklickt
/execute @e[type=minecraft:armor_stand,name=ObjZiel:1,tag=EtiZiel:1Angeklickt] ~ ~ ~ /tellraw @p[x=~,y=~,z=~,dx=2,dy=2,dz=-2,score_PZZiel:1Klick_min=1,rym=0,ry=90] ["",{"text":"Zielauswahl:1"},{"text":" Ein Schalter wurde deaktiviert (Linksklick)"} ]
/execute @p[score_PZZiel:1Klick_min=1,rym=90,ry=180] ~ ~ ~ /scoreboard players tag @e[x=~,y=~,z=~,dx=-2,dy=2,dz=-2,type=minecraft:armor_stand,name=ObjZiel:1,tag=EtiZiel:1Alle,c=1] add EtiZiel:1Angeklickt
/execute @e[type=minecraft:armor_stand,name=ObjZiel:1,tag=EtiZiel:1Angeklickt] ~ ~ ~ /tellraw @p[x=~,y=~,z=~,dx=2,dy=2,dz=2,score_PZZiel:1Klick_min=1,rym=90,ry=180] ["",{"text":"Zielauswahl:1"},{"text":" Ein Schalter wurde deaktiviert (Linksklick)"} ]
/execute @p[score_PZZiel:1Klick_min=1,rym=180,ry=-90] ~ ~ ~ /scoreboard players tag @e[x=~,y=~,z=~,dx=2,dy=2,dz=-2,type=minecraft:armor_stand,name=ObjZiel:1,tag=EtiZiel:1Alle,c=1] add EtiZiel:1Angeklickt
/execute @e[type=minecraft:armor_stand,name=ObjZiel:1,tag=EtiZiel:1Angeklickt] ~ ~ ~ /tellraw @p[x=~,y=~,z=~,dx=-2,dy=2,dz=2,score_PZZiel:1Klick_min=1,rym=180,ry=-90] ["",{"text":"Zielauswahl:1"},{"text":" Ein Schalter wurde deaktiviert (Linksklick)"} ]
/execute @p[score_PZZiel:1Klick_min=1,rym=-90,ry=0] ~ ~ ~ /scoreboard players tag @e[x=~,y=~,z=~,dx=2,dy=2,dz=2,type=minecraft:armor_stand,name=ObjZiel:1,tag=EtiZiel:1Alle,c=1] add EtiZiel:1Angeklickt
/execute @e[type=minecraft:armor_stand,name=ObjZiel:1,tag=EtiZiel:1Angeklickt] ~ ~ ~ /tellraw @p[x=~,y=~,z=~,dx=-2,dy=2,dz=-2,score_PZZiel:1Klick_min=1,rym=-90,ry=0] ["",{"text":"Zielauswahl:1"},{"text":" Ein Schalter wurde deaktiviert (Linksklick)"} ]
/scoreboard players reset @a[score_PZZiel:1Klick_min=1] PZZiel:1Klick
/execute @e[type=minecraft:armor_stand,tag=EtiZiel:1Angeklickt] ~ ~ ~ /particle iconcrack ~ ~1.1 ~ 0 0 0 .1 1 normal @p[r=50] 155
/effect @e[type=minecraft:armor_stand,tag=EtiZiel:1Angeklickt] minecraft:glowing 1 1


/kill @e[tag=EtiZiel:1Alle]
/scoreboard objectives remove PZZiel:1Klick