Solved PlayerRespawnEvent

Discussion in 'Plugin Development' started by Wantsome909, Aug 19, 2013.

Thread Status:
Not open for further replies.
  1. Offline

    Wantsome909

    Hello everyone. The problem i'm having is when i die i want to tele-port. But it never works it always put them right back to spawn. i don't have a spawn plugin or essentials. it work before, now it doesn't!

    Here Code:
    Code:java
    1. @EventHandler(priority=EventPriority.NORMAL)
    2. public void onPlayerRespawn(PlayerRespawnEvent e){
    3. Player p = e.getPlayer();
    4. final Random r = new Random();
    5. final int spawn = r.nextInt(12);
    6. if(spawn == 1){
    7. p.teleport(new Location(p.getWorld(), -451, 76, -112));
    8. //more
    9. }
    10. if(spawn == 2){
    11. p.teleport(new Location(p.getWorld(), -361, 70, -494));
    12. //more
    13. }


    all help will be appreciated!
     
  2. Offline

    chasechocolate

    Teleport the player in a delayed task (set to 1 tick).
     
  3. Offline

    Wantsome909

    chasechocolate

    Like...
    Code:java
    1. new BukkitRunnable(){
    2. @Override
    3. public void run() {
    4. p.teleport(new Location(p.getWorld(), -451, 76, -112));
    5. }
    6. }.runTaskLater(PlayerListener.plugin, 1);
     
  4. Offline

    chasechocolate

    Wantsome909 yeah. You could also try event.setRespawnLocation(), but I've had some troubles with that.
     
  5. Offline

    Wantsome909

    chasechocolate ok... thanks ill test it out!

    chasechocolate
    I tryed it but it didn't work it still put me back at spawn...

    didn't work
    Code:java
    1. @EventHandler(priority=EventPriority.NORMAL)
    2. public void onPlayerRespawn(PlayerRespawnEvent e){
    3. final Player p = e.getPlayer();
    4. final Random r = new Random();
    5. final int spawn = r.nextInt(2);
    6. if(spawn == 1){
    7. new BukkitRunnable(){
    8. @Override
    9. public void run() {
    10. p.teleport(new Location(p.getWorld(), -451, 76, -112));
    11. //more
    12. }
    13. }.runTaskLater(PlayerListener.plugin, 1);
    14. }
    15. }


    i tryed this too but it not mulitable spawns

    work
    Code:java
    1. @EventHandler(priority=EventPriority.NORMAL)
    2. public void onPlayerRespawn(PlayerRespawnEvent e){
    3. final Player p = e.getPlayer();
    4. new BukkitRunnable(){
    5. @Override
    6. public void run() {
    7. p.teleport(new Location(p.getWorld(), -451, 76, -112));
    8. //more
    9. }.runTaskLater(PlayerListener.plugin, 1);
    10. }
    11. }


    chasechocolate I think it got it thanks alots!

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 3, 2016
Thread Status:
Not open for further replies.

Share This Page