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

Frage zum eigenen Plugin

V

vZentoz

Guest
Guten Tag,
ich arbeite derzeit an einem eigenen Plugin.
Dieses Plugin besitzt zwei packages, eines mit der MainClass und eines mit dem HealCommand.
Ich habe auch eine Config erstellt.
Allerdings greift der HealCommand über getConfig().getString(blablabla); auf diese Daten aus der Config zu, aber um due Mehtode getConfig() nutzen zu können, muss ich "extends JavaPlugin" machen.
Wenn ich aber "extends JavaPlugin implements CommandExecutor" mache, kommt der Error, dass das Plugin nciht up to date ist.
Wichtig:
Der Command wurde in der Main registriert!
 

combo

Miner
Registriert
16 Juli 2012
Beiträge
175
Diamanten
0
Minecraft
combo5
In einem Plugin solltest du nur einmal
Code:
 extends JavaPlugin
nutzen, und das in der MainClass.
Damit deine HealCommand Klasse nun auf die Funktion
Code:
 plugin.getConfig()
zugreifen kann musst du dir folgendes merken:
Deine MainClass erbt die Funktionen von der Klasse JavaPlugin, in dieser ist die Methode
Code:
 plugin.getConfig()
enthalten.

Wenn du deinen Befehl registrierst initialisierst du diesen mit
Code:
 new HealCommand()
um nun dieser Klasse den Zugriff auf
Code:
 plugin.getConfig()
zu ermöglichen musst du deine HealCommand Klasse mit
Code:
 new HealCommand(this)
initialisieren. (In der MainClass, beim registrieren)
Das this liefert dann der HealCommand Klasse die Instanz zur MainClass (Die Instanz der Klasse in der this ausgeführt wird). In der HealCommand Klasse musst du nun deinen Konstruktor ändern bzw. hinzufügen. (In der HealCommand Klasse)
Du erstellst dir eine Variable die wie folgt aussieht:
Code:
 private MainClass main;
und gibst ihr im Konstruktor einen Wert:
Code:
private MainClass main;

//Das ist der Konsturktor
public HealCommand(MainClass main) {
     this.main = main;
}

Ich hoffe du verstehst, was ich hiermit sagen möchte :) Wenn nicht solltest du umgehend beginnen Java zulernen bevor du mit der Spigot/Bukkit API arbeitest :)

PS: Falls kleine fachliche Fehler drin sind, verurteilt mich nicht :eek: Ein Hinweiß tuts auch :)
PSS: Ich glaube das gehört in einen anderen Bereich :)
 
V

vZentoz

Guest
In einem Plugin solltest du nur einmal
Code:
 extends JavaPlugin
nutzen, und das in der MainClass.
Damit deine HealCommand Klasse nun auf die Funktion
Code:
 plugin.getConfig()
zugreifen kann musst du dir folgendes merken:
Deine MainClass erbt die Funktionen von der Klasse JavaPlugin, in dieser ist die Methode
Code:
 plugin.getConfig()
enthalten.

Wenn du deinen Befehl registrierst initialisierst du diesen mit
Code:
 new HealCommand()
um nun dieser Klasse den Zugriff auf
Code:
 plugin.getConfig()
zu ermöglichen musst du deine HealCommand Klasse mit
Code:
 new HealCommand(this)
initialisieren. (In der MainClass, beim registrieren)
Das this liefert dann der HealCommand Klasse die Instanz zur MainClass (Die Instanz der Klasse in der this ausgeführt wird). In der HealCommand Klasse musst du nun deinen Konstruktor ändern bzw. hinzufügen. (In der HealCommand Klasse)
Du erstellst dir eine Variable die wie folgt aussieht:
Code:
 private MainClass main;
und gibst ihr im Konstruktor einen Wert:
Code:
private MainClass main;

//Das ist der Konsturktor
public HealCommand(MainClass main) {
     this.main = main;
}

Ich hoffe du verstehst, was ich hiermit sagen möchte :) Wenn nicht solltest du umgehend beginnen Java zulernen bevor du mit der Spigot/Bukkit API arbeitest :)

PS: Falls kleine fachliche Fehler drin sind, verurteilt mich nicht :eek: Ein Hinweiß tuts auch :)
PSS: Ich glaube das gehört in einen anderen Bereich :)
Vielen Dank :)
 
Oben