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

Maschinen/Sammel-System (Befehle)

Aus Technik Wiki
Wechseln zu: Navigation, Suche
Gruppe: Grid Trichter.png
Maschinen

Grid Roter Sand blass.png mit Mechaniken

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

Die vorgestellte Technik kann in der Mechanik-Welt angesehen werden.

Ein Sammel-System wird dazu benutzt, bei Veranstaltungen oder anderen Anlässen, bestimmte Gegenstände zu verstecken, welche dann von einer Schar von Spielern gefunden werden sollen. Um das zu realisieren, werden häufig Spawn-Eier verwendet, welche dann von den Spielern gefunden werden können, sie werden aber nicht aufgesammelt sondern ein Zähler zählt für jeden Spieler seinen Punktestand hoch um so anzuzeigen, wer wie viele Spawn-Eier entdeckt hat. Dabei liegt die Schwierigkeit des ganzen auf die Anzahl der zu versteckenden Gegenstände, ist die Anzahl klar kann man für jeden Gegenstand ein Etikett oder Punktestand extra dazu anlegen, möchte man aber eine abzählbar unendliche Große Gemeinschaft auf genauso viele Gegenstände loslassen, müssen gewieftere Methoden eingesetzt werden. Hier wird beschrieben, wie man genau das realisieren kann.

Inhaltsverzeichnis

Variante 1[Bearbeiten | Quelltext bearbeiten]

Maschinen Sammel-System (Befehle) Bild 1.1.png Maschinen Sammel-System (Befehle) Bild 1.2.png

Mit dieser Variante lassen sich genau neun Spawn-Eier als Sammelgegenstände aufstellen. Wenn man noch weitere Spawn-Eier dazu haben möchte, muss man die vorhandenen Befehle kopieren und für jedes weitere Ei anpassen. Jedoch nimmt der Aufwand linear zu, pro neuem Ei müssen mehrere Befehle hinzugefügt werden. Wenn man alle neun Eier eingesammelt hat, wird dies allen Spielern mitgeteilt. Für die gesammelte Anzahl der Eier wird zuerst ein Punktestand-Ziel benötigtBefehl 1.1 und dann ein zweites für den VergleichBefehl 1.2. Anschließend folgen die neun Spawn-Eier, welche Huckepack auf einem Drop reitenBefehl 1.3. Hierbei werden Drops erzeugt, die alle "Sammel-Ei" als Namen anzeigen und weder aufgehoben werden können, noch verschwinden können. Damit die Spawn-Eier verteilt werden, wird der eben erwähnte Drop als Zentrum für alle Spawn-Eier verwendet, um sie dann um diesen zu verteilenBefehl 1.12. In einer weiteren Befehlsblock-Kette startet ein Wiederhol-Befehlsblock jeden Tick eine Abfrage, ob ein Spieler in der Nähe eines bestimmten Spawn-Eis sich aufhältBefehl 1.13. Wenn sich ein Spieler im Umkreis von zwei Metern innerhalb des Radius sich befindet, wird geprüft ob er das Ei schon hat. Zuvor wird jedoch noch die aktuelle Anzahl der Eier in den Vergleichspunktestand gespeichertBefehl 1.4. Wenn er es nicht gesammelt hat, so wird sein Zähler um eins erhöht und anschließend wird ihm das Etikett des entsprechenden Eis übertragenBefehl 1.14. Der gleiche Ablauf wird nun bei allen anderen acht Eiern genauso nachgehenBefehl 1.15Befehl 1.16Befehl 1.17Befehl 1.18Befehl 1.19Befehl 1.20Befehl 1.21Befehl 1.22Befehl 1.23Befehl 1.24Befehl 1.25Befehl 1.26Befehl 1.27Befehl 1.28Befehl 1.29Befehl 1.30. Anschließend wird dem Spieler vom Vergleichspunktestand die tatsächliche Anzahl an Eiern abgezogenBefehl 1.5, wenn dies null ergibt, hat er kein neues Ei aufgesammelt, wenn nicht bekommt er dann eine Nachricht, das wie vielte Ei er aufgesammelt hatBefehl 1.6. Um eine Nachricht auszugeben zu können, wenn ein Spieler die neun Spawn-Eier aufgesammelt hat, wird abgefragt, ob er den Punktestand von neun erreicht hat und noch nicht das Etikett bekommen hat, das aussagt, das der Spieler alle Eier gefunden hat. Wenn das zutrifft, bekommen alle Spieler die Meldung das der Spieler der alle Eier gefunden hat, nun dieser fertig istBefehl 1.31. Anschließend bekommt er das eben genannte EtikettBefehl 1.32. Wenn man das System ausschalten will, so legt man einfach den Hebel wieder um und eine Befehlsblock-Kette wird aktiv. Dadurch werden die beiden Punktestand-Ziele gelöschtBefehl 1.33Befehl 1.7, das Etikett entfernt, welches die maximale Anzahl der Eier angibtBefehl 1.34 und alle neun Etiketten für die einzelnen Spawn-EierBefehl 1.35Befehl 1.36Befehl 1.37Befehl 1.38Befehl 1.39Befehl 1.40Befehl 1.41Befehl 1.42Befehl 1.43Befehl 1.44.


Befehlsblöcke mit Befehlen:
scoreboard objectives add PZDpSa:1Eier dummy
scoreboard objectives add PZDpSa:1Vergl dummy
summon minecraft:item ~-2 ~ ~ {Item:{id:"minecraft:barrier",Count:1b},Age:6000,Tags:["EtiDpSa:1Alle","EtiDpSa:1Ei0"],Passengers:[{id:"minecraft:item",CustomName:"Sammel-Ei",CustomNameVisible:true,Tags:["EtiDpSa:1Alle","EtiDpSa:1Ei1"],Age:-32768,PickupDelay:32767,Item:{id:"minecraft:spawn_egg",Count:1b,tag:{EntityTag:{id:"minecraft:creeper"} } } },{id:"minecraft:item",CustomName:"Sammel-Ei",CustomNameVisible:true,Tags:["EtiDpSa:1Alle","EtiDpSa:1Ei2"],Age:-32768,PickupDelay:32767,Item:{id:"minecraft:spawn_egg",Count:1b,tag:{EntityTag:{id:"minecraft:zombie"} } } },{id:"minecraft:item",CustomName:"Sammel-Ei",CustomNameVisible:true,Tags:["EtiDpSa:1Alle","EtiDpSa:1Ei3"],Age:-32768,PickupDelay:32767,Item:{id:"minecraft:spawn_egg",Count:1b,tag:{EntityTag:{id:"minecraft:skeleton"} } } },{id:"minecraft:item",CustomName:"Sammel-Ei",CustomNameVisible:true,Tags:["EtiDpSa:1Alle","EtiDpSa:1Ei4"],Age:-32768,PickupDelay:32767,Item:{id:"minecraft:spawn_egg",Count:1b,tag:{EntityTag:{id:"minecraft:witch"} } } },{id:"minecraft:item",CustomName:"Sammel-Ei",CustomNameVisible:true,Tags:["EtiDpSa:1Alle","EtiDpSa:1Ei5"],Age:-32768,PickupDelay:32767,Item:{id:"minecraft:spawn_egg",Count:1b,tag:{EntityTag:{id:"minecraft:sheep"} } } },{id:"minecraft:item",CustomName:"Sammel-Ei",CustomNameVisible:true,Tags:["EtiDpSa:1Alle","EtiDpSa:1Ei6"],Age:-32768,PickupDelay:32767,Item:{id:"minecraft:spawn_egg",Count:1b,tag:{EntityTag:{id:"minecraft:mooshroom"} } } },{id:"minecraft:item",CustomName:"Sammel-Ei",CustomNameVisible:true,Tags:["EtiDpSa:1Alle","EtiDpSa:1Ei7"],Age:-32768,PickupDelay:32767,Item:{id:"minecraft:spawn_egg",Count:1b,tag:{EntityTag:{id:"minecraft:rabbit"} } } },{id:"minecraft:item",CustomName:"Sammel-Ei",CustomNameVisible:true,Tags:["EtiDpSa:1Alle","EtiDpSa:1Ei8"],Age:-32768,PickupDelay:32767,Item:{id:"minecraft:spawn_egg",Count:1b,tag:{EntityTag:{id:"minecraft:silverfish"} } } },{id:"minecraft:item",CustomName:"Sammel-Ei",CustomNameVisible:true,Tags:["EtiDpSa:1Alle","EtiDpSa:1Ei9"],Age:-32768,PickupDelay:32767,Item:{id:"minecraft:spawn_egg",Count:1b,tag:{EntityTag:{id:"minecraft:guardian"} } } } ] }
execute @e[type=minecraft:item,tag=EtiDpSa:1Ei0] ~ ~ ~ /spreadplayers ~ ~ 5 10 false @e[type=minecraft:item,name=Sammel-Ei,tag=EtiDpSa:1Alle]


execute @e[type=minecraft:item,tag=EtiDpSa:1Alle] ~ ~ ~ /execute @a[tag=!EtiDpSa:1MaxEierGefunden,r=2] ~ ~ ~ /scoreboard players operation @p PZDpSa:1Vergl = @p PZDpSa:1Eier
execute @e[type=minecraft:item,tag=EtiDpSa:1Ei1] ~ ~ ~ /scoreboard players add @p[tag=!EtiDpSa:1Ei1,r=2] PZDpSa:1Eier 1
execute @e[type=minecraft:item,tag=EtiDpSa:1Ei1] ~ ~ ~ /scoreboard players tag @p[tag=!EtiDpSa:1Ei1,r=2] add EtiDpSa:1Ei1
execute @e[type=minecraft:item,tag=EtiDpSa:1Ei2] ~ ~ ~ /scoreboard players add @p[tag=!EtiDpSa:1Ei2,r=2] PZDpSa:1Eier 1
execute @e[type=minecraft:item,tag=EtiDpSa:1Ei2] ~ ~ ~ /scoreboard players tag @p[tag=!EtiDpSa:1Ei2,r=2] add EtiDpSa:1Ei2
execute @e[type=minecraft:item,tag=EtiDpSa:1Ei3] ~ ~ ~ /scoreboard players add @p[tag=!EtiDpSa:1Ei3,r=2] PZDpSa:1Eier 1
execute @e[type=minecraft:item,tag=EtiDpSa:1Ei3] ~ ~ ~ /scoreboard players tag @p[tag=!EtiDpSa:1Ei3,r=2] add EtiDpSa:1Ei3
execute @e[type=minecraft:item,tag=EtiDpSa:1Ei4] ~ ~ ~ /scoreboard players add @p[tag=!EtiDpSa:1Ei4,r=2] PZDpSa:1Eier 1
execute @e[type=minecraft:item,tag=EtiDpSa:1Ei4] ~ ~ ~ /scoreboard players tag @p[tag=!EtiDpSa:1Ei4,r=2] add EtiDpSa:1Ei4
execute @e[type=minecraft:item,tag=EtiDpSa:1Ei5] ~ ~ ~ /scoreboard players add @p[tag=!EtiDpSa:1Ei5,r=2] PZDpSa:1Eier 1
execute @e[type=minecraft:item,tag=EtiDpSa:1Ei5] ~ ~ ~ /scoreboard players tag @p[tag=!EtiDpSa:1Ei5,r=2] add EtiDpSa:1Ei5
execute @e[type=minecraft:item,tag=EtiDpSa:1Ei6] ~ ~ ~ /scoreboard players add @p[tag=!EtiDpSa:1Ei6,r=2] PZDpSa:1Eier 1
execute @e[type=minecraft:item,tag=EtiDpSa:1Ei6] ~ ~ ~ /scoreboard players tag @p[tag=!EtiDpSa:1Ei6,r=2] add EtiDpSa:1Ei6
execute @e[type=minecraft:item,tag=EtiDpSa:1Ei7] ~ ~ ~ /scoreboard players add @p[tag=!EtiDpSa:1Ei7,r=2] PZDpSa:1Eier 1
execute @e[type=minecraft:item,tag=EtiDpSa:1Ei7] ~ ~ ~ /scoreboard players tag @p[tag=!EtiDpSa:1Ei7,r=2] add EtiDpSa:1Ei7
execute @e[type=minecraft:item,tag=EtiDpSa:1Ei8] ~ ~ ~ /scoreboard players add @p[tag=!EtiDpSa:1Ei8,r=2] PZDpSa:1Eier 1
execute @e[type=minecraft:item,tag=EtiDpSa:1Ei8] ~ ~ ~ /scoreboard players tag @p[tag=!EtiDpSa:1Ei8,r=2] add EtiDpSa:1Ei8
execute @e[type=minecraft:item,tag=EtiDpSa:1Ei9] ~ ~ ~ /scoreboard players add @p[tag=!EtiDpSa:1Ei9,r=2] PZDpSa:1Eier 1
execute @e[type=minecraft:item,tag=EtiDpSa:1Ei9] ~ ~ ~ /scoreboard players tag @p[tag=!EtiDpSa:1Ei9,r=2] add EtiDpSa:1Ei9
execute @e[type=minecraft:item,tag=EtiDpSa:1Alle] ~ ~ ~ /execute @a[tag=!EtiDpSa:1MaxEierGefunden,r=2] ~ ~ ~ /scoreboard players operation @p PZDpSa:1Vergl -= @p PZDpSa:1Eier
execute @a[score_PZDpSa:1Vergl=-1,score_PZDpSa:1Eier=8,tag=!EtiDpSa:1MaxEierGefunden,r=150] ~ ~ ~ /tellraw @p ["Sammel-System:1 ",{"text":"Du hast dein ","bold":"true"},{"score":{"name":"@p","objective":"PZDpSa:1Eier"} },{"text":"."},{"text":" Sammel-Ei gefunden","bold":"true"} ]
execute @p[score_PZDpSa:1Eier_min=9,tag=!EtiDpSa:1MaxEierGefunden] ~ ~ ~ /tellraw @a[r=150] ["Sammel-System:1 ",{"text":"Der Spieler ","bold":"true","color":"green"},{"selector":"@a[score_PZDpSa:1Eier_min=9,tag=!EtiDpSa:1MaxEierGefunden]"},{"text":" hat alle 9 Sammel-Eier gefunden!","bold":"true","color":"green"} ]
scoreboard players tag @a[score_PZDpSa:1Eier_min=9,tag=!EtiDpSa:1MaxEierGefunden] add EtiDpSa:1MaxEierGefunden


scoreboard objectives remove PZDpSa:1Eier
scoreboard objectives remove PZDpSa:1Vergl
kill @e[tag=EtiDpSa:1Alle]
scoreboard players tag @a[tag=EtiDpSa:1MaxEierGefunden] remove EtiDpSa:1MaxEierGefunden
scoreboard players tag @a[tag=EtiDpSa:1Ei1] remove EtiDpSa:1Ei1
scoreboard players tag @a[tag=EtiDpSa:1Ei2] remove EtiDpSa:1Ei2
scoreboard players tag @a[tag=EtiDpSa:1Ei3] remove EtiDpSa:1Ei3
scoreboard players tag @a[tag=EtiDpSa:1Ei4] remove EtiDpSa:1Ei4
scoreboard players tag @a[tag=EtiDpSa:1Ei5] remove EtiDpSa:1Ei5
scoreboard players tag @a[tag=EtiDpSa:1Ei6] remove EtiDpSa:1Ei6
scoreboard players tag @a[tag=EtiDpSa:1Ei7] remove EtiDpSa:1Ei7
scoreboard players tag @a[tag=EtiDpSa:1Ei8] remove EtiDpSa:1Ei8
scoreboard players tag @a[tag=EtiDpSa:1Ei9] remove EtiDpSa:1Ei9

Variante 2[Bearbeiten | Quelltext bearbeiten]

Maschinen Sammel-System (Befehle) Bild 2.1.png Maschinen Sammel-System (Befehle) Bild 2.2.png Maschinen Sammel-System (Befehle) Bild 2.3.png Maschinen Sammel-System (Befehle) Bild 2.4.png

Mit dieser Variante lassen sich abzählbar unendlich viele Gegenstände verstecken (in der Theorie, denn maximal sind „nur“ 2147483647 möglich). Man kann in der Anfangsphase so viele Spawn-Eier verstecken wie es einem beliebt, wenn man dann mit der Anzahl zufrieden ist, kann man das komplette System anschalten und die Suche kann losgehen. Wenn man ein Spawn-Ei aufsammelt, bekommt man mitgeteilt um das wie vielte Ei es sich dabei handelt, welches man aufgesammelt hat, läuft man dagegen zu einem Sammel-Ei was man längst hat, wird einem auch das mitgeteilt. Wenn am Ende ein Spieler aller Eier gefunden hat, so wird dies allen Spieler mitgeteilt.

Für dieses System werden vier Punktestand-Ziele benötigt, welche das Droppen von Spawn-Eiern erkennenBefehl 2.1, sowie drei weitere, welche als SpielernummerBefehl 2.2, als VergleichsnummerBefehl 2.3 und als Ei-AnzahlBefehl 2.4 dienen. Letztlich wird noch ein Team benötigt, welches es ermöglicht in den Selektoren mehrere unterschiedliche Angaben zu abzufragenBefehl 2.5. Als letzte Startbedingung erhalten alle Spieler in einem Radius von 25 Metern neun verschiedene Spawn-Ei-StapelBefehl 2.54. Nun wird mit der ersten Wiederhol-Befehlsblock-Kette die Möglichkeit geschaffen, das man Spawn-Eier einfach aus dem Inventar werfen kann, welche sich dann in Sammel-Eier verwandeln. Bevor jedoch ein geworfenes Spawn-Ei zu einem Sammel-Ei wird, muss zuvor geprüft werden, ob sich an der Stelle nicht schon eins befindet, da der Abstand von Ei zu Ei mindestens fünf Meter betragen sollte, damit der Vergleicher vernünftig läuft. Deshalb wird zuerst vom werfenden Spieler geprüft, ob sich in seiner Nähe ein Sammel-Ei bereits befindet, wenn eins existiert, bekommt er ein Etikett, dass das Platzieren dieses Eis nicht abgebrochen wirdBefehl 2.6. Nun wird vom Spieler aus, wenn er das Etikett bekommen hat, das gerade geworfene Spawn-Ei gelöschtBefehl 2.7. Weil aber man gleichzeitig mit dem Werfen auf bereits vorhandenen Eier bereits solch eine Abfrage betreibt, wurde zu dieser Abfrage dafür gesorgt, das gleichzeitig auch angezeigt wird, wie viele Spieler bereits dieses Sammel-Ei gefunden habenBefehl 2.8. Nun folgt die eigentliche Ausgangslage um Sammel-Eier zu erzeugen. Zuerst wird geprüft ob es sich um das geworfene Ei um ein Spawn-Ei handeltBefehl 2.9. Man könnte auch schon davon ausgehen, das durch das Punktestand-Ziel welches nur auf Spawn-Eier reagiert ausreichend wäre, aber es könnte sein das weitere Gegenstände in der unmittelbaren Umgebung sind, daher wird dies explizit überprüft. Das nun so identifizierte Spawn-Ei wird nun so angepasst, sodass es nun den Namen "Sammel-Ei" ganz deutlich und sichtbar in der Umgebung trägtBefehl 2.10. Dabei wird es auch so abgewandelt, dass es nicht mehr aufgesammelt werden kann und nicht mehr verschwindet. Die Anzahl der vorhandenen Spawn-Eier wird auf eine Variable gespeichert, welche jedes mal um eins erhöht wird, wenn ein neues Sammel-Ei erzeugt wurdeBefehl 2.11. Nun bekommt das neue Sammel-Ei die aktuelle Ei-Nummer übertragenBefehl 2.12. Direkt im Anschluss wird dann auch die Anzahl der Spieler, die dieses Sammel-Ei gefunden haben auf null eingestelltBefehl 2.13, sobald Spieler es finden, wird der Wert erhöht. Damit Spieler, die bereits alle bis jetzt erzeugten Sammel-Eier gefunden haben, erneut eine Nachricht erhalten, wenn die maximale Anzahl der Eier angehoben wurde, wird deren Etikett entferntBefehl 2.14. Nun bekommt das neu erzeugte Sammel-Ei ein Etikett, damit eindeutig geklärt ist, das dieses Sammel-Ei nicht mehr von den Befehlen angerührt werden sollBefehl 2.15. Der Spieler der beim Werfen des Eis zu nah an einem Sammel-Ei war und somit durch ein Etikett blockiert wurde, wird nun wieder von diesem blockierenden Etikett befreitBefehl 2.16. Als letztes muss nun auch das Punktestand-Ziel für das Werfen der Eier wieder auf null zurückgesetzt werden, da ansonsten diese Ablaufkette, im nächsten Tick von vorne anläuftBefehl 2.17.

Weil die geworfenen Eier im Prinzip auch gesammelt werden können, wird dem werfenden Spieler noch ein Etikett gegeben, welches im späteren Verlauf genau solche Spieler berücksichtigt und ihnen nicht das gerade geworfene Ei als gefundenes Ei markierenBefehl 2.55Befehl 2.56. Läuft man jedoch weg und erneut zu dem geworfenen Ei, so wird es gesammelt. Damit jeder Spieler erfasst werden kann, ob er ein Ei bereits gefunden hat oder noch nicht muss zuerst jedem Spieler eine unverwechselbare Nummer gegeben werden. Dazu wird geprüft ob es einen Spieler gibt der noch keine Nummer hat, wenn es ihn gibt, wird die Spielernummer um eins erhöhtBefehl 2.18. Danach bekommt dieser Spieler die nun erhöhte Nummer übertragenBefehl 2.19. Als letztes wird dieser Spieler mit einem Etikett markiert, sodass er nicht erneut davon betroffen sein wirdBefehl 2.20. Um nun immer genau den Spieler herauszupicken der gerade nah genug an einem Sammel-Ei ist und gleichzeitig auch immer nur einen Spieler auszuwählen wird ein raffinierter Trick benutzt. Zuerst werden alle Spieler die in einem Team sind aus diesem heraus geschmissenBefehl 2.21. Um im gleichen Augenblick einen zufälligen Spieler, welcher sich bei einem Sammel-Ei befindetBefehl 2.40, wieder in dieses Team hinein zu pferchenBefehl 2.22. Dies hat den Sinn, das immer genau nur ein Spieler gerade genommen wird, um dann mit seiner Spielernummer die Vergleiche durchzuführen. Würde man mehrere Spieler gleichzeitig für den Vergleich holen, würden die Ergebnisse verfälscht sein.

Zuerst muss festgestellt werden ob es bereits einen Rüstungsständer gibt, der die Spielernummer des gerade nahe stehenden Spielers besitzt, dazu wird getestet ob sich überhaupt schon ein Rüstungsständer direkt beim Sammel-Ei aufhält, wenn das der Fall ist, bekommt der Spieler ein EtiekttBefehl 2.23, das dazu führt das der Vergleichsablauf anläuft. Nur wenn der Spieler dieses Etikett besitzt, wird überhaupt der Vergleichsvorgang eingeleitet. Dazu wird erstmal dem Rüstungsständer die gespeicherte Spielernummer auf seinen Vergleichspunktestand übertragenBefehl 2.24 um anschließend von diesem Betrag die aktuelle Spielernummer vom nahe stehenden Spieler abzuziehenBefehl 2.25. Nur wenn einer der vorhanden Rüstungsständer den Wert null im Vergleichspunktestand-Ziel besitzt, handelt es sich um ein bereits besuchtes Sammel-Ei und der Spieler bekommt eine Meldung, das er das Ei bereits gesammelt hatBefehl 2.26. Damit nun dieses Nachricht nur einmal erscheint und sich nicht permanent wiederholt bekommt der Spieler nun ein Etikett, das weitere Nachrichten verhindertBefehl 2.27. Wenn nun jedoch kein Rüstungsständer eine null besitzt und somit der Spieler noch nicht dieses Ei gefunden hatte an dem er gerade steht, so wird ihm das Etikett, das er zum vergleichen bekommen hat wieder entferntBefehl 2.28. Dadurch ist nun gewährleistet, das Spieler die bei einem Sammel-Ei angekommen sind bei dem die Nummer nicht übereinstimmt sowie wenn es noch keinen Rüstungsständer bei diesem Sammel-Ei gibt, nun der Ablauf gestartet wird, bei dem ein Rüstungsständer erzeugt wird, der nun die aktuelle Spielernummer besitztBefehl 2.29. Dies kann nur erfolgen wenn der Spieler kein Etikett besitzt das aussagt, das ein positiver Vergleich stattgefunden hat. Nun bekommt der erzeugte Rüstungsständer den Punktestand für die Spielernummer vom SpielerBefehl 2.30. Die Anzahl der gefundenen Eier wird um eins erhöhtBefehl 2.31. Nun bekommt der Spieler eine Nachricht, die ihm anzeigt, das er dieses Ei zum ersten mal aufgesucht hat und wie viele Sammel-Eier er bereits gefunden hatBefehl 2.32. Danach wird dem Sammel-Ei der Wert für die Spieler, die dieses Ei gefunden haben um eins erhöhtBefehl 2.33. Anschließend bekommt der Spieler das gleiche Etikett, welches auch für das Blockieren der Fehler-Nachricht benutzt wird, angeheftetBefehl 2.34. Damit der Spieler die Nachricht nur einmal erhält.

Um festzustellen ob ein Spieler alle Sammel-Eier die bisher aufgestellt wurden sind eingesammelt hat, wird nun beim erfolgreichen sammeln eines neu entdeckten Eis eine Vergleichsoperation getätigt, die den Wert der bisher gesammelten Eier in einen Vergleichspunktestand kopiertBefehl 2.35 um dann von der Gesamtanzahl der Sammel-Eier abgezogen zu werdenBefehl 2.36. Nur wenn der Spieler dann einen Vergleichswert von genau null besitzt, wird eine Nachricht für alle sichtbar ausgegeben das dieser Spieler die maximale Sammel-Ei-Anzahl gefunden hatBefehl 2.37. Damit diese Nachricht auch nicht permanent wiederholt wird, bekommt dieser Spieler ein EtikettBefehl 2.38. Der neu erstellte Rüstungsständer, der durch sein bloßes Erscheinen diese Vorgänge eingeleitet hat, wird nun mit einem Etikett ausgestattet, sodass der Vorgang nicht ein zweites mal durch ihn ausgelöst werden kannBefehl 2.39. Als letztes soll nun jeder Spieler wieder eine Nachricht bekommen können, wenn er ein Sammel-Ei zum ersten mal besucht hat oder wenn er es schon hatte und er dadurch eine Fehlermeldung bekommen soll. Dazu wird jedem Spieler der in einem Radius von zwei Metern um die Sammel-Eier steht ein temporäres Etikett gegebenBefehl 2.40 welches alle Spieler im Umkreis von den Eiern erfasst. Nun bekommen alle, die zu weit weg sind, das Etikett, welches die Nachricht blockiert entferntBefehl 2.41. Zum Schluss bekommen alle Spieler das temporäre Etikett wieder entferntBefehl 2.42. Damit ist der gesamte Sammel-Vorgang abgedeckt. Nun kann man Eier alleine oder mit Freunden sammeln gehen.

Wenn man das System ausschaltet, so werden die Punktestand-Ziele wieder gelöschtBefehl 2.43Befehl 2.44Befehl 2.45Befehl 2.46 und das TeamBefehl 2.47. Gleichzeitig werden auch alle Etiketten, die der Spieler im Verlauf des Sammelns bekommen hat wieder entferntBefehl 2.48Befehl 2.49Befehl 2.50Befehl 2.51Befehl 2.52. Alle Sammel-Eier und deren Rüstungsständer zum Speichern der Spielernummern werden ebenfalls gelöschtBefehl 2.53. Die Spawn-Eier werden ebenfalls gelöschtBefehl 2.57.


Befehlsblöcke mit Befehlen:
scoreboard objectives add PZDpSa:2Wurf stat.drop.minecraft.spawn_egg
scoreboard objectives add PZDpSa:2Nr dummy
scoreboard objectives add PZDpSa:2Vergl dummy
scoreboard objectives add PZDpSa:2Anz dummy
scoreboard teams add TMDpSa:2
execute @a[r=25] ~ ~ ~ /summon minecraft:item ~ ~ ~ {Item:{id:"minecraft:spawn_egg",Count:64b,tag:{EntityTag:{id:"minecraft:creeper"},display:{Name:"Sammel-System:2"} } },Passengers:[{id:"minecraft:item",Item:{id:"minecraft:spawn_egg",Count:64,tag:{EntityTag:{id:"minecraft:zombie"},display:{Name:"Sammel-System:2"} } } },{id:"minecraft:item",Item:{id:"minecraft:spawn_egg",Count:64,tag:{EntityTag:{id:"minecraft:skeleton"},display:{Name:"Sammel-System:2"} } } },{id:"minecraft:item",Item:{id:"minecraft:spawn_egg",Count:64,tag:{EntityTag:{id:"minecraft:witch"},display:{Name:"Sammel-System:2"} } } },{id:"minecraft:item",Item:{id:"minecraft:spawn_egg",Count:64,tag:{EntityTag:{id:"minecraft:sheep"},display:{Name:"Sammel-System:2"} } } },{id:"minecraft:item",Item:{id:"minecraft:spawn_egg",Count:64,tag:{EntityTag:{id:"minecraft:mooshroom"},display:{Name:"Sammel-System:2"} } } },{id:"minecraft:item",Item:{id:"minecraft:spawn_egg",Count:64,tag:{EntityTag:{id:"minecraft:rabbit"},display:{Name:"Sammel-System:2"} } } },{id:"minecraft:item",Item:{id:"minecraft:spawn_egg",Count:64,tag:{EntityTag:{id:"minecraft:silverfish"},display:{Name:"Sammel-System:2"} } } },{id:"minecraft:item",Item:{id:"minecraft:spawn_egg",Count:64,tag:{EntityTag:{id:"minecraft:guardian"},display:{Name:"Sammel-System:2"} } } } ] }


execute @a[score_PZDpSa:2Wurf_min=1] ~ ~ ~ /execute @e[type=minecraft:item,tag=EtiDpSa:2SammelEi,r=2,c=1] ~ ~ ~ /scoreboard players tag @p[score_PZDpSa:2Wurf_min=1,r=2] add EtiDpSa:2SpielerAbfrage
execute @a[score_PZDpSa:2Wurf_min=1,tag=EtiDpSa:2SpielerAbfrage] ~ ~ ~ /execute @e[type=minecraft:item,tag=EtiDpSa:2SammelEi,r=2,c=1] ~ ~ ~ /kill @e[type=minecraft:item,tag=!EtiDpSa:2SammelEi]
execute @a[score_PZDpSa:2Wurf_min=1,tag=EtiDpSa:2SpielerAbfrage] ~ ~ ~ /execute @e[type=minecraft:item,tag=EtiDpSa:2SammelEi,r=2,c=1] ~ ~ ~ /tellraw @a[score_PZDpSa:2Wurf_min=1,r=2] ["Sammel-System:2 ",{"text":"Dieses Sammel-Ei wurde bereits von  ","bold":"true","color":"yellow"},{"score":{"name":"@e[type=minecraft:item,tag=EtiDpSa:2EiNummer,r=2,c=1]","objective":"PZDpSa:2Anz"} },{"text":" Spielern entdeckt","bold":"true","color":"yellow"} ]
execute @a[score_PZDpSa:2Wurf_min=1,tag=!EtiDpSa:2SpielerAbfrage] ~ ~ ~ /scoreboard players tag @e[type=minecraft:item,tag=!EtiDpSa:2SammelEi,r=2] add EtiDpSa:2SammelEi {Item:{id:"minecraft:spawn_egg"} }
execute @a[score_PZDpSa:2Wurf_min=1,tag=!EtiDpSa:2SpielerAbfrage] ~ ~ ~ /entitydata @e[type=minecraft:item,tag=EtiDpSa:2SammelEi,r=2,c=1] {CustomName:"Sammel-Ei",CustomNameVisible:true,Tags:["EtiDpSa:2Alle","EtiDpSa:2SammelEi"],Age:-32768,PickupDelay:32767}
execute @a[score_PZDpSa:2Wurf_min=1,tag=!EtiDpSa:2SpielerAbfrage] ~ ~ ~ /scoreboard players tag @p[tag=!EtiDpSa:2EiBereitsGesammelt,r=0] add EtiDpSa:2EiBereitsGesammelt
execute @a[score_PZDpSa:2Wurf_min=1,tag=!EtiDpSa:2SpielerAbfrage] ~ ~ ~ /scoreboard players tag @p[tag=!EtiDpSa:2Vergleichen,r=0] add EtiDpSa:2Vergleichen
execute @a[score_PZDpSa:2Wurf_min=1,tag=!EtiDpSa:2SpielerAbfrage] ~ ~ ~ /execute @e[type=minecraft:item,tag=!EtiDpSa:2EiNummer,r=2,c=1] ~ ~ ~ /scoreboard players add #VarDpSa:2AnzahlEier PZDpSa:2Anz 1
execute @a[score_PZDpSa:2Wurf_min=1,tag=!EtiDpSa:2SpielerAbfrage] ~ ~ ~ /scoreboard players operation @e[type=minecraft:item,tag=!EtiDpSa:2EiNummer,r=2,c=1] PZDpSa:2Nr = #VarDpSa:2AnzahlEier PZDpSa:2Anz
execute @a[score_PZDpSa:2Wurf_min=1,tag=!EtiDpSa:2SpielerAbfrage] ~ ~ ~ /scoreboard players set @e[type=minecraft:item,tag=!EtiDpSa:2EiNummer,r=2,c=1] PZDpSa:2Anz 0
execute @a[score_PZDpSa:2Wurf_min=1,tag=!EtiDpSa:2SpielerAbfrage] ~ ~ ~ /scoreboard players tag @a[tag=EtiDpSa:2MaxEierGefunden] remove EtiDpSa:2MaxEierGefunden
execute @e[type=minecraft:item,tag=EtiDpSa:2SammelEi] ~ ~ ~ /scoreboard players tag @e[type=minecraft:item,tag=!EtiDpSa:2EiNummer,r=0,c=1] add EtiDpSa:2EiNummer
scoreboard players tag @a[score_PZDpSa:2Wurf_min=1,tag=EtiDpSa:2SpielerAbfrage] remove EtiDpSa:2SpielerAbfrage
scoreboard players set @a[score_PZDpSa:2Wurf_min=1] PZDpSa:2Wurf 0


execute @p[tag=!EtiDpSa:2Nummer] ~ ~ ~ /scoreboard players add #VarDpSa:2SpielerNummer PZDpSa:2Nr 1
scoreboard players operation @p[tag=!EtiDpSa:2Nummer] PZDpSa:2Nr = #VarDpSa:2SpielerNummer PZDpSa:2Nr
scoreboard players tag @p[tag=!EtiDpSa:2Nummer] add EtiDpSa:2Nummer
scoreboard teams leave TMDpSa:2 @a[team=TMDpSa:2]
execute @e[type=minecraft:item,name=Sammel-Ei] ~ ~ ~ /scoreboard players tag @a[tag=!EtiDpSa:2BeimEi,r=2] add EtiDpSa:2BeimEi
execute @r[team=!TMDpSa:2,tag=EtiDpSa:2BeimEi] ~ ~ ~ /execute @e[type=minecraft:item,name=Sammel-Ei,r=2,c=1] ~ ~ ~ /scoreboard teams join TMDpSa:2 @p[team=!TMDpSa:2,r=2]
execute @p[tag=!EtiDpSa:2Vergleichen,team=TMDpSa:2] ~ ~ ~ /execute @e[type=minecraft:item,name=Sammel-Ei,r=2,c=1] ~ ~ ~ /execute @e[type=minecraft:armor_stand,name=ObjDpSa:2SpielerNr,r=2,c=1] ~ ~ ~ /scoreboard players tag @p[r=2,team=TMDpSa:2] add EtiDpSa:2Vergleichen
execute @p[tag=EtiDpSa:2Vergleichen,team=TMDpSa:2] ~ ~ ~ /execute @p[tag=!EtiDpSa:2EiBereitsGesammelt,team=TMDpSa:2,r=0,c=1] ~ ~ ~ /execute @e[type=minecraft:item,name=Sammel-Ei,r=2,c=1] ~ ~ ~ /execute @e[type=minecraft:armor_stand,name=ObjDpSa:2SpielerNr,r=2] ~ ~ ~ /scoreboard players operation @e[type=minecraft:armor_stand,name=ObjDpSa:2SpielerNr,c=1] PZDpSa:2Vergl = @e[type=minecraft:armor_stand,name=ObjDpSa:2SpielerNr,c=1] PZDpSa:2Nr
execute @p[tag=EtiDpSa:2Vergleichen,team=TMDpSa:2] ~ ~ ~ /execute @p[tag=!EtiDpSa:2EiBereitsGesammelt,team=TMDpSa:2,r=0,c=1] ~ ~ ~ /execute @e[type=minecraft:item,name=Sammel-Ei,r=2,c=1] ~ ~ ~ /scoreboard players operation @e[type=minecraft:armor_stand,name=ObjDpSa:2SpielerNr,r=2] PZDpSa:2Vergl -= @p[tag=EtiDpSa:2Vergleichen,r=2] PZDpSa:2Nr
execute @e[type=minecraft:armor_stand,name=ObjDpSa:2SpielerNr,score_PZDpSa:2Vergl_min=0,score_PZDpSa:2Vergl=0] ~ ~ ~ /title @p[r=2,tag=!EtiDpSa:2EiBereitsGesammelt,team=TMDpSa:2] actionbar {"text":"Du hast dieses Sammel-Ei bereits aufgehoben","bold":"true","color":"dark_red"}
execute @e[type=minecraft:armor_stand,name=ObjDpSa:2SpielerNr,score_PZDpSa:2Vergl_min=0,score_PZDpSa:2Vergl=0] ~ ~ ~ /scoreboard players tag @p[r=2,tag=!EtiDpSa:2EiBereitsGesammelt,team=TMDpSa:2] add EtiDpSa:2EiBereitsGesammelt
execute @p[tag=EtiDpSa:2Vergleichen,team=TMDpSa:2] ~ ~ ~ /scoreboard players tag @p[tag=!EtiDpSa:2EiBereitsGesammelt,team=TMDpSa:2,r=0,c=1] remove EtiDpSa:2Vergleichen
execute @p[tag=!EtiDpSa:2Vergleichen,team=TMDpSa:2] ~ ~ ~ /execute @e[type=minecraft:item,name=Sammel-Ei,r=2,c=1] ~ ~ ~ /summon minecraft:armor_stand ~ ~ ~ {Invisible:true,Marker:true,CustomName:"ObjDpSa:2SpielerNr",Tags:["EtiDpSa:2Alle"],Small:true}
execute @p[tag=!EtiDpSa:2Vergleichen,team=TMDpSa:2] ~ ~ ~ /scoreboard players operation @e[type=minecraft:armor_stand,name=ObjDpSa:2SpielerNr,tag=!EtiDpSa:2SpielerNr,r=2,c=1] PZDpSa:2Nr = @p[tag=!EtiDpSa:2Vergleichen,team=TMDpSa:2,r=2] PZDpSa:2Nr
execute @e[type=minecraft:armor_stand,name=ObjDpSa:2SpielerNr,tag=!EtiDpSa:2SpielerNr,c=1] ~ ~ ~ /scoreboard players add @p[tag=!EtiDpSa:2Vergleichen,team=TMDpSa:2] PZDpSa:2Anz 1
execute @e[type=minecraft:armor_stand,name=ObjDpSa:2SpielerNr,tag=!EtiDpSa:2SpielerNr,c=1] ~ ~ ~ /title @p[tag=!EtiDpSa:2Vergleichen,team=TMDpSa:2,r=2] actionbar ["",{"text":"Das ist dein ","bold":"true","color":"green"},{"score":{"name":"@p[tag=!EtiDpSa:2Vergleichen,team=TMDpSa:2,r=2]","objective":"PZDpSa:2Anz"} },{"text":"."},{"text":" Sammel-Ei!","bold":"true","color":"green"} ]
execute @e[type=minecraft:armor_stand,name=ObjDpSa:2SpielerNr,tag=!EtiDpSa:2SpielerNr,c=1] ~ ~ ~ /scoreboard players add @e[type=minecraft:item,name=Sammel-Ei,r=2,c=1] PZDpSa:2Anz 1
execute @e[type=minecraft:armor_stand,name=ObjDpSa:2SpielerNr,tag=!EtiDpSa:2SpielerNr,c=1] ~ ~ ~ /scoreboard players tag @p[tag=!EtiDpSa:2EiBereitsGesammelt,team=TMDpSa:2,r=2] add EtiDpSa:2EiBereitsGesammelt
execute @e[type=minecraft:armor_stand,name=ObjDpSa:2SpielerNr,tag=!EtiDpSa:2SpielerNr,c=1] ~ ~ ~ /execute @a[tag=!EtiDpSa:2MaxEierGefunden] ~ ~ ~ /scoreboard players operation @p[r=0] PZDpSa:2Vergl = @p[r=0] PZDpSa:2Anz
execute @e[type=minecraft:armor_stand,name=ObjDpSa:2SpielerNr,tag=!EtiDpSa:2SpielerNr,c=1] ~ ~ ~ /scoreboard players operation @a[tag=!EtiDpSa:2MaxEierGefunden] PZDpSa:2Vergl -= #VarDpSa:2AnzahlEier PZDpSa:2Anz
execute @e[type=minecraft:armor_stand,name=ObjDpSa:2SpielerNr,tag=!EtiDpSa:2SpielerNr,c=1] ~ ~ ~ /execute @p[score_PZDpSa:2Vergl_min=0,score_PZDpSa:2Vergl=0,tag=!EtiDpSa:2MaxEierGefunden] ~ ~ ~ /tellraw @a ["Sammel-System:2 ",{"text":"Der Spieler ","bold":"true"},{"selector":"@p[score_PZDpSa:2Vergl_min=0,score_PZDpSa:2Vergl=0,tag=!EtiDpSa:2MaxEierGefunden]"},{"text":" hat alle ","bold":"true"},{"score":{"name":"#VarDpSa:2AnzahlEier","objective":"PZDpSa:2Anz"} },{"text":" Sammel-Eier gefunden!","bold":"true"} ]
execute @e[type=minecraft:armor_stand,name=ObjDpSa:2SpielerNr,tag=!EtiDpSa:2SpielerNr,c=1] ~ ~ ~ /scoreboard players tag @p[score_PZDpSa:2Vergl_min=0,score_PZDpSa:2Vergl=0,tag=!EtiDpSa:2MaxEierGefunden] add EtiDpSa:2MaxEierGefunden
execute @p[tag=!EtiDpSa:2Vergleichen,team=TMDpSa:2] ~ ~ ~ /scoreboard players tag @e[type=minecraft:armor_stand,name=ObjDpSa:2SpielerNr,tag=!EtiDpSa:2SpielerNr,r=2,c=1] add EtiDpSa:2SpielerNr
execute @a[tag=!EtiDpSa:2BeimEi] ~ ~ ~ /scoreboard players tag @p[tag=EtiDpSa:2EiBereitsGesammelt,r=0] remove EtiDpSa:2EiBereitsGesammelt
scoreboard players tag @a[tag=EtiDpSa:2BeimEi] remove EtiDpSa:2BeimEi


scoreboard objectives remove PZDpSa:2Wurf
scoreboard objectives remove PZDpSa:2Nr
scoreboard objectives remove PZDpSa:2Vergl
scoreboard objectives remove PZDpSa:2Anz
scoreboard teams remove TMDpSa:2
scoreboard players tag @a[tag=EtiDpSa:2Nummer] remove EtiDpSa:2Nummer
scoreboard players tag @a[tag=EtiDpSa:2Vergleichen] remove EtiDpSa:2Vergleichen
scoreboard players tag @a[tag=EtiDrSa:2MaxEierGefunden] remove EtiDrSa:2MaxEierGefunden
scoreboard players tag @a[tag=EtiDpSa:2BeimEi] remove EtiDpSa:2BeimEi
scoreboard players tag @a[tag=EtiDpSa:2EiBereitsGesammelt] remove EtiDpSa:2EiBereitsGesammelt
execute @e[type=item,name=Sammel-Ei,tag=EtiDpSa:2Alle] ~ ~ ~ /kill @e[tag=EtiDpSa:2Alle,r=2,c=2]
clear @a[r=25] minecraft:spawn_egg -1 9999 {display:{Name:"Sammel-System:2"} }