1. 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!

Alle Spieler von einer ArrayList<Player> teleportieren

Dieses Thema im Forum "Programmierung" wurde erstellt von Nexus15, 10. Januar 2013.

  1. Nexus15
    Offline

    Nexus15

    Registriert seit:
    30. September 2012
    Beiträge:
    89
    Hallo,
    Ich möchte alle Spieler von einer ArrayList<Player> zu einer Location teleportieren.

    Hier mein Versuch :

    try {
    Connection conn = DriverManager.getConnection(url, user, pass);
    stmt = conn.createStatement();
    rs = stmt.executeQuery("SELECT x, y, z FROM arena WHERE name='"+servern+"'");
    while(rs.next()) {
    double endX = rs.getDouble(1);
    double endY = rs.getDouble(2);
    double endZ = rs.getDouble(3);
    Location vector = p.getLocation();
    vector.setX(endX);
    vector.setY(endY);
    vector.setZ(endZ);
    for(Player pw : plugin.getServer().getOnlinePlayers()){
    if(players.contains(pw)){
    pw.teleport(vector);
    }

    }
    }
    rs.close();
    stmt.close();
    conn.close();
    } catch (SQLException ex) {
    Logger.getLogger(GListener.class.getName()).log(Level.SEVERE, null, ex);
    }
     
    #1
  2. Werbung
    Online

    Werbung

  3. Cabraca
    Offline

    Cabraca

    Du Speicherst vermutlich das komplette Playerobjekt in der ArrayList.
    Das Problem ist dass das Playerobjekt auch die location enthält welche sich relativ oft ändert.
    Sprich sobald der Spieler sich bewegt ist das Playerobjekt was du gespeichert hast nicht mehr gleich dem aktuellen Objekt.
    Das was du machen könntest wäre anstatt dem Playerobjekt einfach den Spielernamen zu speichern.
     
    #2
  4. Nexus15
    Offline

    Nexus15

    Registriert seit:
    30. September 2012
    Beiträge:
    89
    ah.. stimmt.. werde ich mal versuchen

    Danke :D
     
    #3
  5. MrFlieder
    Offline

    MrFlieder

    Registriert seit:
    30. Dezember 2011
    Beiträge:
    333
    Ort:
    Österreich
    Minecraft:
    MrFlieder
    Würde im Grunde genommen so gehen:
    Code (Text):
    1.  
    2. for(String playername : arraylist)
    3. {
    4.     try
    5.     {
    6.         Player player = Bukkit.getPlayer(playerlist);
    7.         player.teleport(location);
    8.     } catch (Exception e) {}
    9. }
    10.  
     
    #4