Timer in Minecraft programmieren?
Guten Abend,
Ich versuche jetzt seit einiger Zeit ein Minecraft Plugin zu programmieren, jedoch bleibe ich gerade beim Timer hängen. Ich hätte es gerne so, dass man den Timer pausieren kann und zu einem späteren Zeitpunkt wieder starten (ohne Serverneustart/Reload zwischen).
Mein jetziger Code ist dieser: https://pastebin.com/Rk2Q1jGc
Mein Problem jedoch ist, dass wenn ich den Timer pausiert habe und wieder starte, er doppelt Ausgeführt wird. :/
Ich bin für jede Antwort dankbar :)
Guten Abend noch ;)
2 Antworten
Hallo!
Speichere deinen Scheduler in einer Variable
BukkitRunnable consumptionScheduler = new ChangeValueScheduler(port, itemName, consumptionRate);
auf der du dann den gewünschten Aufruf machst
consumptionScheduler.runTaskTimer(Clerks.INSTANCE, 20 * 20, 20 * consumptionFrequency);
Zum Schluss kannst du dann den Scheduler wieder beenden:
consumptionScheduler.cancel();
Bitte beachte: Die Beispiele sind Codeschnipsel meines Codes und werden in deinem Code nicht funktionieren.
Hoffe, ich konnte dir helfen.
Liebe Grüße
Alex (Kritiko)
Guten Abend!
Es gibt verschiedene Ansätze, wie du vorgehen kannst. So kannst du beispielsweise in deinem Timer einen boolean abfragen, den du je nach belieben außerhalb der Klasse setzt, je nachdem, ob der Timer nun laufen soll oder nicht.
Andernfalls kannst du auch von außerhalb den Scheduler beenden und einfach beim Aufruf neu instanziieren.
Hoffe, ich konnte dir helfen.
Liebe Grüße
Kritiko (Alex)
Vielen Dank für die schnelle Antwort :)
Wie genau beendet man Scheduler?