ServerPlugin PlayerDeathEvent

Dieses Thema im Forum "Programmierung" wurde erstellt von LordKaktus, 17. Januar 2015.

  1. LordKaktus
    Offline

    LordKaktus

    Registriert seit:
    31. Dezember 2014
    Beiträge:
    66
    Ich habe ein Problem mit dem PlayerDeathEvent. Ich möchte beim sterben eines Players die Location des Todespunktes in eine Hashmap(hmdeathplayers) ablegen. Diese Location will ich beim PlayerRespawnEvent auslesen und als neue location setzen. Ich bekomme keinen Fehler, allerdings scheint die Loction, die ich beim PlayerDeathEvent abgreife die RespawnLocation anstatt der DeathLocation zu sein.

    Code (Text):
    1.     @EventHandler
    2.     public void onPlayerDeath(PlayerDeathEvent death){
    3.         Player p = death.getEntity();
    4.         if(plugin.hmTeamBlau.containsKey(p)){
    5.             plugin.hmTeamBlau.put(p, "deathcode67435");
    6.             plugin.hmdeathplayers.put(p, p.getLocation());
    7.         }
    8.         if(plugin.hmTeamRot.containsKey(p)){
    9.             plugin.hmTeamRot.put(p, "deathcode67435");
    10.             plugin.hmdeathplayers.put(p, p.getLocation());
    11.         }
    12.     }
    13.    
    14.     @EventHandler
    15.     public void onPlayerReSpawn(PlayerRespawnEvent respawn){
    16.         Player p = respawn.getPlayer();
    17.         if (plugin.hmTeamBlau.get(p) == "deathcode67435" | plugin.hmTeamRot.get(p) == "deathcode67435"){
    18.             p.teleport(plugin.hmdeathplayers.get(p));
    19.             p.setGameMode(GameMode.SPECTATOR);
    20.         }
    21.     }

    Die Frage ist jetzt ob ich beim EntityDamageEvent das Leben abfrage und if<0 die location abspeichere, oder es ggf eine anderes Pre-Event gibt?
     
    #1
  2. MiCrJonas
    Offline

    MiCrJonas

    Registriert seit:
    29. Oktober 2012
    Beiträge:
    1.069
    #2
    LordKaktus gefällt das.
  3. LordKaktus
    Offline

    LordKaktus

    Registriert seit:
    31. Dezember 2014
    Beiträge:
    66
    Okay Problem bestand darin, dass der spieler nach dem teleport noch zur respawnlocation geportet wurde und deshalb der eindruck endstand, dass die location falsch wäre.

    Danke dir Jonas!

    *Solved*
     
    #3