[Bukkit] Diskusion: Was ist besser?

Dieses Thema im Forum "Programmierung" wurde erstellt von Paulomart, 21. Februar 2014.

  1. Paulomart
    Offline

    Paulomart

    Registriert seit:
    3. November 2013
    Beiträge:
    148
    Ort:
    C:/Eclipse/Workspace/
    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 (Text):
    1. plugin.getServer()
    2. this.getServer()
    2. Bukkit über static Bukkit holen:
    Code (Text):
    1. 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!
     
    #1
  2. [Dev] iTzSasukeHDxLP
    Offline

    [Dev] iTzSasukeHDxLP Ehem. Teammitglied

    Registriert seit:
    5. Januar 2014
    Beiträge:
    938
    Statisch ist eigentlich immer gut ;)

    Ich benutze meistens die this.getServer Methode. Aber ist eigentlich unterschiedlich, viele Wrge fuehrrn nach Rom. Die muesstens eigentlich alle tun. Da gibts (meines Wissens nach) keinen großen Unterschied.
     
    #2
  3. Commander_Keks
    Offline

    Commander_Keks

    Registriert seit:
    2. Juli 2012
    Beiträge:
    14
    Minecraft:
    Commander_Keks
    Hallo!

    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 (Text):
    1. 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 (Text):
    1. 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 (Text):
    1. 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
     
    #3
  4. Paulomart
    Offline

    Paulomart

    Registriert seit:
    3. November 2013
    Beiträge:
    148
    Ort:
    C:/Eclipse/Workspace/
    Minecraft:
    Paulomart
    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.

    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.
     
    #4