AsyncPlayerPreLoginEvent - getName();

  • Ich versuche mithilfe der aktuellen Bukkit-API 1.4.7 - R 1.1 ein Plugin zu schreiben, das, sobald das AsyncPlayerPreLoginEvent passiert, den Spielernamen einholt, und es quasi 'begrüßt'. Das funktioniert soweit auch schon einmal ganz gut, aber ich hab ein Problem mit der getName()-Methode.


    Code
    @EventHandler(priority = EventPriority.NORMAL)	public void getplayername(AsyncPlayerPreLoginEvent pje1){		String PlayerName = this.getName();		getLogger().info(getName()+" tries to join the game");		Bukkit.broadcastMessage(greeting+PlayerName+servername);	}


    Und das wird ausgegeben:


    Code
    2013-02-25 18:39:33 [INFO] [PlayerGreet] PlayerGreet tries to join the game
    2013-02-25 18:39:33 [INFO] Herzlich Willkommen auf meinem ServerPlayerGreetlocalhost


    Wie schaffe ich es nun, dass die getName() - Methode vom AsyncPlayerPreLoginEvent benutzt wird ?
    Wenn ich andere Methoden der Klasse benutzen sagt eclipse:
    Cannot make a static reference to the non-static method (...)

  • Code
    String PlayerName = this.getName();


    mit der Pfadangabe "this" beziehst du dich ja auf die Klasse. Wahrscheinlich wird mit getName() nun dein Pluginname abgerufen, denn in deinem Code-Block fehlt ja der Bezug zu einem Spielerobject.


    //E: Rinu war schneller xD

  • Muhpups (//MUHdit: What?!) hat das aber auch gut analysiert! :3

    Einmal editiert, zuletzt von ?/?/?/?/?/ ()

  • mit der Pfadangabe "this" beziehst du dich ja auf die Klasse.


    Das kam ja erst später dazu. Ich dachte, dass this ein Allheilsmittel wäre :grinning_face_with_smiling_eyes:



    Zitat von rinukkusu


    pje1.getName()


    Hat geklappt. Danke rinupups :3



    Zitat


    20:05:32 [INFO] Herzlich Willkommen auf meinem Server localhost _ShadowRaven_