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!

PlugIn Wenn man das erste mal den Server joint, wird man nicht automatisch teleportiert

Dieses Thema im Forum "Programmierung" wurde erstellt von 5WizzardMc(Fabi), 15. Oktober 2015.


  1. 5WizzardMc(Fabi)
    Offline

    5WizzardMc(Fabi)

    Registriert seit:
    15. Oktober 2015
    Beiträge:
    6
    Geschlecht:
    männlich
    Guten Tag,

    ich programmiere gerade ein Minigame, dies ist auch schon fast fertig, aber nun habe ich folgendes Problem:

    Wenn man Joint, werden Spieler teleportiert, dies funktioniert auch, aber wenn der Spieler das erste mal Joint, wird dieser nicht teleportiert, sondern in die Welt "world" teleportiert

    Plugins auf dem Server:

    - Iconomy
    - PermissionsEx
    - Vault
    - Minigame (Mein Plugin)
    - Multiverse Core


    Code:

    Code (Text):
    1. String str = "lobby.";
    2.  
    3.  
    4.  
    5.         World w = Bukkit.getWorld(plugin.cfg.getString(str + "world"));
    6.  
    7.         double x = plugin.cfg.getDouble(str + "x");
    8.         double y = plugin.cfg.getDouble(str + "y");
    9.         double z = plugin.cfg.getDouble(str + "z");
    10.         double yaw = plugin.cfg.getDouble(str + "yaw");
    11.         double pitch = plugin.cfg.getDouble(str + "pitch");
    12.         Location loc = new Location(w, x, y, z, (float) yaw, (float) pitch);
    13.         p.teleport(loc);
    Ich freue mich auf eure Unterstützung :)



    * Habe noch eine 2. Frage:

    Wie bannt man per Bungeecord, gibt es da einen code, wie bei Bukkit
     
    Zuletzt bearbeitet: 15. Oktober 2015
  2. Werbung
    Online

    Werbung

  3. SasukeKawaii
    Offline

    SasukeKawaii Ehem. Teammitglied

    Registriert seit:
    5. Januar 2014
    Beiträge:
    1.006
    Geschlecht:
    männlich
    Minecraft:
    SasukeKawaii
    1. Ich vermute mal, dass du das im PlayerJoinEvent versuchst. Versuch es mal mit einem Scheduler ein paar Ticks später.

    2. Nein kann man nicht "direkt". Du legst mehr oder weniger nur eine Datenbank mit gebannten Spielern an und prüfts ob der Spieler darin steht. Wenn er das tut, verhinderst du seinen Login.
     
    • Gefällt mir Gefällt mir x 1
  4. 5WizzardMc(Fabi)
    Offline

    5WizzardMc(Fabi)

    Registriert seit:
    15. Oktober 2015
    Beiträge:
    6
    Geschlecht:
    männlich
    Danke für deine Hilfe :), aber eine Frage habe ich noch, ich mache gerade ein Teamchat, das geht aber irgentwie überhaupt nicht :(

    Code (Text):
    1.     @EventHandler
    2.     public void onChat(AsyncPlayerChatEvent e) {
    3.         Player p = e.getPlayer();
    4.         if(plugin.Team1.contains(p.getName())) {
    5.             Player empfänger = (Player) Bukkit.getServer().getOnlinePlayers();
    6.             if(plugin.Team1.contains(empfänger.getName())) {
    7.                 e.getRecipients().add(empfänger);
    8.                 e.setFormat("§cTeamChat ");
    9.                 empfänger.sendMessage(e.getMessage());
    10.             }
    11.         }
    12.     }

    Also die in Team 1 sollen halt ihr privates TeamChat haben und die in Team2 + die Team3 + die Team4
     
  5. SasukeKawaii
    Offline

    SasukeKawaii Ehem. Teammitglied

    Registriert seit:
    5. Januar 2014
    Beiträge:
    1.006
    Geschlecht:
    männlich
    Minecraft:
    SasukeKawaii
    Du müsstest die Recipients einmal leeren, sonst kriegen alle die Nachricht. Danach fügst du alle aus Team1 den Recipients hinzu.
     
  6. 5WizzardMc(Fabi)
    Offline

    5WizzardMc(Fabi)

    Registriert seit:
    15. Oktober 2015
    Beiträge:
    6
    Geschlecht:
    männlich
    Habe jetzt gecleart, aber geht immer noch nicht :(


    Code (Text):
    1.     @EventHandler
    2.     public void onChat(AsyncPlayerChatEvent e) {
    3.         Player p = e.getPlayer();
    4.         if(plugin.Team1.contains(p.getName())) {
    5.             Player empfänger = (Player) Bukkit.getServer().getOnlinePlayers();
    6.             e.getRecipients().clear();
    7.             if(plugin.Team1.contains(empfänger.getName())) {
    8.                 e.getRecipients().add(empfänger);
    9.                 e.setFormat("§cTeamChat ");
    10.                 empfänger.sendMessage(e.getMessage());
    11.             }
    12.         }
    13.     }
    14.  
    15.        
     
    Zuletzt bearbeitet: 15. Oktober 2015
  7. JTK222
    Online

    JTK222

    Registriert seit:
    5. September 2013
    Beiträge:
    875
    Geschlecht:
    männlich
    Minecraft:
    JTK222
    Also so wird es nicht funktionieren getOnlinePlayers gibt ne liste zurück und keinen einzelnen spieler.
    Am besten einmal:
    Code (Text):
    1.  
    2.     Player p = e.getPlayer()
    3.     if(plugin.Team1.contains(p.getName()))
    4.         e.getRecipients().clear();
    5.         //Wird den unteren  Code mit jedem spieler einzeln ausführen
    6.         for(Player emfaenger : Bukkit.getServer().getOnlinePlayers()){
    7.            if(plugin.Team1.contains(empfänger.getName())){
    8.               e.getRecipients().add(empfaenger);
    9.           }
    10.        }
    11.     }
    12.     e.setFormat("§cTeamChat ");
    13.  
    Desweiteren ist § unsauberer Hardcode verwende lieber die Farbformatierung von Bukkit kenne diese leider nicht da ich nicht mit bukkit arbeite.
    Die forschleife überprüft für jedenspieler ob er im Team ist das die Nachricht erhalten soll.
    Achja und man darf keine umlaute in Java verwenden deswegen würde ich dir empfehlen auf English zu programmieren.
     
  8. 5WizzardMc(Fabi)
    Offline

    5WizzardMc(Fabi)

    Registriert seit:
    15. Oktober 2015
    Beiträge:
    6
    Geschlecht:
    männlich
    Danke für deine Hilfe :)