ServerPlugin Spieler wird beim ersten Serverjoin nicht teleportert...

Dieses Thema im Forum "Programmierung" wurde erstellt von G.A.F, 3. Oktober 2015.

  1. G.A.F
    Offline

    G.A.F

    Registriert seit:
    13. Oktober 2013
    Beiträge:
    38
    Hallo Leute,

    ich habe ein Lobbysystem für meinen Server programmiert und habe den folgenden Code geschrieben:

    Code (Text):
    1. @EventHandler
    2.     public void onPlayerJoin(PlayerJoinEvent pje){
    3.         pje.getPlayer().teleport(new Location(Bukkit.getServer().getWorld(main.getConfig().getString("BackToSpawn.Location.World")), main.getConfig().getDouble("BackToSpawn.Location.X"), main.getConfig().getDouble("BackToSpawn.Location.Y"), main.getConfig().getDouble("BackToSpawn.Location.Z"), main.getConfig().getInt("BackToSpawn.Location.Yaw"), 0));
    4. }
    Ihr seht, der Spieler sollte beim Join teleportiert werden. Stattdessen spawnt der Spieler in der default Welt.
    Das passiert jedoch nur beim allerersten Joinen, bei einem Rejoin wird ein Spieler ordentlich teleportiert...

    Ich kann natürlich nicht jeden neuen Spieler selber teleportieren, zumal das Problem bei JEDEM EINZELNEN der Server auf dem Servernetzwerk der Fall ist :/ (Also auch Minigames)


    Ich hoffe jemand kennt das Problem und kann mir sagen was ich falsch gemacht habe :)


    MfG Mineworker08 ~ G.A.F
     
    #1
  2. Victini151
    Offline

    Victini151

    Nutzt du andere Plugins?
    Was spricht dagegen die eigene Welt zur Standard-Welt zu machen?
     
    #2
  3. G.A.F
    Offline

    G.A.F

    Registriert seit:
    13. Oktober 2013
    Beiträge:
    38
    Das müsste ich auf allen Servern machen, bei manchen müsste ich dann andere Welten umbenennen, das kommt also nicht in Frage.

    Andere Plugins nutze ich zwar, aber keine die jemanden teleportieren.

    //Edit

    Moment. Vielleicht ist Multiverse schuld...
    Nein, hat auch nichts gebracht :/
     
    #3
  4. Kroseida
    Offline

    Kroseida

    Registriert seit:
    28. September 2015
    Beiträge:
    54
    Ort:
    /root/
    Minecraft:
    Kroseida
    Hast du auch beim enable denn Listener registriert?
    Gibt es fehler in der Konsole?
    Welche anderen Plugins nutzt du?
    veränder mal die EventPriority auf "HIGHEST"
     
    #4
  5. JTK222
    Offline

    JTK222

    Registriert seit:
    5. September 2013
    Beiträge:
    665
    Ort:
    Planet Erde
    Minecraft:
    JTK222
    Wenn ich mich nicht irre ist das PlayerJoin event doch zu früh für sowas.
    War jedenfalls glaube ich früher schön das problem bei ähnlichen posts.
     
    #5
  6. G.A.F
    Offline

    G.A.F

    Registriert seit:
    13. Oktober 2013
    Beiträge:
    38
    Ja, den habe ich registriert. Es gibt keine Fehler in der Konsole und das mit der EventPriority probier ich jetzt mal :)

    Dachte ich auch, aber das Problem tritt nur beim allerersten Joinen auf, sonst nicht..

    Danke schonmal
     
    #6
  7. ¯\_(ツ)_/¯
    Offline

    ¯\_(ツ)_/¯

    Registriert seit:
    16. Mai 2014
    Beiträge:
    20
    Ort:
    ::1
    Teleportiere den Spieler mal einen Tick nach dem Event (runTaskLater). Ich hatte damit früher auch schon Probleme...
     
    #7
  8. Inkemann
    Offline

    Inkemann

    Registriert seit:
    3. Mai 2015
    Beiträge:
    341
    Ort:
    Aachen
    Minecraft:
    Inkemann
    Was @OmbulaCraft sagt ist ganz richtig. Beim ersten Joinen muss der Server erstmal den Spieler speichern und eine entsprechende Datei erstellen. Man sollte ihm da einen Tick Zeit für geben.
     
    #8
  9. Kroseida
    Offline

    Kroseida

    Registriert seit:
    28. September 2015
    Beiträge:
    54
    Ort:
    /root/
    Minecraft:
    Kroseida
    stimmt, doch sollte der Server denn Spieler dennoch Teleportieren.
     
    #9
  10. [Dev] iTzSasukeHDxLP
    Offline

    [Dev] iTzSasukeHDxLP Ehem. Teammitglied

    Registriert seit:
    5. Januar 2014
    Beiträge:
    938
    Nein, hat er doch erklärt?!
     
    #10
  11. JTK222
    Offline

    JTK222

    Registriert seit:
    5. September 2013
    Beiträge:
    665
    Ort:
    Planet Erde
    Minecraft:
    JTK222
    Sollte man das Event auf Low Priority setzen sollte es doch erst geschehen nachdem der server alles erstellt hat oder?
    Könnte das eventuel jemand testen? :D
     
    #11
  12. Kroseida
    Offline

    Kroseida

    Registriert seit:
    28. September 2015
    Beiträge:
    54
    Ort:
    /root/
    Minecraft:
    Kroseida
    Hat er nicht. Er hat geschrieben das der Server stark belastest wird und das dies ein Grund sein könnte, doch bin ich der meinung das sowas selbst bei hoher last nicht passieren sollte.
    EDIT
    Das einzige was ich mir selber zusammenreimen könnte - Bukkits handling ist wieder einmal relativ schlecht wodurch solche fehler entstehen.
     
    #12
  13. Inkemann
    Offline

    Inkemann

    Registriert seit:
    3. Mai 2015
    Beiträge:
    341
    Ort:
    Aachen
    Minecraft:
    Inkemann
    Ja, der Server SOLLTE das Teleportieren trotzdem durchführen, aber wenn bei Bukkit alles so liefe wie es sollte, dann wär es nicht Bukkit :D Das ist bei sehr vielen Events so (PlayerRespawnEvent zum Beispiel auch), da sollte man einfach einen Tick warten. Damit geht dann fast alles.
     
    #13
  14. TrashYourLife
    Offline

    TrashYourLife

    Registriert seit:
    7. Oktober 2015
    Beiträge:
    3
    Hallo G.A.F, um dir bei deiner Frage richtig helfen zu können, gebe uns bitte folgende Informationen:
    - Welche Plugins laufen außer dem Teleportationsplugin auf dem Server?
    - Es ist richtig, dass es nur beim ersten mal nicht funktioniert, beim zweiten mal aber schon?
     
    #14