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

[BungeeCord] Plugin soll auf anderes Plugin zugreifen

D

deleted154568

Guest
Hallo, ich bin grade dabei, zwei Plugins für BungeeCord zu schreiben. Dabei muss das zweite Plugin auf die Daten von dem ersten Plugin zugreifen. Allerdings soll das zweite Plugin nicht direkt auf die Datenbank des ersetn Plugins zugreifen, sondern dies über Methoden des ersten Plugins machen. Gibt es da irgendeine Möglichkeit?
 
D

deleted154568

Guest
Ja, das hatte ich mir auch schon gedacht, allerdings stehe ich jetzt vor einem Problem. Denn damit das funktioniert, muss das zweite Plugin auf die Instanz des ersten Plugins zugreifen, die beim Starten des Server initialisiert wird.
Ich hatte schon diesen Code:

MeinPlugin plst = (MeinPlugin) this.plugin.getProxy().getPluginManager().getPlugin("MeinPlugin").getClass().cast(new MeinPlugin());

Allerdings konnte ich damit nicht auf die Plugin-Instanz von BungeeCord zugreifen. Nach der getPlugin()-Methode hat man ja nur die Instanz als Plugin()-Klasse. Aber um auf meine Methoden zu zugreifen, brauche ich ja die Klasse MeinPlugin()

Edit: Oder muss ich da etwas ganz anderes ausprobieren? Das wäre zwar unschön, ich hätte da allerdings auch schon eine Möglichkeit. So, wie oben beschrieben, wäre es halt nur viel leichter (für mich).
Edit2: Ich habe es jetzt ganz anders gelöst. Und zwar speichere ich die Instanz der API-Klasse während der Initialisierung meines Plugin in eine statische Variable. Darauf kann ich dann ganz einfach zugreifen. Allerdings würde es mich trotzdem interessieren, ob das irgendwie so wie oben beschrieben geht.
 
Zuletzt bearbeitet von einem Moderator:

DarkPrincess

Kuhfänger
Registriert
31 August 2013
Beiträge
52
Diamanten
0
Code:
MeinPlugin plst = (MeinPlugin) this.plugin.getProxy().getPluginManager().getPlugin("MeinPlugin")

Sollte reichen.
Wobei es sinnvoller wäre :

Code:
Plugin pl = ProxyServer.getInstance().getPluginManager().getPlugin("MienPlugin");
MeinPlugin mPl = null;
if(pl instanceof MeinPlugin) {
  mPl = (MeinPlugin)pl;
}
 
Oben