Level 3: Punkte zählen
So, wir haben Tore, einen Ball - aber aktuell zählen wir die Tore noch nicht. Das packen wir in diesem Level an!
Punkte merken
Wir erstellen also eine Variable - In dieser merken wir uns jeweils die Tore / Punkte pro Team.

Dazu erstellen wir eine Variable für jedes Team:
Wähle in der seitlichen Leiste Variablen aus.
Füge eine Neue Variable hinzu.
Vergib einen Variablennamen und setze den Variablentyp auf number.
Speichere mit Ok.
Tore erkennen
Jetzt müssen wir nur noch erkennen, wenn ein Tor geschossen wurde. Genau - da gab's ja was - die "Auslöser". Wir suchen also einen Auslöser, der erkennt, wenn ein Tor geschossen wurde.

Wir fügen 2 Auslöser hinzu:
Einen Wenn Block rechts geklickt wird, um Punkte zurückzusetzen.
Einen Wenn Entität im Block zusammenstößt, um Punkte hochzuzählen und den Ball zu entfernen.
Prozedur 1: Punkte zurücksetzen

In diesem Fall möchten wir, dass die Punkte des Teams auf "0" gesetzt werden und dass die Bossbar auch zurückgesetzt wird. Dafür verwenden wir folgende Befehle:
Setze die globale Variable zum Punkte Zählen auf 0 zurück.
Führe
/bossbar set blue value 0
in Minecraft aus, um die Bossbar wieder auf 0 zu setzen.
Prozedur 2: Tore zählen
Um die Tore zu zählen, haben wir einen Auslöser erstellt, der immer startet, wenn er vom Ball berührt wird.
Die Prozedur für den Zusammenstoß mit einer Entity ist länger und sieht so aus:

Tore sollen nur bei Ball-Kontakt gezählt werden: Als erstes prüft das Programm, ob es sich bei der Entität um einen Ball handelt.
Dazu "holt" es sich den Anzeigenamen der "Berührenden Entity" mit
Erhalte den Anzeigenamen von Event/target entity
und prüft, ob er mit dem StringFlugball
übereinstimmt (muss übereinstimmen mit dem Objektnamen bei Bild und Ton von Ball erstellen).Diese beiden Zeilen, die vom Hauptcodeblock abgelöst sind, werden nicht ausgeführt. Sie dienen nur als Hinweis darauf, was wir ausprobiert haben: Bei der (3) wollten wir auf diese beiden Arten testen, ob es sich um einen Ball handelt. Das hat leider nicht funktioniert.
Erhöhe die Punktzahl von Blau:
Dazu holt es sich die aktuelle
punktzahl_blau
.Addiert die Zahl 1 hinzu.
Speichert das Ergebnis mit
Setze Global: punktzahl_blau
erneut in der Punktezahl für Blau ab.
Wir führen den Minecraft Befehl für die Bossbar aus - den kennst du bereits aus Level 3.
Dazu kombinieren wir den Text
/bossbar set blue value
(Achtung! Leerzeichen am Ende sind wichtig, damit es funktioniert) mit derpunktzahl_blau
und runden diese, da Minecraft keine Dezimalzahlen erkennt.Wir geben dem Spieler, der am nächsten steht (
@p
), ein neues Spawn-Ei:/give @p alpaka_ball:flugball_spawn_egg
Wenn ein Tor fällt, muss man das natürlich auch hören: Mit diesem Befehl können wir einen Ton abspielen lassen, wenn ein Tor geschossen wurde. Hier z.B. der gleiche Ton, den man hört, wenn man XP aufsammelt: entity.experience_orb.pickup.
Am Schluss wollen wir den Ball "los werden" - er soll verschwinden und mit einem neuen Ball geht es weiter.
Dazu verwenden wir am besten den Befehl
Zerstöre
.Achte darauf, dass die Minecraft-Befehle
kill @e[...]
,tp @e[...] ~ -500 ~
und MCreatorLösche
nicht funktionieren.
Vergiss nicht zu speichern ;)
Geschafft! Tore zählen - ich habe fertig!
Jetzt kannst du im Spiel testen. Wenn ein Ball in einen blauen Torblock fliegt, sollte ein Ton erklingen, die Punktzahl in der Bossbar erhöht werden, der Ball verschwinden und du erhältst ein neues Spawn-Ei.
Jetzt nochmal für Orange
Die Variable punktezahl_orange
für Orange haben wir bereits erstellt. Jetzt fehlen nur noch die passenden Prozeduren, die wir vom Team Blau kopieren können.
Gehe zum Arbeitsplatz.
Rechtsklicke auf die Prozedur und wähle Mod-Element duplizieren.
Benenne die neuen Prozeduren um, z.B. ...Orange... statt ...Blau...

Jetzt musst du natürlich alle Stellen, an denen "Blau" steht, durch "Orange" ersetzen, sowohl in den beiden Codedateien als auch im Auslöser:


Vergiss nicht, auch den Auslöser anzupassen!
Zuletzt aktualisiert
War das hilfreich?