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

Diskussion:Befehl/execute

Aus Minecraft Wiki
Wechseln zu: Navigation, Suche

execute @e[testforblock] scoreboard? Oder so?[Bearbeiten]

Ist es irgendwie möglich, von mehreren Entities aus den Block unter ihnen zu testen und vom Ergebnis aus etwas mit dieser Entity anzustellen? Ich arbeite in 1.9, hab also auch Conditional-Blöcke und so zur Verfügung. Aber ich fürchte, der wird mir dabei nicht helfen. Eine Idee wäre, 100 mal ein zufälliges Tier anzusprechen, aber das ist langsam und nicht komplett zuverlässig. Das wäre also nur der Notfallplan. Vor allem, da ich teilweise mit tausenden Viechern arbeite. Fabian42 20:20, 21. Sep. 2015 (UTC)

Du meinst wahrscheinlich z.B. den Befehl /execute @e[score_test_min=1,score_test=1,type=ArmorStand] ~ ~ ~ detect ~ ~-1 ~ diamond_block 0 say Unter mir ist ein Diamantblock!. Dieser lässt alle Rüstungsständer mit dem Score "test" = 1 und einem Diamantblock (mit der Metadata 0) unter sich "Unter mir ist ein Diamantblock!" sagen. Dafür benötigst du nur einen Befehlsblock und das funktioniert sogar schon in der 1.8. | violine1101 (Diskussion) 20:55, 21. Sep. 2015 (UTC)
Ah, stimmt, dankesehr. Ich habe detect tatsächlich noch nie benutzt. Erstaunlich. Fabian42 21:22, 21. Sep. 2015 (UTC)

Execute: Mehrstufiger Befehl, deshalb mehr Beispiele ?[Bearbeiten]

Der execute-Befehl ist ja bekanntlich der einzige Befehl der einen weiteren Befehl hinten dran hängen kann. Das heißt wir sprechen hier von einem mehrstufigen Befehl der sich von allen anderen Befehlen in seiner Befehlsanzahl unterscheidet. Worauf ich hinaus will ist folgendes, wenn wir auf einen x-beliebigen Befehl gehen, werden dort Beispiele gezeigt, wie man den x-Befehl auslöst. Wenn man auf den execute-Befehl geht wird dort unter Beispiele gezeigt wie man mit einer Handvoll Befehlen den execute nutzen kann. Meiner Meinung nach wäre es aber hier vielleicht angebracht das ganze etwas anders darzustellen, sodass sich alle Beispiele des execute auf den Seiten befinden die den jeweils einstufigen Befehl gebrauchen. Ich würde dann den Abschnitt Beispiele durch einen Verweis auf alle Befehle ersetzen, sodass da nur ein Link steht der auf die Seite "Befehl" verlinkt. Die Beispiele von allen anderen Befehlen würde man dann mit einem zweiten Abschnitt ausstatten der den execute-Befehl verwendet. Vorteil der ganzen Aktion wäre, wir hätten ein geschlossenen Gesamtbild ohne offene Fragen zum execute-Befehl, da man selbst als absolute Anfänger gleich nachschauen kann wie man diesen mehrstufigen Befehl nutzen kann. Was halten die anderen davon ? -- Nethonos11:17, 15. Sep. 2016 (UTC)

Dass /execute "der einzige" mehrstufige Befehl ist, ist nur jetzt so. Wer weiß, was in einer der nächsten Versionen noch alles kommt? Die Beispiele bei den Befehlen sollen nur wenige Beispiele sein und keine ausführlichen Anleitungen. Das würde zu weit gehen. Dann müsste man nämlich, um konsequent zu sein, für jeden Befehl mindestens ein /execute-Beispiel einfügen und das auch bei allen zukünftigen Befehlen so machen. Daher sollten die /execute-Beispiele beim /execute-Befehl bleiben und auch keine große Liste werden. Ich könnte mir aber einen Anleitungs-Artikel zum /execute vorstellen. Da könnte man sich austoben und von hier darauf verweisen. -- Sumpfhütte 15:04, 15. Sep. 2016 (UTC)
Dadurch das es der erste Befehl seiner Art ist hab ich extra auch von "mehrstufig" gesprochen, statt einfach nur von execute. Man könnte das ja entweder so machen wie oben beschrieben, heißt im Klartext, unter Beispiele kommt ein erster Abschnitt mit "Einstufiger Befehl" und als zweiten Abschnitt kommt "Mehrstufiger Befehl", dann hätte man die Möglichkeit bei eventuell neuen Befehlen die auch Mehrstufigkeiten aufweisen diese dort einzubinden. Es wären außerdem nicht sehr viel neue Beispiele. Ich stelle mir das im Umfang her so vor, dass es maximal 2 - 4 weitere Beispiele sind. Der Vorteil wäre dass man bei dieser Aktion auch mal aufräumen könnte, denn ich hab da paar Beispiele schon gesehen die noch aus der Alpha-Phase stammen. Aber ok, wenn das so nicht gewollt ist, hätte ich noch den Vorschlag, alle Beispiele auf allen Befehlsseiten auf eine neue eigene Seite zu verschieben. Dort könnte man dann die Eingliederung machen wie ich sie oben vorgestellt habe, mit der Stufigkeit. -- Nethonos 16:11, 15. Sep. 2016 (UTC)
Es sollten schon auf jeder Befehlsseite passende Beispiele sein, ich möchte ja wissen wie der Befehl funktioniert und kann so durch hochscrollen gleich nochmal gucken, was denn was bedeutet. Alle Beispiele auf einer Seite wäre zu unübersichtlich. Aber eine eigene Seite für mehrstufige /execute Befehle wäre praktisch. Dann kann man auch von Etikette dahin verlinken, wenn man beschreibt wie man mehrere tags abfragt. Beispiel-Befehl /execute @a[tag=Kaffee] ~ ~ ~ /execute @p[tag=Kuchen,r=0] ~ ~ ~ /say Kaffee und Kuchen MarkusRost (Diskussion) 16:37, 15. Sep. 2016 (UTC)
Ok, dann würde ich folgendes vorschlagen, der Abschnitt "Beispiele" wird in "Beispiele - Einstufig" geändert und unter den Beispielen folgt ein Link zu den zweistufigen Befehlen. Was haltet ihr davon? -- Nethonos 16:44, 15. Sep. 2016 (UTC)
Guter Vorschlag. Ich würde nur die Begriffe "einstufig" und "zweistufig" weglassen. Es muss nicht alles mit einem Begriff versehen werden. "Weitere Beispiele" oder "Komplexe Beispiele" ist völlig ausreichend. -- Sumpfhütte 16:52, 15. Sep. 2016 (UTC)
Ich würde es vielleicht "Anleitungen/Befehle mit Zielauswahl" nennen. Und zum Thema Stufigkeit, ich würde diese Begriffe dann in den Abschnitten nicht einbauen, allerdings würde ich das dann im Text darunter machen, damit man eben auch darüber informiert wird, denn wir sind ja hier im Wiki welches auch solche Sachen erklären sollte. -- Nethonos 18:10, 15. Sep. 2016 (UTC)Buch und Feder.png
Der Begriff "Stufigkeit" ist nur in der Geologie bekannt. Ich würde ihn weglassen, er ist auch gar nicht nötig. Denn was damit beschrieben wurde, ist eigentlich ganz einfach: Mit Hilfe von /execute kann man mehrere Zielauswahlen verknüpfen. Mehr ist nicht möglich. Ich habe das im Befehlsartikel so eingetragen und die Beispiele nach /execute verschoben. -- Sumpfhütte 10:03, 19. Sep. 2016 (UTC)
Ok, der Begriff kann auch meinetwegen entfallen. Allerdings kann der /execute mehr als nur Zielauswahlen verknüpfen, er kann von ausgewählten Objekten Befehle ausführen lassen. Das steht aber bereits im Artikel also nicht weiter tragisch. Und eine Erwähnung der Verknüpfung von Zielauswahlen in dem Abschnitt, ist ja auch eine gute Lösung um diese spezielle Eigenschaft dann vor Ort zu klären. -- Nethonos 10:50, 19. Sep. 2016 (UTC)

Bezugskoordinaten[Bearbeiten]

Hat jemand ein Beispiel, wozu man die Bezugskoordinaten unbedingt braucht, abgesehen davon dass die Syntax sie verlangt? Oder könnte man dort grundsätzlich ~ ~ ~ eingeben und alles über die Koordinaten des auszuführenden Befehls regeln? -- Sumpfhütte 17:22, 5. Jan. 2017 (UTC)

Ich habe beim Rumprobieren gerade herausgefunden, dass bei koordinatenabhängigen Befehle die relativen Koordinaten aus den Bezugskoordinaten und den Befehlskoordinaten addiert werden. So platziert z. B. der Befehl /execute @p ~ ~2 ~ /setblock ~ ~2 ~ stone vier Blöcke überm nächsten Spieler einen Steinblock. Ich weiß aber nicht, wofür das gut sein soll. :-) ~ EndermanFace.png ouoɑY 17:40, 5. Jan. 2017 (UTC)
Auf den Technik-Welten wird sowas sehr häufig gebraucht, damit man von den relativen Objekten aus, wieder auf unveränderliche Positionen zugreifen kann. Ein Befehl von dem Welt-Einstellungs-System sieht so aus: Befehl /execute @a[tag=!Erweitert,m=1] ~ ~ ~ /testforblock -21 4 -39 chain_command_block -1 {SuccessCount:0}. Um die Frage zu beantworten, ja es wird benötigt. -- Nethonos 18:36, 5. Jan. 2017 (UTC)
Die Antwort war schnell aber schlecht. Grundsätzlich gibt es einige Befehle die nicht über den Nachfolgebefehl die festen Koordinaten bestimmen können, dort wird es aber auch nicht benötigt, aber hier ein Befehl der selbst über Koordinateneingabe verfügt, trotzdem aber die Koordinaten des execute-Befehls benötigt: Befehl /execute @p[r=5,x=-20,y=56,z=0] 0 56 0 /execute @e[type=armor_stand,r=15] ~ ~ ~ /setblock ~ ~10 ~ gold_block. Erklärung: An den Koordinaten -20/56/0 wird in einem Radius von 5 Metern geprüft ob sich dort ein Spieler aufhält, nur wenn das stimmt, wird von den Koordinaten 0/56/0 in einem Radius von 15 Metern, nach einen oder mehreren Rüstungsständern ausschau gehalten. Findet der Befehl einen oder mehrere Rüstungsständer, so wird in einer Höhe von 10 Metern ein Goldblock über diese gesetzt. -- Nethonos 19:19, 5. Jan. 2017 (UTC)
Mir ist ein Fehler unterlaufen, man kann sehr wohl auch hier ohne die festen Koordinaten des execute-Befehls das gleiche Resultat erzielen: Befehl /execute @p[r=5,x=-20,y=56,z=0] ~ ~ ~ /execute @e[type=armor_stand,r=15,x=0,y=56,z=0] ~ ~ ~ /setblock ~ ~10 ~ gold_block. Jetzt könnte man auch weiter gehen und sagen, dass der execute-Befehl garkeine Bezugspunkte brauchen würde und man eigentlich den Befehl so ausführen lassen könnte: Befehl /execute @p[r=5,x=-20,y=56,z=0] /execute @e[type=armor_stand,r=15,x=0,y=56,z=0] /setblock ~ ~10 ~ gold_block. Dabei müsste man folgende Definition aufstellen: "/execute @e ~ ~ ~ /<Befehl>" entspricht "/execute @e /<Befehl>". -- Nethonos 19:44, 5. Jan. 2017 (UTC)
Der Befehl /execute @a[tag=Huhn] ~ ~20 ~ /testfor @e[type=chicken,r=5] testet, ob sich 20 Blöcke über einem oder mehr Spielern mit dem Tag Huhn ein Huhn befindet. Dafür werden allerdings die Koordinaten bei /execute benötigt, da /testfor selbst keine Koordinatenangabe hat. Die Koordinaten werden also durchaus gebraucht, wenn auch eher selten.   HorseHead.png MarkusRost (Diskussion) 02:20, 6. Jan. 2017 (UTC)
Ich hab deine Befehle ergänzt, damit sie überhaupt sinnvoll sind, denn ohne Radius macht es ja wenig Sinn in einer bestimmten Höhe nach dem Huhn zu prüfen. Aber tatsächlich, da scheint es keine andere Möglichkeit zu geben, als den execute-Befehl mit relativen Koordinaten zu bestücken. Da hat sich also Mojang doch sehr ausgiebig mit beschäftigt und der Befehl hat also mit den relativen Koordinaten seine volle Berechtigung, lediglich feste Koordinaten könnten theoretisch weggelassen werden, da man sie immer auch in den nachfolgenden Befehlen abbilden kann, wie es in den vorangegangenen Beispielen gezeigt wurde. -- Nethonos 09:08, 6. Jan. 2017 (UTC)Buch und Feder.png
Der Befehl /execute @a[tag=Huhn] ~ 20 ~ /testfor @e[type=chicken,r=5] testet, ob auf Höhe 20 an der Stelle von einem oder mehr Spielern mit dem Tag Huhn ein Huhn befindet. Dafür werden (zum Teil) absolute Koordinaten bei /execute benötigt. (Funktioniert auch mit den anderen Koordiaten, wenn z.B. nur eine Koordinate vom Spieler abhängen soll) Die Koordinaten werden also durchaus gebraucht, wenn auch eher selten. (Ja, meine voherige Nachricht kopiert ^^)   HorseHead.png MarkusRost (Diskussion) 09:22, 6. Jan. 2017 (UTC)
Deshalb hab ich auch hier deinen Befehl angepasst. Da man ja einen Kubus um ein Objekt erstellen kann, mit dem Befehl /execute @e[type=armor_stand,r=25] ~-5 ~-5 ~-5 /testfor @p[,,,dx=10,dy=10,dz=10], bei dem dann geprüft wird ob sich dort was befindet, vermutete ich das man das auch wie folgt erweitern kann, sodass dein Befehl keine festen Koordinaten an der besagten Stelle benötigen würde, dies ist aber leider nicht funktional: Befehl /execute @a[tag=Huhn] ~ ~ ~ /testfor @e[,y=20,,type=chicken,r=5]. Denn dann hätte man feste Koordinaten wirklich weitestgehend nicht benötigt, leider scheint das nicht zu klappen. -- Nethonos 10:08, 6. Jan. 2017 (UTC)
@Nethonos: Ein Würfel mit der Länge 10 ist nicht das gleiche wie eine Kugel mit dem Radius 5   HorseHead.png MarkusRost (Diskussion) 15:45, 6. Jan. 2017 (UTC)
Ja richtig und was möchtest du damit ausdrücken ? Das spielt hierbei keine Rolle, da man mit drei leeren Bereichen X/Y/Z als relative Koordinaten angeben kann. Ich hätte es auch als Kugel machen können, aber ich wollte den Vorteil dessen damit zeigen. Man kann sogar Kugel und Kubus kombinieren, in dem man den Radius mit angibt. -- Nethonos 19:51, 6. Jan. 2017 (UTC)