• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Spigot Scheduler bei Event erstellen

Mr_Redstone19

Schafhirte
Registriert
31 Januar 2018
Beiträge
103
Alter
50
Diamanten
0
Hallo.
Ich habe wieder mal eine Frage.
Und zwar: Wie kann man einen Scheduler erstellen, wenn ein Spieler sich zum Beispiel bewegt? Oder ist es überhaupt möglich? Damit meine ich einen Scheduler der "privat" ist. Also nur für diesen Spieler. Wenn sich ein weiterer Spieler bewegt, soll dieser auch einen "privaten" Scheduler bekommen.
Geht das? Wenn ja, wie?

MfG,
Mr_Redstone_19
 

Mr_Redstone19

Schafhirte
Registriert
31 Januar 2018
Beiträge
103
Alter
50
Diamanten
0
Bisher habe ich noch nichts damit versucht. Ich möchte es halt für eine Lottery haben. Das heißt, wenn jemand eine Kiste öffnet, soll sich jede Sekunde ein anderes Inventar öffnen. Also wie ein Glücksrad. Wenn ich nun aber immer den gleichen Scheduler für das Inventar nehme, dann kann doch immer nur ein Spieler auf die Lottery zugreifen, da der Scheduler dann sozusagen in Verwendung ist.
 
A

alex9849

Guest
Du könntest sowas versuchen:

Java:
public class LottoGUIScheduler {
    private int taskID;
    private Player player

    public LottoGUIScheduler(Player player, int repeatTicks) {
        this.player = player;
        this.taskID = Bukkit.getScheduler().scheduleSyncRepeatingTask(MyPlugin.getPlugin(), new OpenLottoGUI(player) , 0 ,repeatTicks);
    }

    public void stopScheduler() {
        Bukkit.getServer().getScheduler().cancelTasks(this.taskID)
    }
}

Dann bräuchtest du noch eine Klasse OpenLottoGUI welche dann "Runnable" implementiert und eine Methode run() hat welche dem Spieler eine GUI öffnet :)

EDIT: Ich sehe gerade du willst das für mehrere Spieler haben. Dann mach aus dem player einfach eine Liste oder ein Array und such dir dann die Spieler in der run() Methode raus.
 
Zuletzt bearbeitet:

Chrisliebär❤️

nur echt mit ❤️
Moderator
Registriert
19 Mai 2014
Beiträge
1.675
Diamanten
830
Während deine Idee vielleicht richtig ist, ist die Implementierung trotzdem falsch. Du solltest das Inventar nicht ständig durchwürfeln, sondern einfach beim Öffnen der Kiste ein zufälliges Inventar erstellen. Es gibt hier keinen Grund periodisch Code auszuführen.

Wunderschönes Beispiel übrigens, warum es oft hilfreich ist auch das Problem zu beschreiben, dass man lösen möchte, denn dann können dir die Leute auch viel besser helfen, wie @SirYwell schon angemerkt hat.
 
Oben