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

Nach Teleport bricht Code ab, warum

McWizzardDev

Kuhfänger
Registriert
7 Oktober 2015
Beiträge
56
Alter
30
Diamanten
300
Hallo Community,

Ich habe gemacht, das wenn man Joint, des man teleportiert wird, und wenn 2 Spieler online sind startet ein Countdown. Wenn ich das Teleportierien weglasse, startet der Cooldown


Mit Teleport

Code:
@EventHandler
    public void onJoin(final PlayerJoinEvent e) {
        plugin.game.add(e.getPlayer().getName());
        Player p = e.getPlayer();
        p.getInventory().clear();
        ItemStack item = new ItemStack(Material.SKULL_ITEM, 1, (short) 3);
        SkullMeta meta = (SkullMeta) item.getItemMeta();
        meta.setOwner(p.getName());
        meta.setDisplayName("§c§lTeamauswahl");
        item.setItemMeta(meta);
        p.getInventory().setItem(4, item);
        e.setJoinMessage("§3" + p.getName() + " §7ist Labyrinth beigetreten, es sind §3" + Bukkit.getOnlinePlayers().size() + "§c/§38");
      
        //Teleportieren zur Lobby
      
        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);
      
        //Scheduler
            if(plugin.getServer().getOnlinePlayers().size() == 2) {
          
            for(Player target : Bukkit.getServer().getOnlinePlayers()) {
                target.sendMessage("§7Das Spiel beginnt in §3" + high + " §7Sekunden, es sind §3" + Bukkit.getOnlinePlayers().size() + " §7dabei");
            }
          
          
            scheduler = plugin.getServer().getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable() {
                @Override
                public void run() {
                    if(high !=0) {
                        high--;
                        for(Player target : Bukkit.getServer().getOnlinePlayers()) {
                            target.setLevel(high);
                          
                        }
                    } else {
                        for(Player target : Bukkit.getServer().getOnlinePlayers()) {
                            target.sendMessage("§aDas Spiel beginnt jetzt!");
                        //Teleport zu den Teams
                          
                            //Team grün (1)
                            Playe .......
................................................................



Ohne Teleport

Code:
@EventHandler
    public void onJoin(final PlayerJoinEvent e) {
        plugin.game.add(e.getPlayer().getName());
        Player p = e.getPlayer();
        p.getInventory().clear();
        ItemStack item = new ItemStack(Material.SKULL_ITEM, 1, (short) 3);
        SkullMeta meta = (SkullMeta) item.getItemMeta();
        meta.setOwner(p.getName());
        meta.setDisplayName("§c§lTeamauswahl");
        item.setItemMeta(meta);
        p.getInventory().setItem(4, item);
        e.setJoinMessage("§3" + p.getName() + " §7ist Labyrinth beigetreten, es sind §3" + Bukkit.getOnlinePlayers().size() + "§c/§38");
      
        //Teleportieren zur Lobby
      
      
        //Scheduler
            if(plugin.getServer().getOnlinePlayers().size() == 2) {
          
            for(Player target : Bukkit.getServer().getOnlinePlayers()) {
                target.sendMessage("§7Das Spiel beginnt in §3" + high + " §7Sekunden, es sind §3" + Bukkit.getOnlinePlayers().size() + " §7dabei");
            }
          
          
            scheduler = plugin.getServer().getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable() {
                @Override
                public void run() {
                    if(high !=0) {
                        high--;
                        for(Player target : Bukkit.getServer().getOnlinePlayers()) {
                            target.setLevel(high);
                          
                        }
                    } else {
                        for(Player target : Bukkit.getServer().getOnlinePlayers()) {
                            target.sendMessage("§aDas Spiel beginnt jetzt!");
                        //Teleport zu de ....
.........................................


Danke wenn ihr mir wieder helft :)
 

McWizzardDev

Kuhfänger
Registriert
7 Oktober 2015
Beiträge
56
Alter
30
Diamanten
300
Kannst du eigentlich auch selbst denken oder musst du für jeden scheiß den Sourcecode von anderen zusammenkopieren / verbessern lassen?

Davon mal abgesehen solltest du mal lernen Sourcecode zu formatieren. Das ist ja scheußlich - Vom Programmcode mal abgesehen, der ist noch schlechter als Youtube "Programmierer" ihn veröffentlichen.
Währe echt net, wenn du mir hilftst!
 

Chrisliebär❤️

nur echt mit ❤️
Moderator
Registriert
19 Mai 2014
Beiträge
1.675
Diamanten
830
Dein Code ist einfach unlesbar. Viel zu viel Code, keine Kommentare und ein paar zweifelhafte Konstrukte, also ich hab keine Lust mich da einzulesen und ich denk mal so wird es anderen auch gehen. Ich versteh auch nicht wirklich dein Problem. Guck dir deinen Beitrag doch mal an, du hast da einen Haufen Quellcode reingeworfen und 2 Zeilen zu deinem Problem geschrieben. Einrückung ist auch Mist.

Protip: Shift + Ctrl + F (in Eclipse) formatiert deinen Code entsprechend der eingestellen Formatierungsregeln automatisch, würd ich mal empfehlen.

Jetzt gehste hin, machst das nochmal schön, verstehst bitte auch warum Einrückung wichtig ist und dann editierst du deinen ersten Post nochmal so, dass es klar ist was deine Frage ist, wo das Problem auftritt und was du geändert hast, damit es nicht auftritt (oder wie auch immer) dabei nimmst du Bezug auf die Zeilen in denen du etwas änderst. Es würd auch helfen, wenn du erklärst was du da überhaupt machst, von deinen 2 Zeilen klingt das so, als ob du da nen Duelmodus implementierst, es hilft aber, wenn du einfach erklärst was es tut.
 
Zuletzt bearbeitet:

Alphy

Miner
Registriert
20 Dezember 2013
Beiträge
167
Diamanten
0
Kommt irgendeine fehlermeldung oder ähnliches?

Nähmlich so auf anhieb kann ich es dir net sagen.

Eine möglichkeit währe, dass es die location gar net gibt und somit ne nullpointer rausgeworfen wird...

LG
Kronos197
 

Alphy

Miner
Registriert
20 Dezember 2013
Beiträge
167
Diamanten
0
Dein Code ist einfach unlesbar. Viel zu viel Code, keine Kommentare und ein paar zweifelhafte Konstrukte, also ich hab keine Lust mich da einzulesen und ich denk mal so wird es anderen auch gehen

JA, ich hatte da auch so meine problem ;)

Ich versteh auch nicht wirklich dein Problem. Guck dir deinen Beitrag doch mal an, du hast da einen Haufen Quellcode reingeworfen und 2 Zeilen zu deinem Problem geschrieben.

Das problem, kann man wirklich ein bisschen ausfürlicher beschreiben ;)
Auch wenn ich es so einigermaßen verstanden hab, dank dem titel

LG
Kronos197

Protip: Shift + Ctrl + F (in Eclipse) formatiert deinen Code entsprechend der eingestellen Formatierungsregeln automatisch, würd ich mal empfehlen.

Jetzt gehste hin, machst das nochmal schön, verstehst bitte auch warum Einrückung wichtig ist und dann editierst du deinen ersten Post nochmal so, dass es klar ist was deine Frage ist, wo das Problem auftritt und was du geändert hast, damit es nicht auftritt (oder wie auch immer) dabei nimmst du Bezug auf die Zeilen in denen du etwas änderst.

Da hast du vollkommen recht, ich würde sogar emphelen, es automatisch einrücken zu lassen wenn man speicchert, so hab ich es ;)
Und es hilft, auch wenn mitlerweile kaum noch was automatisch eingerückt wird ;)

LG
Kronos197
 

Chrisliebär❤️

nur echt mit ❤️
Moderator
Registriert
19 Mai 2014
Beiträge
1.675
Diamanten
830
Auch wenn ich es so einigermaßen verstanden hab, dank dem titel
Die Frage ist halt, wozu ich Zeit investieren soll den Code von anderen zu verstehen, wenn die anderen Hilfe suchen. Beim nächsten mal macht er es wieder falsch und dann investiert wieder jemand unnötige Zeit den Code zu verstehen. Wenn man kostenlose Hilfe erwartet, sollte man es den potenziellen Helfern möglichst einfach machen, das Problem zu verstehen und zu helfen.
 
V

Verschraubt

Guest
Hätte ne Vermutung, kann man aber dem Code nicht entnehmen.
scheduler = plugin.getServer().getScheduler().scheduleSyncRepeatingTask(plug

Du beendest die Scheduler wahrscheinlich. Da du aber eine synchrone Scheduler hast, wird das ein Problem.
Versuch mal, eine Async SCheduler draus zu machen :) Viel Glück, DasThema

Zitat von wiki.bukkit.org:
Synchrone Aufgaben
Wichtig ist: Wenn so ein Thread stoppt wird der ganze Server eingefroren.
 
Oben