Wie wähle ich zwei Arten von Entitäten in Minecraft mit dem Typwähler aus?

Ich habe diese Frage an einen Entwickler für Minecraft gestellt und ich dachte, ich würde auch hier fragen, da sie die Frage nicht sehen könnten.

Wie wähle ich zwei Arten von Entitäten in Minecraft aus?

Zum Beispiel, so etwas wie: /say @e[type=![Player,Item],r=50] (zu klären, ich habe auch versucht type=Item,Player , type=Item,type=Player etc)

Sollte eine beliebige Entität wählen, die nicht mit Spielern oder Gegenständen übereinstimmt, also Dinge wie Creepers, Ghasts, XPOrbs, PrimedTNT und so weiter innerhalb eines Radius von 50 Blöcken und drucken sie in den Chat.

Stattdessen ignoriert es eine der Fahnen und arbeitet mit dem anderen stattdessen.

  • Wie kann ich einen Zufallszahlengenerator mit Befehlsblöcken in Minecraft machen?
  • Variablen in Minecraft?
  • Wie bekomme ich den Spielernamen?
  • Syntax, um mehrere Befehle zu einem einzigen Befehlsblock hinzuzufügen
  • Wie schaffe ich unzerbrechliche Blöcke?
  • Befehlsblöcke in Minercaft geben Gegenstände auf Kills
  • 6 Solutions collect form web for “Wie wähle ich zwei Arten von Entitäten in Minecraft mit dem Typwähler aus?”

    Zuerst erstellen Sie ein Dummy-Scoreboard-Ziel:

    /scoreboard objectives add selectMe dummy

    Dann, auf einer schnellen Redstone Uhr, geben alle Entitäten eine selectMe Punktzahl von 1:

    /scoreboard players set @e selectMe 1

    Geben Sie alle Spieler und Items eine selectMe-Punktzahl von 0 mit diesen beiden Befehlsblöcken:

    /scoreboard players set @e[type=Player] selectMe 0

    /scoreboard players set @e[type=Item] selectMe 0

    Jetzt können Sie sie auswählen, indem Sie alle Entitäten innerhalb eines 50-Block-Radius anordnen, die eine selectMe-Punktzahl von 1:

    /say @e[score_selectMe_min=1,r=50]

    Hoffe das hat geholfen! 🙂

    Wie von Minecraft 1.9, sind Anzeiger-Tags eine bessere Passform für diese als die Einrichtung eines Ziels und die Zuweisung einer Punktzahl.

    Es ist so einfach wie das Einrichten von Wiederholungsbefehlsblöcken (oder einer Wiederholungs- / Kettenlinie) und Putting:

     /scoreboard players tag @e[type=Player] add playerOrItem /scoreboard players tag @e[type=Item] add playerOrItem 

    Sie können dann @e[tag=playerOrItem] und @e[tag=!playerOrItem] , um jede Entität auszuwählen, die kein Spieler oder Gegenstand ist.


    Die Vorteile der Verwendung von Tags über Scoreboard-Ziele sind:

    1. Keine Notwendigkeit, ein Ziel aufzustellen.
    2. Sie werden standardmäßig als leer initialisiert. Ie @a[tag=!banana] arbeitet bei jedem Spieler standardmäßig, im Gegensatz zu @a[score_banana=0] . Das bedeutet, dass Sie nur die Ziele beeinflussen müssen, die Sie tatsächlich beeinflussen möchten.
    3. Tags werden auch in einem Entitäten-NBT-Daten gespeichert, im Tags Tag.

    Die effizienteste Möglichkeit, zwei spezifische Entitäten gleichzeitig mit dem Argument "Typ" auszuwählen, besteht darin, zwei "Typ" -Argumente nebeneinander zu setzen.

    Ex.

    @e [Typ = Spieler, Typ = Villager]

    Ziele nur Spieler und Dorfbewohner.

    Ex.

    @r [Typ = Spieler, Typ = Villager]

    Ziele nur Spieler und Dorfbewohner. Dieser Zielselektor wählt jedoch eine zufällige Entität innerhalb der angegebenen Parameter des Arguments, während der vorherige Selektor jede Entität ausgewählt hat, die die Parameter des Arguments erfüllt hat.

    Dies könnte auf unbestimmte Zeit weitergehen, bis du jede Art von Entität in Minecraft ausgewählt hast (Allerdings wäre das eine komplette Zeitverschwendung, weil die gleiche Aktion mit @e durchgeführt werden kann).

    Bitte korrigieren Sie alle Fehler, die ich gemacht habe.

    Für weitere Informationen über Ziel-Selektor-Argumente besuchen Sie bitte diesen Beitrag von Minecraft Forum.

    http://www.minecraftforum.net/forums/minecraft-discussion/redstone-discussion-und/command-blocks/2477949-minecraft-pc-target-selectors-and-diehe-argumente

    In Minecraft 1.9 gibt es eine einfache Möglichkeit, es ohne Anzeiger mit Chain Command Blocks zu tun. Für die Demonstration werde ich alle Entitäten töten, die keine Spieler oder Gegenstände sind.

    Erster Befehlsblock: execute @e ~ ~ ~ summon ArmorStand ~ ~ ~ {Invisible:1,NoGravity:1}

    Das macht eine Rüstung an der gleichen Stelle wie jede Entität. Der erste Befehlsblock muss in den zweiten Befehlsblock gerichtet sein.

    Zweiter Befehlsblock: execute @e[type=Player] ~ ~ ~ kill @e[type=ArmorStand,c=1]

    Das macht alle Spieler die Rüstungsstände, die etwas tun werden.

    Third Command Block: execute @e[type=Item] ~ ~ ~ kill @e[type=ArmorStand,c=1]

    Gleich wie oben mit Ausnahme von Spielern. Du kannst das so oft machen wie du willst.

    Last Command Block: execute @e[type=ArmorStand] ~ ~ ~ kill @e[c=2] ~ ~ ~

    Dies macht alle Rüstungsstationen töten sich selbst und die Entität, die sie vertreten.

    Die Vorteile:

    • Verwendet Rüstung steht. Warum nicht?
    • Benötigt keine Anzeiger

    Die Nachteile:

    • Wenn ein Wesen nach dem Rüstungsständer zu einem fernen Ort stirbt, wird er gerufen, aber bevor die Rüstung ihre Befehle ausführt, wird eine Entität, die nicht getötet werden soll, getötet

    Wenn Sie möchten, dass alle Nicht-Spieler-Nicht-Element-Einheiten einen Befehl ausführen, verwenden Sie einfach diese:

    Last Command Block: execute @e[type=ArmorStand] ~ ~ ~ execute @e[r=1,c=-1] ~ ~ ~ <command>

    Nachteile hiervon:

    • Wenn eine Entität stirbt / teleportiert / verlässt die Strecke unter unter 1ms, wird der Rüstungsstand den Befehl selbst ausführen

    Ein viel einfacher Weg, dies zu tun ist, diesen Befehl zu verwenden:

    / Kill @e [Typ =! Spieler, r = 20]. Der Ausrufezeichen bedeutet, alles außer der Art der Entität zu töten. Sie können dies auf eine Redstone Uhr und es funktioniert super. Ich hoffe das hat dir geholfen 🙂 PS können Sie so viele Entitäten wie Sie wollen innerhalb des Befehls. Tu das einfach: / kill @e [type =! Spieler,! Schaf, r = 20]

    Wie andere später mir erklärten, ist der eigentliche Grund, dass die Beschränkungen der gleichen Art sich gegenseitig schreiben. Tut mir leid, ich kann mich nicht davon abhalten, Logik für die Beantwortung von Fragen zu verwenden, die ich eigentlich nicht die Antwort kenne, aus dem Anblick, dass die Dinge normalerweise nicht so logisch sind, wie ich denke.


    Ursprüngliche Antwort:

    Ich bin nicht häufig auf Entitäten gezielt, aber los von mineguy1009 fehlgeschlagene Antwort Ich stelle folgendes fest:

    Die Antwort vermutlich fehlschlägt, weil dies wie [type = Player AND type = Villager] analysiert wird, was natürlich zu Unsinn führt (es ist nicht gerade Quatsch selbst, eigentlich ist es ein recht vernünftiger Ansatz, wie das Komma vorschlägt, dass es sein würde [type = Player OR type = Villager] ).

    Allerdings, wie Sie es negieren, das ist genau das, was Sie brauchen: [type=!Player, type=!Item] sollte als [type != Player AND type != Item] analysiert werden. Wenn du die Entitäten von einer Gruppe aus einer Gruppe sein möchtest, sollte es intuitiv [![type=!<type1>,type=!<type2>,...],<otherconditions>] . Wenn das nicht klappt, könntest du immer noch für umgekehrte Gruppen gehen, was aber schrecklich lang werden würde (wie du buchstäblich jede Entität aufführen mußt, die nicht in deiner Gruppe sein soll).

    Wenn diese Antwort auch fehlschlägt, ist das Entity Targeting, ja, wat .