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

PlayerRespawnEvent geht nicht.

CoredTV

Kuhfänger
Registriert
13 Oktober 2013
Beiträge
68
Diamanten
300
Hallo, Ich versuche nun schon seit 1 Stunde, dass ein Spieler nach einem Kill unsichtbarkeit kriegt und teleportiert wird. Irgendwie klappt das aber nicht.
Hier das PlayerrespawnEvent:

Code:
    @EventHandler
    public void onRespawn(PlayerRespawnEvent event) {
        final Player p = event.getPlayer();
        if (spec.contains(p)) {
          
    
           p.sendMessage("§7[§bSolo§7] §eDu wurdest getötet. Du bist nun im Spectator Modus."); 
          
           p.addPotionEffect(new PotionEffect(PotionEffectType.INVISIBILITY, 99,99));
          
          
          
             String w = this.getConfig().getString("spec.world");
             double x = getConfig().getDouble("spec.x");                         
             double y = getConfig().getDouble("spec.y");
             double z = getConfig().getDouble("spec.z");
             World world = Bukkit.getServer().getWorld(w);
             Location loc = new Location(world, x, y, z);
          
           event.setRespawnLocation(loc);
          
     
            }
        }

Der Spieler erhält beim Respawn zwar die Nachricht, aber er wird weder teleportiert, noch erhält er den PotionEffect, Habe es außerdem mit einem PlayerDeath Event versucht, das ganze war aber erfolglos.

MfG
Black
 

LordKaktus

Kuhfänger
Registriert
31 Dezember 2014
Beiträge
66
Diamanten
0
Vielleicht wäre es auch angebracht, den spieler unbesiegbar zu machen oder am besten in den spectator-gamemode zu setzen. Ich weiß nicht wofür der code ist, aber wenn der spieler lediglich unsichtbar ist, kann er ja noch immer einfluss auf das spiel haben
 

Inkemann

Braumeister
Registriert
3 Mai 2015
Beiträge
339
Diamanten
301
Minecraft
Inkemann
Das PlayerRespawnEvent wird ja direkt VOR dem eigentlichen Respawn ausgelöst, deswegen geht es nicht. Einen Scheduler zu benutzen wäre wohl sinnvoll. Das der Spieler nicht teleportiert wird könnte daran liegen, dass es die Welt zum Beispiel nicht gibt.
 

TestAccLolxd

Minecrafter
Registriert
27 Juni 2015
Beiträge
2
Alter
36
Diamanten
300
Nein. Ich denke, dass die Funktion einfach Buggy ist. Würdest du diese Respawnlocation allerdings mit einem Delay setzen, kriegste ne Exception. Dh: Scheduler starten und dann normal teleportieren nicht über e.setRespawnLocation
 

HardcorePvP

Kuhfänger
Registriert
3 September 2012
Beiträge
92
Diamanten
0
Minecraft
blooditor
Mach "event.setRespawnLocation" und die Werte dazu über den Potion-Effekt und wie gesagt dann den Effekt in einen Scheduler mit 10 ticks delay. Das Teleportieren funktioniert wahrscheinlich nicht, da der Code wegen dem Fehler mit dem Effekt abgebrochen wurde.
So sollte es aber dann funktionieren ;)
 
V

Victini151

Guest
Es kann auch sein, dass Plugins wie zB. "Essentials" (oder andere) in den Respawn-Prozess eingreifen und den Respawn-Ort entsprechend überschreiben. Versuch es mal am besten als einziges Plugin auf einem Test-Server. Wenn es dann mit der Teleportation klappt, liegt es sehr wahrscheinlich daran. In diesem Fall wäre eine gute Möglichkeit das schon zuvor angesprochene Nutzen des Bukkit-Scheduler für Teleportation und Effekt.
 
Oben