Hallöchen, ich schreib grad nochmal nen Beitrag wegen nem anderen Anliegen, bei dem ich auf google-art nicht weiterkam 
Und zwar kann ich ja mit Callbacks einen Rechenprozess, bzw. zum Beispiel das Warten auf die Antwort von Bungee oder der MySQL, asynchron ich sag mal in den "Hintergrund" verlegen, sodass der Server nicht einfriert.
Nun hab ich gelesen, man soll keine Minecraft Methoden verwenden wenn man nicht im Hauptthread ist. Stimmt das so?
Dann würde ich im callback einen null-check machen, falls der spieler sich ausgeloggt hat? und dann die daten senden. Ich denke eine Chatmessage wird nicht so fatal sein, aber welche Methoden darf ich denn jetzt nicht mehr in callbacks verwenden und welche schon?
Und wie mache ich den Vorgang in einem Callback wieder synchron damit ich alle Methoden sorglos verwenden kann? Einfach, indem ich einen sync Scheduler starte? Oder habe ich hier etwas total falsch aufgefasst
Dankbar für jede Hilfe und alle Geduld ^^
Grüße, CubBossa
Und zwar kann ich ja mit Callbacks einen Rechenprozess, bzw. zum Beispiel das Warten auf die Antwort von Bungee oder der MySQL, asynchron ich sag mal in den "Hintergrund" verlegen, sodass der Server nicht einfriert.
Nun hab ich gelesen, man soll keine Minecraft Methoden verwenden wenn man nicht im Hauptthread ist. Stimmt das so?
Wenn ich nun also beispielsweise die Information einer Datenbank lade, und dem Spieler im Callback dann sende. Würde ich erstmal drauf achten, dass es eine final Player variable ist. (Soweit mit diesem Tutorial)Asynchronous tasks should never access any API in Bukkit. Great care should be taken to assure the thread-safety of asynchronous tasks
Dann würde ich im callback einen null-check machen, falls der spieler sich ausgeloggt hat? und dann die daten senden. Ich denke eine Chatmessage wird nicht so fatal sein, aber welche Methoden darf ich denn jetzt nicht mehr in callbacks verwenden und welche schon?
Und wie mache ich den Vorgang in einem Callback wieder synchron damit ich alle Methoden sorglos verwenden kann? Einfach, indem ich einen sync Scheduler starte? Oder habe ich hier etwas total falsch aufgefasst
Dankbar für jede Hilfe und alle Geduld ^^
Grüße, CubBossa