• 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!

PlugIn Eclipse macht Probleme beim Schreiben des Quellcodes

Squall

Kuhfänger
Registriert
19 Mai 2023
Beiträge
58
Diamanten
73
Hallo ich bin noch recht neu in sachen Java und habe für mich Persönlich eine Tutorialplayist auf Youtube gefunden die es für mich verständnisvoll erklärt.
Nun stoße ich auf ein Weiteres Problem siehe eigengedrehtes Video:
Und ja der Gezeigte link ist auch in einem Anderen Forum was auch im Video zu hören ist.
Ich wollte jetzt nicht erneut ein neue Video dazu drehen.
Nehmt euch bitte mal ca 11 Minuten zeit und schaut euch das Problemvideo an.


Habt auch verständniss für die dort Angekündigte Videobeschreibung.

Ich hoffe ihr könnt mir weiterhelfen.
 

joestr

Minecrafter
Registriert
5 November 2016
Beiträge
25
Alter
24
Diamanten
208
scheduleSyncDelayedTask braucht als ersten Parameter den Verweis auf das Plugin, welchem dieser Task gehört.

Da du deine Befehle strukturiert in eigene Klassen auslagerst, funktioniert der Aufruf mit this als ersten Parameter nicht mehr, da this auf die Klasse des Befehls verweist und nicht auf das Plugin.

Es gibt jetzt mehrere Möglichkeiten das Problem zu lösen. Eine davon ist folgende:

Beim instanziieren der Befehls-Klasse (new Command_backtp()) gibst du als ersten Paramter noch this mit.
Code:
new Command_backtp(this)

Die Command_backtp-Klasse wird um ein Property plugin vom Typ info ergänzt. Zudem wird ein Konstruktor eingerichtet welcher als ersten Paramter eben diese entgegen nimmt.
Java:
// Plugin Instanz
info plugin = null;

public Command_backtp(info plugin) {
  this.plugin = plugin;
}

Als erster Paramter beim Aufruf von scheduleSyncDelayedTask wird anstatt this jetzt this.plugin verwendet.
Java:
Bukkit.getScheduler().scheduleSyncDelayedTask(this.plugin, new Runnable() {
}, 20*5);
 
Oben