Wie kann man beim Minecraft Plugin programmieren einen Command so programmieren, dass er pro Spieler nur einmal ausführbar ist?
Wie kann man beim Minecraft Plugin programmieren einen Command so programmieren, dass er pro Spieler nur einmal ausführbar ist?
Bitte schreibt es unten in die Antworten
5 Antworten
Erstelle Ingame ein Scoreboard und erhöhe das bei jedem Spieler der den Command eingibt auf 1. Bei Eingabe des Commands musst du prüfen ob das Scoreboard bereits 1 ist, oder noch 0.
Dann sparst du dir lästige Extra-Dateien/Datenbanken die du bei den anderen Lösungen hier hast, da das ganze einfach über Ingame-Dateien (die Scoreboards) geregelt wird.
Mach dir am besten eine Datenbank wo du eine Eigenschaft einträgst, die halt zu dieser Funktion passt. Wenn der Befehl einmal ausgeführt wird, dann wird das in deine Datenbank eingetragen. Und wenn du es nochmal ausführst, dann testet das programm erstmal nach einrm Eintrag ind er Datenbank, ob es schonmal ausgeführt wurde. Wenn ja, dann passiert nichts.
Könntest die uid des Spielers in einer Datenbank Speicher wo dann dein steht uid und danaben Ausgeführt, wenn ausgeführt noch nicht eins ist wird der Command ausgeführt und einen eins in die Tabelle geschrieben. Beim nächsten Versuch den Command auszuführen, wird festgestellt, dass der User mit uid bei Ausgeführt in der Tabelle eine 1 stehen hat und der Command wird nicht ausgeführt.
Entweder eine MySQL Datenbank (oder auch jedes andere beliebige System) oder direkt in Yamls oder Json Dateinen die UUIDs der Spieler schreiben.
Dann kannst du vor jedem ausführen des CMD diese abfragen und wenn die UUID schon drin steht, verweigerst du das dem Spieler einfach.
int x = 0
//Command
if(x == 0){
x++;
und der Command
} else
player.sendMessage("Command bereits aufgeführt);