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

Anzeigetafel

Aus Minecraft Wiki
Wechseln zu: Navigation, Suche
Die Daten einer Anzeigetafel im Chat

Die Anzeigetafel ist eine Spielmechanik, die sowohl für Abenteuerwelten-Ersteller, als auch für Ingame-Spiele auf Servern von großem Nutzen ist.

Es handelt sich um eine Punktestand- und Team-Verwaltung. Das kann man sich vorstellen wie die schwarzen Tafeln beim Kegeln, wo man Teams aufschreibt und mit Kreidestrichen die Punkte zählt. Das Anzeigen der Punkte ist bei Minecraft aber nur Nebensache und kann auch weggelassen werden. Insofern handelt es sich bei der "Anzeigetafel" nicht um eine reale Anzeigetafel, sondern dieser Begriff ist im übertragenen Sinn zu verstehen.

Zur Verwaltung der Punktestände werden beliebige Ziele für eine Welt definiert, für die Spieler Punkte sammeln können. Punkte können aber auch an Kreaturen und sogar leblose Objekte vergeben werden. Dies ist einzeln möglich, es können aber auch Teams gebildet werden.

Die Verwaltung der Punktestände und Teams erfolgt mit dem Befehl /scoreboard. Die Eingabe in Befehlsblöcken ist ein wesentlicher Teil des Konzeptes, denn nur so kann ein Spieler Befehle ausführen, die er standardmäßig nicht verwenden kann.

Alle Informationen der Anzeigetafel werden in den Anzeigetafeldaten gespeichert.

Ziele[Bearbeiten | Quelltext bearbeiten]

Jedes mit Hilfe der Anzeigetafel-Befehle erstellte Ziel (engl. objective) verwaltet für jedes Objekt (Spieler, Kreatur, lebloses Objekt) einen Punktestand. Ein Ziel ist ein Punktestand.

Man erstellt ein Ziel mit dem Befehl /scoreboard objectives add Zielname Kriterium Anzeigename.

  • Der Zielname ist die eindeutige ID für das Ziel. Er darf nur aus einem einzigen Wort von maximal 16 Zeichen Länge bestehen. Bei der Wahl des Namens ist auf Groß- und Kleinschreibung zu achten, d. h. "Beispiel" und "beispiel" sind zwei unterschiedliche Ziele.
  • Der Anzeigename kann zusätzlich zum Zielnamen vergeben werden. Beim Anzeigename sind Leerzeichen erlaubt und er darf bis zu 32 Zeichen lang sein. Jedoch sind kürzere Anzeigename für eine übersichtliche Anzeige besser geeignet. Wird der Anzeigename weggelassen, wird stattdessen der Zielname angezeigt.
  • Das Kriterium bestimmt, was als Punktezähler dienen soll. Da gibt es eine sehr große Auswahl, nämlich sämtliche Statistiken und Erfolge eines Spielers, spezielle PvP-Statistiken, einige Statuswerte (Leben, Hunger, Rüstung etc.), sowie zwei ganz besondere Kriterien dummy und trigger. Diese werden nicht wie die anderen Kriterien automatisch gezählt, sondern die Punktestände können nur durch Befehle verändert werden. Eine Liste aller Kriterien steht im Artikel Befehl/scoreboard.

Beispiele:

Spieler

Ziele

oyo123 anna yoyo bibi
uhr 1 0 0 3
ghast 7 0 3 15
Diamanten 1 0 0 1
Rätsel-25 1 1 0 0
bk 5 1 4 6
Raum-32 0 1 1 0

/scoreboard objectives add uhr stat.craftItem.minecraft.clock Goldene Uhr

Das Ziel "Goldene Uhr" (Zielname "uhr") zählt pro Spieler die Anzahl gecrafteter Uhren (Uhren haben den ID-Namen clock).

/scoreboard objectives add ghast stat.killEntity.Ghast Ghast-Safari

Das Ziel "Ghast-Safari" (Zielname "ghast") zählt pro Spieler die Anzahl getöteter Ghasts.

/scoreboard objectives add Diamanten achievements.diamonds

Das Ziel mit dem Zielnamen "Diamanten", der auch als Anzeigename verwendet wird, zählt pro Spieler die Anzahl des Erfolges "DIAMANTEN!".

/scoreboard objectives add Rätsel-25 dummy Feuersee-Rätsel

Der Punktestand für das Ziel "Feuersee-Rätsel" (Zielname "Rätsel-25") wird nicht automatisch erhöht, sondern nur mit dem Befehl /scoreboard players add @p Rätsel-25 1. Dieser Befehl ist in einem Befehlsblock hinterlegt, den der Spieler aktivieren muss, um einen Punkt zu bekommen.

/scoreboard objectives add bk teamkill.blue Blaukill

Das Ziel "Blaukill" (Zielname "bk") zählt pro Spieler die Anzahl getöteter Teammitglieder des blauen Teams.

/scoreboard objectives add Raum-32 trigger

Der Punktestand für das Ziel "Raum-32" wird nur erhöht, wenn der Spieler den Befehl /trigger Raum-32 add 1 als Teil eines JSON-Textes erhält und z.B. durch einen Mausklick auslöst.

Mit dem Befehl /scoreboard objectives list kann man sich die Namen aller erstellten Ziele in der Chat-Konsole ansehen.

Die Punkte für ein Ziel werden so lange für alle Spieler gezählt, bis das Ziel gelöscht wird. Das geschieht mit dem Befehl /scoreboard objectives remove Zielname.

Punktestand ändern[Bearbeiten | Quelltext bearbeiten]

Die Statistiken und die Punktestände des Spielers sind getrennte Werte:

  • Die Statistik oder Erfolge eines Spielers erhöhen sich immer dann, wenn das entsprechende Ereignis eintritt oder wenn sie manuell über den Befehl /achievement give erhöht werden. Die Statistik der Gesundheit kann über Schäden, Nahrungsaufnahme und Statuseffekte verändert werden.
  • Ein Punktestand wird für einen Spieler erst angelegt, wenn das entsprechende Ziel erstellt wurde und der Spieler den ersten Punkt erreicht hat. Daher sind Spieler, die an der Erreichung des Ziels nicht teilnehmen, nicht etwa mit 0 Punkten, sondern gar nicht in der Anzeigetafel enthalten. Sobald sich nach Erstellung eines Ziels bei einem Spieler die zugehörige Statistik ändert, sorgt die Anzeigetafel automatisch für das Anlegen bzw. die Änderung des zugehörigen Punktestandes. Das gilt auch für das Kriterium "health": der Punktestand ist solange nicht vorhanden, bis sich die Gesundheit zum ersten Mal nach Erstellung des Ziels ändert, erst ab diesem Zeitpunkt zeigt der Punktestand die aktuelle Gesundheit an.
  • Zusätzlich kann man den Punktestand mit Befehlen manipulieren (Ausnahme: Kriterium "health"). Die Manipulation ändert wohlgemerkt nur den Punktestand, die Statistik bleibt davon unberührt. Diese Befehle dienen in erster Linie als Hilfsmittel für Spielleiter oder Schiedsrichter, die im Zweifelsfall Punkte an- oder aberkennen können. Sie werden üblicherweise in Befehlsblöcken hinterlegt.
    • /scoreboard players set Objekt Zielname Wert überschreibt den Punktestand mit einem neuen Wert.
    • /scoreboard players add Objekt Zielname Wert erhöht den Punktestand um den Wert.
    • /scoreboard players remove Objekt Zielname Wert verringert den Punktestand um den Wert.
    • /scoreboard players operation Objekt1 Zielname1 Operation Objekt2 Zielname2 verändert den Punktestand von Objekt1 für das Ziel1 je nach Operation um den Punktestand von Objekt2 für das Ziel2.
    • /scoreboard players reset Objekt entfernt das Objekt aus der Anzeigetafel-Verwaltung. Sollte es danach wieder oder weiter am Ziel teilnehmen, beginnt seine Punktezählung von Neuem.
    • /scoreboard players enable Objekt Zielname schaltet das trigger-Ziel für das Objekt frei, sodass der Befehl /trigger einmal auf dieses Objekt angewendet werden kann, um den Punktestand des Ziels zu verändern. Die Freischaltung wird dadurch automatisch wieder entfernt und muss für eine zweite Veränderung erneut freigeschaltet werden. Beispiel siehe Befehl /trigger.
  • Statt einen Punktestand mit dem /scoreboard-Befehl direkt zu ändern, kann dies auch indirekt erfolgen, wenn ein Befehl ausgeführt wird (durch Befehlsblock, Schild, Chat-Konsole, Befehlsblocklore). An der Befehlsquelle kann man einstellen, ob eine Ergebnismeldung nach Ausführung des Befehls gleichzeitig auch einen Punktestand ändern soll. Ausführliche Erklärung und Beispiel siehe den Befehl /stats.
  • Beim Tod eines Spielers behält er seine Punkte weiterhin.

Bei dem Kriterium "dummy" sind Befehlsblöcke die einzige Möglichkeit, den Punktestand zu verändern. Dies kann für Abenteuerwelten genutzt werden, bei denen keine Statistiken gezählt werden, sondern z.B. in jedem Level ein Befehlsblock aktiviert werden muss, der dadurch die Punkte hochsetzt.

Zähler[Bearbeiten | Quelltext bearbeiten]

Für Berechnungen und Zwischenergebnisse können beliebige Zähler definiert werden. Ein Zähler ist ein nicht existierender Spielername. Die Anzeigetafel behandelt ihn wie einen normalen Spieler. Ein Zähler kann Punkte jedoch nur durch Befehle erhalten, da er - logischweise - nicht am Spiel teilnimmt und weder Statistiken noch Erfolge hat.

/scoreboard players set Zählername Zielname 0

Definiert einen Zähler für ein bestimmtes Ziel, indem sein Punktestand für das Ziel auf 0 gesetzt wird. In diesem Moment würde der Zähler mit 0 Punkten in der Anzeige am rechten Bildschirmrand angezeigt werden, außer sein Name beginnt mit "#".

/scoreboard players reset Zählername

Entfernt den Zähler aus der Anzeigetafel-Verwaltung.


Beispiel für die Verwendung von Zählern:

Spieler

Ziele

oyo123
(Miner)
anna
(Miner)
yoyo
(Crafter)
bibi
(Crafter)
#Minerpunkte #Crafterpunkte #Faktor
Schweinekill 15 17 24 21 32 45 2
Karottenanbau 7 23 0 12 30 12 5
Gesamt 0 0 0 0 214 150 0
  • Es gibt die beiden Teams "Miner" und "Crafter":
    • /scoreboard teams add Miner
    • /scoreboard teams add Crafter
  • Es soll die beiden Ziele "Schweinekill" und "Karottenanbau" geben, die die Tötung eines Schweins und den Anbau einer Karotte für jeden Spieler zählen:
    • /scoreboard objectives add Schweinekill stat.killEntity.Pig
    • /scoreboard objectives add Karottenanbau stat.useItem.minecraft.carrot
  • Der Zähler #Minerpunkte (er kann auch anders heißen) soll die Punkte des Minerteams zählen. Analog dazu wird auch ein Zähler #Crafterpunkte angelegt (wird hier nicht gezeigt, damit das Beispiel nicht zu lang wird):
    • /scoreboard players set #Minerpunkte Schweinekill 0 => setzt den Punktestand "Schweinekill" des Zählers #Minerpunkte auf 0.
    • /scoreboard players set #Minerpunkte Karottenanbau 0 => setzt den Punktestand "Karottenanbau" des Zählers #Minerpunkte auf 0.
    • /scoreboard players operation #Minerpunkte Schweinekill += @a[team=Miner] Schweinekill => addiert die Schweinekill-Punkte aller Spieler (@a), die zum Team "Miner" gehören ([team=Miner]) auf den Punktestand des Teamzählers
    • /scoreboard players operation #Minerpunkte Karottenanbau += @a[team=Miner] Karottenanbau => addiert die Karottenanbau-Punkte aller Spieler, die zum Team "Miner" gehören auf den Punktestand des Teamzählers
  • Den Punktestand des Zählers kann man sich mit /scoreboard players list #Minerpunkte anschauen.
  • Werden die Punkte des Teams nicht in regelmäßigen Abständen, sondern nur einmal auf den Zähler addiert, kann man die Nullsetzung am Anfang auch weglassen und die Addition durch eine Gleichsetzung ersetzen:
    • /scoreboard players operation #Minerpunkte Schweinekill = @a[team=Miner] Schweinekill => setzt den Punktestand des Teamzählers auf die Schweinekill-Punkte aller Miner-Spieler
  • Für die Auswertung soll jedes Schwein 2 Punkte zählen und jede Karotte 5 Punkte. Dazu definiert man einen Zähler, den man z.B. #Faktor (oder beliebig anders) nennt:
    • /scoreboard players set #Faktor Schweinekill 2 => setzt den Punktestand "Schweinekill" des Zählers #Faktor auf 2.
    • /scoreboard players set #Faktor Karottenanbau 5 => setzt den Punktestand "Karottenanbau" des Zählers #Faktor auf 5.
    • /scoreboard players operation #Minerpunkte Schweinekill *= #Faktor Schweinekill => multipliziert die Schweinekill-Punkte des Zählers #Minerpunkte mit 2.
    • /scoreboard players operation #Minerpunkte Karottenanbau *= #Faktor Karottenanbau => multipliziert die Karottenanbau-Punkte des Zählers #Minerpunkte mit 5.
  • Nun möchte man die Gesamtpunktzahl für jedes Team ermitteln. Dazu definiert man ein neues Ziel "Gesamt":
    • /scoreboard objectives add Gesamt dummy
    • /scoreboard players operation #Minerpunkte Gesamt = #Minerpunkte Schweinekill => belegt beim Zähler #Minerpunkte die Gesamt-Punkte mit den Schweinekill-Punkten.
    • /scoreboard players operation #Minerpunkte Gesamt += #Minerpunkte Karottenanbau => addiert beim Zähler #Minerpunkte die Karottenanbau-Punkte auf die Gesamt-Punkte.
  • Wenn man das auch für die #Crafterpunkte macht, hat man die Gesamtpunktzahl für jedes Team. Anzeige der Gesamtpunkte:
    • /scoreboard players list #Minerpunkte
    • /scoreboard players list #Crafterpunkte

Punktestand anzeigen[Bearbeiten | Quelltext bearbeiten]

Die Anzeige (sidebar) am rechten Bildschirmrand

Mit dem Befehl /scoreboard players list Objekt kann man für ein Objekt die Punktestände aller Ziele im Chat ausgeben. Genauso können die Punktestände der Zähler ausgegeben werden.

Es gibt auch noch andere Möglichkeiten zur Anzeige von Punkteständen. Insbesondere ist es bei Punktespielen interessant, auch die Punkte der anderen Spieler oder Teams zu sehen. Speziell dafür gibt es eine halb durchsichtige Punkteliste am rechten Bildschirmrand, deren Breite durch die Länge der Überschrift und des längsten Namens festgelegt wird (sidebar). Bei Objekten ist der Name die lange, hexadezimale UUID.

Im Mehrspielermodus gibt es zwei weitere Anzeigepositionen für die Punktestände: in der Liste aller Spieler (Taste Tab ↹) und über den Köpfen der einzelnen Spieler zusätzlich zum Namen, der dort zu sehen ist. Jede dieser Anzeigepositionen kann den Punktestand für ein unterschiedliches Ziel anzeigen.

Die Anzeigeposition für ein Ziel wird mit dem Befehl /scoreboard objectives setdisplay Anzeigeposition Zielname festgelegt mit folgender Auswahl:

Anzeigeposition Beschreibung
sidebar Jeder Spieler sieht am rechten Bildschirmrand eine halb durchsichtige Punkteliste, die den Anzeigenamen des Ziels als Überschrift hat. Jedes Objekt, das mindestens einmal einen Punkt erreicht hat, wird dort aufgelistet. Der Punktestand wird in roter Schrift angezeigt, der Name in der Farbe des Teams. Wenn die Punkte eines Objektes auf Null gesetzt werden, wird auch das angezeigt. Wenn ein Objekt aber noch keinen ersten Punkt erreicht hat oder wenn es aus der Anzeigetafel-Verwaltung entfernt wurde, verschwindet es aus der Punkteliste am Bildschirmrand. Diese Anzeigeposition zeigt also nur Objekte an, die an dem dargestellten Ziel aktiv teilnehmen. Ein Zähler wird wie jeder andere Spieler auch hier angezeigt. Wenn man dies nicht möchte, lässt man den Namen des Zählers mit "#" beginnen.
sidebar.team.Teamfarbe Verhält sich grundsätzlich wie "sidebar" mit der Erweiterung, dass man nicht alle Objekte sieht, sondern nur die des eigenen Teams. Außerdem kann jedes Team die Punkteliste für ein anderes Ziel haben, z.B. das blaue Team die Anzahl der getöteten roten Spieler und das rote Team die Anzahl der getöteten blauen Spieler. Beispiel:

/scoreboard teams add Miner
/scoreboard teams add Crafter
/scoreboard teams option Miner color blue
/scoreboard teams option Crafter color red
/scoreboard objectives add RoteTote teamkill.red
/scoreboard objectives add BlaueTote teamkill.blue
/scoreboard objectives setdisplay sidebar.team.blue RoteTote
/scoreboard objectives setdisplay sidebar.team.red BlaueTote

list Erweitert die Liste der anwesenden Spieler (Taste Tab ↹ in der Steuerung) um den Punktestand des Zieles. Neben jedem Spielernamen wird sein Punktestand in gelber Schrift angezeigt. Der Name des Zieles wird nicht angezeigt, er muss den Spielern anderweitig bekannt gemacht werden. Diese Anzeigeposition ist nur im Mehrspieler-Modus zugänglich. Entsprechend der Funktion der Liste werden nur anwesende Spieler gezeigt und keine Objekte und Zähler, da sie keine echten Spieler sind. Die Punkte werden immer für alle Spieler angezeigt, auch wenn sie nicht an dem Ziel aktiv teilnehmen, d. h. noch keinen ersten Punkt erreicht haben. Dann wird 0 angezeigt. Punkte für das Kriterium "health" werden als Lebensherzen angezeigt, wenn genügend Platz dafür vorhanden ist.
belowName Erweitert die Darstellung des Namens über den Köpfen der Spieler. Unter jedem Namen wird der Punktestand, gefolgt vom Anzeigenamen des Ziels dargestellt. Auch diese Anzeigeposition ist nur im Mehrspieler-Modus zugänglich. Der Punktestand ist nur zu sehen, wenn der Name des Spielers zu sehen ist. Beispielsweise kann man so in Spieler-Kämpfen (PvP) die Gesundheit für jeden Spieler sichtbar machen.

Weitere Möglichkeiten zur Anzeige des Punktestandes ergeben sich aus dem score-Objekt eines JSON-Textes. Damit kann ein Text einen beliebigen Punktestand enthalten. Zu beachten ist, dass der Text den Punktestand zum Zeitpunkt der Textgenerierung enthält. Ändert er sich danach, wird der Text nicht automatisch angepasst, er muss neu geschrieben werden.

Beispiel für einen JSON-Text, der zwei Punktestände anzeigt:

Spieler

Ziele

oyo123
(Miner)
anna
(Miner)
yoyo
(Crafter)
bibi
(Crafter)
#Minerpunkte #Crafterpunkte
Schatz 13 14 0 25 27 25

Es gibt zwei Teams, die "Miner" und die "Crafter". Jedes Team hat dasselbe Ziel: In einer riesigen Netherfestung vorbereitete Schatzkammern finden. In jeder Schatzkammer gibt es einen Knopf, den der Spieler drücken muss, um einen Punkt für sein Team zu bekommen. Daraufhin verschwindet der Knopf und allen Spielern wird der neue Punktestand mitgeteilt. Die Befehle dazu lauten:

  • Es gibt die beiden Teams "Miner" und "Crafter":
    • /scoreboard teams add Miner
    • /scoreboard teams add Crafter
  • Es gibt das Ziel "Schatz":
    • /scoreboard objectives add Schatz dummy
  • Für jedes Team gibt es einen Teamzähler. Der muss am Anfang auf 0 gesetzt werden, damit in den JSON-Texten auch ein Punktestand von 0 angezeigt wird. Ansonsten würde stattdessen nichts angezeigt werden:
    • /scoreboard players set #Minerpunkte Schatz 0
    • /scoreboard players set #Crafterpunkte Schatz 0
  • Sobald ein Spieler auf einen Knopf drückt, wird dieser gelöscht, damit kein zweiter Spieler diesen Punkt holen kann. Am Ende des Spiels werden alle Knöpfe mit eine Reihe von /setblock-Befehlen wieder gesetzt. Im Beispiel befindet sich der Knopf an der Position 100 75 -20:
    • /setblock 100 75 -20 air
  • Dann erhält der Spieler an dieser Position einen Punkt. Um den Spieler zu erkennen, wird ein sehr kleiner Auswahlbereich gewählt (Radius = 2 Blöcke), damit nicht ein Spieler des anderen Teams den Punkt erhält, falls er gerade in den Raum stürmt. Wenn man den Auswahlbereich so klein wählt, ist es notwendig, die Position farblich zu markieren, auf der man stehen muss, denn man kann einen Knopf auch aus größerer Entfernung drücken, würde dann aber keinen Punkt erhalten. Man kann die Schatzkammern auch verschieden hohe Punktzahlen vergeben lassen und sie entsprechend mit Schildern kennzeichnen und leicht oder schwer auffindbar oder zugänglich machen. Im Beispiel vergibt die Schatzkammer 7 Punkte:
    • /scoreboard players add @a[x=100,y=75,z=-20,r=2] Schatz 7
  • Nach der Punktevergabe werden für beide Teams die Summe aller Spielerpunkte in einem Teamzähler summiert:
    • /scoreboard players operation #Minerpunkte Schatz = @a[team=Miner] Schatz
    • /scoreboard players operation #Crafterpunkte Schatz = @a[team=Crafter] Schatz
  • Schließlich wird an alle Spieler eine tellraw-Nachricht versendet mit dem Inhalt z.B.: "Neuer Punktestand Miner:Crafter 27:25":
/tellraw @a 
{
  "text":"Neuer Punktestand Miner:Crafter ",
  "extra":
  [  
    { 
      "score":
      {
        "name":"#Minerpunkte",
        "objective":"Schatz"
      } 
    },
    { 
      "text":":" 
    },
    { 
      "score":
      {
        "name":"#Crafterpunkte",
        "objective":"Schatz"
      } 
    }
  ]
}

JSON-Texte können...

  • im Chat versendet werden
  • oder auf ein Schild geschrieben werden (wiederholtes Beschreiben des Schildes mit dem Befehl /blockdata, Beispiel siehe Schild)
  • oder in ein beschriebenes Buch geschrieben werden, was nur am Ende des Spiels sinnvoll ist, denn der Text in einem geschriebenen Buch passt sich nicht automatisch an neue Punktestände an.

Punktestand abfragen[Bearbeiten | Quelltext bearbeiten]

Mit dem Befehl /scoreboard players test Objekt Zielname Wert1 Wert2 kann geprüft werden, ob der Punktestand eines Objektes, einer Zielauswahl oder eines Zählers zwischen Wert1 und Wert2 (jeweils inklusive) liegt.

Die Zielauswahl hat außerdem zwei zusätzliche Eigenschaften, die in vielen Befehlen als Parameter verwendet werden können:

Eigenschaft Bedeutung
score_name Höchst-Punktestand für das Ziel mit dem Zielnamen name. Objekte, die mehr Punkte haben, werden nicht ausgewählt.
score_name_min Mindest-Punktestand für das Ziel mit dem Zielnamen name. Objekte, die weniger Punkte haben, werden nicht ausgewählt.

Beispiele:

Üblicherweise werden Befehle zum Abfragen des Punktestandes in Befehlsblöcken hinterlegt, die bei Erfolg ein Signal über einen direkt daneben platzierten Komparator aussenden. Das Signal kann zur Aktivierung der unterschiedlichsten Signalempfänger verwendet werden: Türen, Kolben weitere Befehlsblöcke, etc.

Beispiel Bedeutung
/scoreboard players test @a[team=Miner] Karottenanbau 5 5 Der Befehlsblock, in dem dieser Befehl hinterlegt ist, sendet ein Signal aus, wenn irgendein Spieler aus dem Team "Miner" genau 5 Punkte beim Ziel "Karottenanbau" hat.
/scoreboard players test #Minerpunkte Karottenanbau 30 9999 Der Befehlsblock, in dem dieser Befehl hinterlegt ist, sendet ein Signal aus, wenn der Punktestand "Karottenanbau" des Zählers #Minerpunkte 30 Punkte erreicht oder überschritten hat (und unter 10000 Punkten liegt).
/testfor @p[score_fische_min=10] Der Befehlsblock, in dem dieser Befehl hinterlegt ist, sendet ein Signal aus, wenn der Spieler, der dem Befehlsblock am nächsten steht, mindestens 10 Punkte bei dem Ziel "fische" erreicht hat.
/effect @p[score_herzen=10] 6 Wenn dieser Befehl in einem Befehlsblock hinterlegt ist, erhält der Spieler, der dem Befehlsblock am nächsten steht, eine Direktheilung (Statuseffekt-ID 6), wenn er 10 oder weniger Punkte bei dem Ziel "herzen" (mit dem Kriterium "health") hat. Der Befehlsblock könnte den Namen "Erste Hilfe" tragen.
/enchant @p[score_magie_min=15,score_magie=20,score_kampf_min=10] 16 4 Wenn dieser Befehl in einem Befehlsblock hinterlegt ist, erhält der Spieler, der dem Befehlsblock am nächsten steht, eine Verzauberung "Schärfe IV" (Verzauberung-ID 16) wenn er ein Schwert in der Hand hält, mindestens 15 und maximal 20 Punkte bei dem Ziel "magie" und mindestens 10 Punkte bei dem Ziel "kampf" erreicht hat.
/execute @a[score_herzen=1] ~ ~ ~ /gamemode sp @p Wenn dieser Befehl in einem Befehlsblock hinterlegt ist, werden alle Spieler, die nur noch 1 Punkt bei dem Ziel "herzen" (mit dem Kriterium "health") haben, in den Zuschauermodus versetzt.

Etiketten[Bearbeiten | Quelltext bearbeiten]

Mit dem Befehl /scoreboard players tag Objekt add Etikett kann einem beliebigen Objekt (Spieler, Kreatur, lebloses Objekt) ein oder nacheinander mehrere unsichtbare Etiketten in Textform vergeben werden. Die so markierten Objekte kann man mit der Zielauswahl tag= eines Befehls auswählen.

Beispiel:

  • Befehl /scoreboard players tag @e[type=zombie,r=10] add Schurke
    • Der Befehl hängt allen Zombies im Umkreis von 10 Blöcken das Etikett "Schurke" an.
  • Befehl /kill @e[tag=Schurke]
    • Der Befehl tötet alle Objekte, die das Etikett "Schurke" tragen.

Teams[Bearbeiten | Quelltext bearbeiten]

Mit Hilfe der Anzeigetafel können Objekte zu Teams zusammengefasst werden. Ihre Namen können in verschiedenen Teamfarben dargestellt werden, sodass man sofort sieht, zu welchem Team ein Objekt gehört. Die Zusammenstellung von Teams ist von der Erstellung von Zielen und deren Punktezählung völlig unabhängig. Man kann also Teams zusammenstellen, ohne Ziele erstellen zu müssen und umgekehrt. Falls ein Ziel erstellt ist, werden die Punkte immer pro Objekt gezählt, nicht pro Team.

Man erzeugt ein leeres Team mit dem Befehl /scoreboard teams add Teamname Anzeigename. Teamname und Anzeigename der Teams haben dieselbe Bedeutung wie die der Ziele (siehe oben). Der Anzeigename des Teams ist zu sehen, wenn man sich mit dem Befehl /scoreboard teams list alle Teams in der Chat-Konsole ausgeben lässt. Mit dem Befehl /scoreboard teams remove Teamname löscht man ein Team.

Für jedes Team können mit dem Befehl /scoreboard teams option Teamname Option Wert folgende Optionen eingestellt werden:

  • friendlyfire (true oder false) bestimmt, ob Teammitglieder einander verletzen können. Voreinstellung ist true, d. h. Verletzungen sind möglich. Wird die Option auf false gesetzt, können Spieler eines Teams einander weder mit Nah- oder Fernkampfattacken, noch mit Wurftränken verletzen. Negative Statuseffekte können durch Teammitglieder jedoch immer noch verursacht werden. Beim jedem Start des Servers gilt jedoch zuerst der Wert "pvp" aus den server.properties.
  • seeFriendlyInvisibles (true oder false) bestimmt, ob unsichtbare Objekte aus dem eigenen Team zu sehen sind. Voreinstellung ist true, d. h. unsichtbare Teammitglieder werden halb-sichtbar angezeigt.
  • nametagVisibility bestimmt die Sichtbarkeit des Namens über dem Objekt.
  • deathMessageVisibility bestimmt die Sichtbarkeit von Todesmeldungen.
    • Für nametagVisibility und deathMessageVisibility sind folgende Werte möglich:
    • never: Spielernamen bzw. Todesmeldungen sind für alle Spieler unsichtbar.
    • hideForOtherTeams: Spielernamen bzw. Todesmeldungen sind für Spieler anderer Teams unsichtbar, das eigene Team und teamlose Spieler sehen sie.
    • hideForOwnTeam: Spielernamen bzw. Todesmeldungen sind für Spieler des eigenen Teams unsichtbar, alle anderen sehen sie.
    • always: Spielernamen bzw. Todesmeldungen sind für alle Spieler sichtbar (Standard).
  • collisionRule bestimmt, ob Mitglieder eines Teams geschoben werden können bzw. ob sie andere Objkete schieben können. Folgende Werte sind möglich:
    • never: die Mitglieder des Teams können kein Objekt schieben, aber auch nicht geschoben werden.
    • pushOtherTeams: die Mitglieder des Teams können Objekte anderer Teams schieben, Teamkameraden aber nicht.
    • pushOwnTeam: die Mitglieder des Teams können nur Objekte des selben Teams schieben.
    • always: die Mitglieder des Teams können alle Objekte schieben und von allen Objekten geschoben werden. (Standard)
  • color bestimmt die Namensfarbe der Teammitglieder. Die Farbe wird im Namen über ihren Köpfen, im Chat, in der Spielerliste und in der Anzeige am rechten Bildschirmrand (wenn diese aktiviert ist) dargestellt. Folgende 16 Farben sind möglich:
white black
yellow gold
aqua dark_aqua
blue dark_blue
light_purple dark_purple
red dark_red
green dark_green
gray dark_gray
reset = Zurücksetzen auf die Standardfarbe

Teams zusammenstellen[Bearbeiten | Quelltext bearbeiten]

Mit dem Befehl /scoreboard teams join Teamname tritt man einem Team bei. Man kann immer nur einem Team angehören. Mit dem Befehl /scoreboard teams leave verlässt man sein aktuelles Team wieder. Optional kann auch der Name eines Spielers oder eine Zielauswahl angegeben werden.

Mit dem Befehl /scoreboard teams empty Teamname werden alle Objekte aus dem Team entfernt, und das Team kann neu zusammengestellt werden.

Teamzugehörigkeit prüfen[Bearbeiten | Quelltext bearbeiten]

Wie das Abfragen der Punktestände gehört auch das Abfragen der Teamzugehörigkeit nicht zur Anzeigetafel. Die Auswertung geschieht über eine zusätzliche Eigenschaft der Zielauswahl, die in vielen Befehlen als Parameter verwendet werden kann:

Eigenschaft Bedeutung
team Mitgliedschaft in einem Team. Es wird der interne Name des Teams abgefragt. Mit einem ! vor dem internen Namen wird die Abfrage zu einer Negation. Bei keiner Angabe eines Team-Namen sind die Spieler betroffen, die keinem Team angehören.

Beispiele:

Beispiel Bedeutung
/xp 10 @a[team=miner] Alle Spieler, die zum Team mit dem internen Namen "miner" gehören, erhalten 10 Erfahrungspunkte.
/testfor @p[team=!crafter,team=!blocker] Der Befehlsblock, in dem dieser Befehl hinterlegt ist, sendet ein Signal aus, wenn der Spieler, der dem Befehlsblock am nächsten steht, nicht zum Team mit dem internen Namen "crafter" und nicht zum Team "blocker" gehört.
/tell @a[team=] Hey Leute, sucht euch ein Team! Die Nachricht wird an alle Spieler gesendet, die zu keinem Team gehören.
/tp @p[team=!] GameMaster Wenn dieser Befehl in einem Befehlsblock hinterlegt ist, wird der Spieler, der dem Befehlsblock am nächsten steht, an die Position des Spielers "GameMaster" teleportiert, wenn der Spieler am Befehlsblock zu irgend einem Team gehört.

Beispiel[Bearbeiten | Quelltext bearbeiten]

Dieses relativ einfache Beispiel, das beliebig komfortabel ausgebaut werden kann, beschreibt den Gebrauch der Anzeigetafel bei einem Arena-Spiel, das wir "Spinnenschlacht" nennen wollen. In der Arena sind Werfer verteilt, die mit Spawn-Eiern von giftigen Höhlenspinnen gefüllt sind. Die Werfer sind an einen Redstone-Blinker (oder Clock) angeschlossen und werfen jede Sekunde eine Spinne aus. Zwei Teams, "Die Miner" und "Die Crafter", treten gegeneinander an. Das Team, das zuerst 30 Spinnen erlegt hat, hat gewonnen.

Spieler

Ziele

oyo123
(miner)
anna
(miner)
yoyo
(crafter)
bibi
(crafter)
spinne-e 7 9 11 8
spinne-m 16 16 0 0
spinne-c 0 0 19 19

Für das Spiel benötigen wir folgende Anzeigetafel-Befehle:

/scoreboard teams add miner Die Miner
/scoreboard teams add crafter Die Crafter

Zwei Teams "Die Miner" und "Die Crafter" (interne Namen "miner" und "crafter") werden erstellt.

/scoreboard teams option miner color gold
/scoreboard teams option crafter color green

Den Teams werden die Farben Gold und Grün zugeordnet.

/scoreboard objectives add spinne-e stat.killEntity.CaveSpider Spinne einzeln

Die Punkte für das Ziel "Spinne einzeln" (interner Name "spinne-e") werden für jeden Spieler bei jeder Tötung einer Höhlenspinne um 1 erhöht.

/scoreboard objectives setdisplay list spinne-e

Das Ziel "Spinne einzeln" wird in der Spielerliste angezeigt. Hier kann jeder Spieler nachschauen und sehen, wieviele Spinnen jeder Spieler einzeln getötet hat.

/scoreboard objectives add spinne-m dummy Spinne Miner
/scoreboard objectives add spinne-c dummy Spinne Crafter

Die Punkte für die Ziele "Spinne Miner" (interner Name "spinne-m") und "Spinne Crafter" (interner Name "spinne-c") werden nicht automatisch erhöht. Die Ziele sollen die Punkte für das gesamte Miner- bzw. Crafter-Team zählen, nicht pro Spieler. Daher müssen wir die Punkte per Befehl selbst erhöhen (siehe unten).

/scoreboard objectives setdisplay sidebar.team.gold spinne-m
/scoreboard objectives setdisplay sidebar.team.green spinne-c

Die Gesamtpunkte des jeweiligen Teams werden in der Anzeige am rechten Bildschirmrand angezeigt. Jedes Team sieht alle Teammitglieder mit den immer gleichen Gesamtpunkten. Wenn man stattdessen nur ein Ziel (z.B. spinne-g) erstellt, das die Gesamtpunkte für beide Teams getrennt zählt, würde man immer alle Spieler aus beiden Teams mit der jeweiligen Team-Gesamtpunktzahl in der Anzeige am rechten Bildschirmrand sehen.

/scoreboard teams join miner oyo123
/scoreboard teams join miner anna
/scoreboard teams join crafter yoyo
/scoreboard teams join crafter bibi

Vier Spieler werden den zwei Teams zugeordnet. Die Spielernamen ändern dadurch ihre Farbe und nehmen die Teamfarbe an.

Das Spiel wird gestartet, die Spinnen werden ausgeworfen, die Spieler beginnen sie zu töten. An einen Redstone-Blinker sind zwei Reihen von je vier Befehlsblöcken angeschlossen. Jede Reihe wird in kurzen Abständen aktiviert und führt die Befehle für ein bestimmtes Team nacheinander aus. In den Befehlsblöcken sind diese Befehle hinterlegt:
Für "Miner":
/scoreboard players operation @a[team=miner] spinne-m = @a[team=miner] spinne-e
/scoreboard players test @a[team=miner] spinne-m 30 9999
/say Das Team "Die Miner" hat gewonnen!

Für "Crafter":
/scoreboard players operation @a[team=crafter] spinne-c = @a[team=crafter] spinne-e
/scoreboard players test @a[team=crafter] spinne-c 30 9999
/say Das Team "Die Crafter" hat gewonnen!

Mit dem ersten Befehl wird "spinne-m" zur Summe aller bisherigen Spinnentötungen des Miner-Teams. Dasselbe wird für das Crafter-Team durchgeführt. Sofort sehen die Teams die Namen aller Teammitglieder mit identischem Teampunktestand in der Anzeige am rechten Bildschirmrand. Dann wird geprüft, ob das Spiel zu Ende ist: Sobald "spinne-m" 30 Punkte erreicht, hat das Miner-Team gewonnen, sobald "spinne-c" 30 Punkte erreicht, hat das Crafter-Team gewonnen. Bei erfolgreichem Testergebnis wird eine Meldung ausgegeben.

Danach werden automatisch zwei letzte Befehlsblöcke aktiviert, die sofort den Redstone-Blinker ausschalten, an den die Werfer angeschlossen sind und alle Höhlenspinnen aus der Welt entfernen:
/setblock x y z air
/kill @e[type=cave_spider]

X Y Z ist die Position z.B. eines zentralen Redstone-Kabels, dessen Entfernung den Redstone-Blinker deaktiviert.

Die Punktestände können später auch gelöscht werden, aber es ist sinnvoll, sie zum gegenseitigen Vergleich erstmal noch stehen zu lassen.

Geschichte[Bearbeiten | Quelltext bearbeiten]