Minecraft Plugin programmieren abfragen ob er den Befehl schon mal genutzt hat?

4 Antworten

Gib der Klasse, die die Methode beinhaltet, ein boolsches Feld, dessen Zustand du abfragen kannst. Wenn der Nutzer durch seinen Input entscheidet, ob die Methode nochmals ausgeführt werden soll oder nicht, solltest du zusätzlich eine Möglichkeit einbauen, diesen Wert wieder ändern zu können.

public class A {

     private boolean alreadyActivated = false;

     public void doSomething() {

            if(this.alreadyActivated) return;

            // some actions

            this.alreadyActivated = true; // bzw. Auswertung des User Inputs

     } 

}


xXmennXx 
Fragesteller
 26.03.2016, 03:09

Ich programmiere gerade so eine versicherung, wenn man /versicherung macht soll man gefragt werden ob man eine abschliessen will wenn man keine hat. aber ich wusste mir gearde kein rat mehr wie man das anstellen sollte. Also was ich damit sagen wollte Danke


0
xXmennXx 
Fragesteller
 26.03.2016, 03:21

Und wie kann ich jetzt 

this.alreadyActivated = true
über einen befehl wie wenn ich ihn chat Ja/Nein eingebe aktiveren oder deaktivieren?

0
regex9  26.03.2016, 04:00
@xXmennXx

Über eine Setter-Methode. 

Bitte lerne erst die Grundlagen von Java und OOP bevor du weiterbastelst.

0
xXmennXx 
Fragesteller
 26.03.2016, 04:49
@regex9

Gieb mir eine Seite oder YouTuber und ich lerne es, bis jetzt habe ich nicht wirklich gutes gefunden

0
janwelter  26.03.2016, 09:39

Java ist auch eine Insel. Die beste Java lerngrundlage überhaupt

0
grumbl  26.03.2016, 11:57

Dein Quelltext hat ein Problem. Wenn du den Server reloadest hat er alles vergessen.

0
regex9  26.03.2016, 14:10
@grumbl

Für den Fall müssen die Daten beim Client gespeichert werden.

0

Ich würde das über die Player Metadata machen. Du legst die keys requestInsurence und hasInsurence an. Wenn der Versicherungsbefehl ausgeführt wird setzt du requestInsurence auf true und dann sendest du dem Spieler dass er bestätigen soll, wenn er bestätigt dann setzt du hasInsurence auf true ansonsten beide auf false. Im Gegensatz zu der vorherig vorgeschlagenen Lösung brauchst du hier keine Liste mit allen Spielern zusätzlich speichern

Ich würde eine HAshMAp mit dem Spielernamen als key und einem Boolean als value benutzen! Wenn du der Command ausgeführt wird erst abfragen ob der boolean des Spielernamens true ist, wenn ja dann returnen! Wenn der Boolean auf false ist dan den boolean auf true setzen und den rest des Command ausführen!

Das funktieoniert auch mit Intagern und Strings die dan halt einen speziellen Wert haben. Wenn du willst kannst du auch eine Config-Datei benuzten!

Woher ich das weiß:Hobby

Lerne zuerst die JAVA-Grundlagen. Ich empfehle persönlich das Buch Java von Kopf bis Fuß.