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

[Bukkit] Diskusion: Was ist besser?

Paulomart

Schafhirte
Registriert
3 November 2013
Beiträge
147
Diamanten
0
Minecraft
Paulomart
Hallo liebes Forum,

mir ist ein letzer Zeit aufgefallen, wie viele Methoden es gibt um an die Serverklasse mit den Entsprechenden Funktionen zu kommen.

Welche ist die Beste?

1: Bukkit über die Pluginhauptklasse holen:
Code:
plugin.getServer()
this.getServer()

2. Bukkit über static Bukkit holen:
Code:
Bukkit.getServer()


Es gibt warscheinlich noch andere Funktionen, die ich jetzt vergessen habe :D
Außerdem gibt es jede Methode auch in static (Bukkit.getOnlinePlayers()), für Bukkit, ich denke, dass es besser ist non-static zu benutzen?

Bin gespannt auf eure Meinungen!
 
Zuletzt bearbeitet:

Commander_Keks

Minecrafter
Registriert
2 Juli 2012
Beiträge
14
Diamanten
0
Minecraft
Commander_Keks
Hallo!

Statisch ist eigentlich immer gut

Es gibt kein gut und kein schlecht. Jede Methode hat eine bestimmte Funktion und somit seine Berechtigung. Je nach dem, was man machen möchte, empfiehlt es sich, eine Methode statisch zu deklarieren und zu verwenden oder eben nicht.

Code:
Bukkit.getServer()

Auf diesen Methodenaufruf würde ich verzichten, da dein Plugin bereits ein Objekt des Bukkit-Servers ist und über die Möglichkeit verfügt, direkt auf die laufende Instanz der Klasse Server zuzugreifen. Diese Möglichkeit ist sicherlich nicht ohne Grund gegeben.

Code:
this.getServer()

Diesen Aufruf kannst du in deiner Hauptklasse, welche JavaPlugin implementiert, verwenden. Nur dort wird es funktionieren und nur dort macht es Sinn.

Code:
plugin.getServer()

Wo hast du das raus kopiert? :D Um diese Schreibweise verwenden zu können, müsstest du dir erst eine Objektvariable mit dem Namen plugin vom Typ JavaPlugin anlegen. Außerhalb der Hauptklasse macht das Sinn, z.B. wenn du die Instanz der Hauptklasse an eine andere Klasse übergibst. Innerhalb der Hauptklasse macht das kein Sinn.

Viele Grüße,
Keks
 

Paulomart

Schafhirte
Registriert
3 November 2013
Beiträge
147
Diamanten
0
Minecraft
Paulomart
Code:
Bukkit.getServer()
Auf diesen Methodenaufruf würde ich verzichten, da dein Plugin bereits ein Objekt des Bukkit-Servers ist und über die Möglichkeit verfügt, direkt auf die laufende Instanz der Klasse Server zuzugreifen. Diese Möglichkeit ist sicherlich nicht ohne Grund gegeben.

Bukkit.getServer() sollte eigentlich immer die Instance vom Aktuellen Server Objekt liefen. Da die die Instance in der Bukkit Klasse nicht überschreiben werden kann, wenn sie einmal gesetzt wurde.

Code:
plugin.getServer()
Wo hast du das raus kopiert? :D Um diese Schreibweise verwenden zu können, müsstest du dir erst eine Objektvariable mit dem Namen plugin vom Typ JavaPlugin anlegen. Außerhalb der Hauptklasse macht das Sinn, z.B. wenn du die Instanz der Hauptklasse an eine andere Klasse übergibst. Innerhalb der Hauptklasse macht das kein Sinn.

Ja schon klar ich habe diese Funktion immer in meinen SubKlassen verwendet.

Ich verwende in meinen neueren Projekten immer Bukkit.getServer().getOnlinePlayers() unschön finde ich es hingegeben man dierekt über Static auf die Instance vom Server zugreift: Bukkit.getOnlinePlayers().

Vielleicht hat jemand damit schon Erfahrungen gemacht? Ich wollte nur eine vielleicht intressante Diskusion anstoßen.
 
Oben