Wie kann man sagen, wann sich ein Spieler nicht bewegt?

Gibt es einen weg zu testen, ob ein Spieler sich nicht bewegt?

Im Moment habe ich diesen Befehl auf eine Trichteruhr gestellt:

/scoreboard players set @a sneak 3 

Aber das scheint nicht zu funktionieren, denn in einem anderen Befehlsblock teste ich für eine Punktzahl von drei, und jeder Tick, den es einen Block aufruft, selbst wenn du dich bewegst.

Ich benutze diese für eine Vanille-Block-Jagd so, wenn Sie nicht bewegen Sie ein solider Block.

@ 132ikls Antwort funktioniert im Allgemeinen, aber es gibt einen Fehler für das Design: stat.walkOneCm erhöht sich nicht, während du in der Luft bist. Wir können dies beheben, indem wir annehmen, dass jeder Spieler, der in der Luft ist, sich bewegt.

Erstellen Sie die Anzeigetafel:

 /scoreboard objectives add Moving stat.walkOneCm 

Erstellen Sie eine 20Hz-Uhr oder verwenden Sie wiederholen / Ketten-Befehlsblöcke und führen Sie die folgenden zwei Befehle aus:

 /scoreboard players remove @a[score_Moving_min=1] Moving 1 {OnGround:1b} /scoreboard players set @a[score_Moving_min=1] Moving 1 

Der erste Befehl wird die Moving Score um eins für jeden Spieler auf dem Boden reduzieren, wenn es mindestens 1 ist (dh die Punktzahl wird nicht unter 0).
Der zweite Befehl begrenzt die Moving Score auf höchstens 1, indem er sie auf eins setzt, wenn sie größer ist.

Moving wird 1 für Leute sein, die sich bewegen, oder sich vor dem Springen bewegen (Springen an Ort und Stelle funktioniert nicht) und 0 sonst.

Schritt 1: Erstellen Sie zwei Anzeigetafeln:

 /scoreboard objectives add walk stat.walkOneCm /scoreboard objectives add moving dummy 

Schritt 2: Mit diesen Befehlen einen Befehlsblocktakt machen:

 /scoreboard players set @a walk 0 /scoreboard players set @a[score_walk_min=1] moving 1 

Dann wird jeder, der nicht zu Fuß ist, eine bewegte Partitur von 0 haben