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

Diskussion:Befehl/stats

Aus Minecraft Wiki
Wechseln zu: Navigation, Suche

Sinn von "Sonderfall" gefunden[Bearbeiten]

Ich hab nicht mal lange an dem Problem gesessen, um zu merken welches Potenzial dieser "Sonderfall" hat. Man kann ja wie aus dem Artikel hervorgeht den Befehl /gamerule mit diesem hier (/stats) kombinieren. Jetzt hab ich endlich was gefunden, was dem ganzen die Würze verleit. Fangen wir mal von ganz vorne an: In diesem Beispiel wollen wir die Spielregel "Level" nutzen um dem Spieler anzuzeigen, in welchen Level er sich befindet. Das ganze ist aber so, dass der Spieler mit der "erfundenen" Spielregel selbst entscheiden kann in welches Level er gehen möchte. Nun, zuerst wird ein Punktestand-Objekt benötigt, welches den nachher eingegebenen Wert der Spielregel speichert. Aus Einfachheitsgründen nennen wir es auch "Level": /scoreboard objectives add Level dummy Nun muss es noch angezeigt werden: /scoreboard objectives setdisplay sidebar Level Anschließend muss der Spieler selbst einen Punktestand besitzen, der Wert ist hierbei egal, es muss aber einer vorhanden sein: /scoreboard players set @p Level 0 Diese drei Befehle kann man ruhig in eine Befehlskette einbauen, bei der der Startblock ein normaler Befehlsblock ist. Nun kommen wir zu dem spannenden: Ein Widerhol-Befehlsblock der nach oben schaut fragt einfach nur die Spielregelwerte ab: /gamerule Level. Nun folgt der wichtigste Befehl (Ketten-Befehlsblock darüber): /stats block ~ ~-1 ~ set QueryResult @p Level Dieser fragt nun ständig ab, welchen Wert die Spielregel in dem Widerhol-Befehlsblock hat. Und der Wert wird anschließend in den Punktestand des Spieler hinterlegt. Wenn also der Spieler den Wert der Spielregel ändert: /gamerule Level 1 dann wird ihm automatisch der Wert gegeben ohne, dass er es ganz umständlich per Befehl /scoreboard players set @p Level 1 eingeben muss. Was haltet ihr davon? Nethonos (Diskussion) 19:50, 16. Jun. 2016 (UTC)

Ich sehe noch keinen Unterschied zu dem Beispiel im Artikel. Wie im Artikel könnte man doch auch hier statt drei Befehle (/gamerule Level, /stats block ~ ~-1 ~ set QueryResult @p Level und /gamerule Level 1) nur einen Befehl nehmen (/scoreboard players set @p Level 1), was kürzer wäre. Da Spieler normalerweise keine Befehle eingeben können, wird er in einem Befehlsblock hinterlegt sein, und da ist es egal, wie lang er ist. -- Sumpfhütte 15:40, 18. Jun. 2016 (UTC)
Ich hab mir das ganze nochmals ganz genau angeschaut und zwei Vorteile entdeckt: Zum einen werden alle Spieler davon betroffen sein und zum anderen kann man dann für sich selbst den Wert nicht durch /scoreboard players set @p Level 1 ändern. Aber was mich mal interessieren würde, wo diese Textzeile von dem Entwicklern zu finden ist, wo genau diese Sache angesprochen wird. Nethonos (Diskussion) 09:09, 19. Jun. 2016 (UTC)
Ich habe ein Tutorial gefunden, das erklärt, wie man beliebige Gamerules im Spiel anwenden kann: Tutorial. -- Sumpfhütte 09:19, 20. Jun. 2016 (UTC)
Ich hab mich da mal durchgearbeitet. Auf der Seite wird in einem Beispiel gezeigt, wie man eine Spielregel einbauen kann, die das Brennen der Babyzombies in der Sonne ein- und ausschaltbar macht. Es ist verblüffend ähnlich, wenn nicht der gleiche Ansatz den ich hier beschrieben haben. Lediglich wird der Punktestand hier noch weiter "verarbeitet" während in meinen Ausführungen es nur auf diesen Punktestand ankam. Auf jeden Fall zielt der Nutzen dieser Funktion drauf ab, mit einem Befehl mehrere Befehle ein- und ausschaltbar zu machen. Da ich bereits eine ähnliche Seite dazu bearbeitet habe, weiss ich nun auch warum es so schwer war, den Nutzen dieser hier beschriebenen Funktion richtig zu erkennen, da wir bereits sowas mit anderen Mitteln erreicht habe :-). Nethonos (Diskussion) 14:14, 20. Jun. 2016 (UTC)