• 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!

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

5WizzardMc(Fabi)

Minecrafter
Registriert
15 Oktober 2015
Beiträge
6
Alter
30
Diamanten
0
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
- Permission***
- Vault
- Minigame (Mein Plugin)
- Multiverse Core


Code:

Code:
String str = "lobby.";



        World w = Bukkit.getWorld(plugin.cfg.getString(str + "world"));

        double x = plugin.cfg.getDouble(str + "x");
        double y = plugin.cfg.getDouble(str + "y");
        double z = plugin.cfg.getDouble(str + "z");
        double yaw = plugin.cfg.getDouble(str + "yaw");
        double pitch = plugin.cfg.getDouble(str + "pitch");
        Location loc = new Location(w, x, y, z, (float) yaw, (float) pitch);
        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:

FelixKlauke

Erzengel
Ehem. Teammitglied
Registriert
5 Januar 2014
Beiträge
1.038
Diamanten
299
Minecraft
FelixKlauke
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.
 

5WizzardMc(Fabi)

Minecrafter
Registriert
15 Oktober 2015
Beiträge
6
Alter
30
Diamanten
0
Danke für deine Hilfe :), aber eine Frage habe ich noch, ich mache gerade ein Teamchat, das geht aber irgentwie überhaupt nicht :(

Code:
    @EventHandler
    public void onChat(AsyncPlayerChatEvent e) {
        Player p = e.getPlayer();
        if(plugin.Team1.contains(p.getName())) {
            Player empfänger = (Player) Bukkit.getServer().getOnlinePlayers();
            if(plugin.Team1.contains(empfänger.getName())) {
                e.getRecipients().add(empfänger);
                e.setFormat("§cTeamChat ");
                empfänger.sendMessage(e.getMessage());
            }
        }
    }


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

5WizzardMc(Fabi)

Minecrafter
Registriert
15 Oktober 2015
Beiträge
6
Alter
30
Diamanten
0
Habe jetzt gecleart, aber geht immer noch nicht :(


Code:
    @EventHandler
    public void onChat(AsyncPlayerChatEvent e) {
        Player p = e.getPlayer();
        if(plugin.Team1.contains(p.getName())) {
            Player empfänger = (Player) Bukkit.getServer().getOnlinePlayers();
            e.getRecipients().clear();
            if(plugin.Team1.contains(empfänger.getName())) {
                e.getRecipients().add(empfänger);
                e.setFormat("§cTeamChat ");
                empfänger.sendMessage(e.getMessage());
            }
        }
    }
 
Zuletzt bearbeitet:

JTK222

Threadripper
Registriert
5 September 2013
Beiträge
1.150
Diamanten
323
Minecraft
JTK222
Also so wird es nicht funktionieren getOnlinePlayers gibt ne liste zurück und keinen einzelnen spieler.
Am besten einmal:
Code:
    Player p = e.getPlayer()
    if(plugin.Team1.contains(p.getName())) 
        e.getRecipients().clear();
        //Wird den unteren  Code mit jedem spieler einzeln ausführen
        for(Player emfaenger : Bukkit.getServer().getOnlinePlayers()){
           if(plugin.Team1.contains(empfänger.getName())){
              e.getRecipients().add(empfaenger);
          }
       }
    }
    e.setFormat("§cTeamChat ");

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.
 
Oben