Помогите При смерти игрока возродить его в том-же мире, где он умер.

В чем вопрос? Или ты ждешь что тебе готовый код кинут?)
 
В чем вопрос? Или ты ждешь что тебе готовый код кинут?)
Нет, жду, когда объяснят, Вопрос:
Когда игрок умирает, мне нужно получить тот мир, где он умер, как это сделать?
p.getLocation() - возвращает мир в котором игрок возродился.
 
PlayerDeathEvent вызывается при смерти
PlayerRespawnEvent вызывается когда игрок нажимает кнопку respawn
 
Вернет тот мир, где игрок находится -> там, где он умер, проверь, тпешнись к умершему, тпешнит туда, где он умер
upload_2016-9-20_17-11-5.png

Тпшнит в мир по дефолту, хотя я тпшу свой мир.
 
ничего не изменилось, проверяю теперь не World, а world.getName();
Java:
      HashMap<Player, Location> hash = new HashMap<Player, Location>();
      @EventHandler
      public void onDeath(PlayerDeathEvent e) {
          if (!e.getEntity().hasPermission("rsdfsdf")) return;
          if (hash.containsKey(e.getEntity())) return;
          hash.put(e.getEntity(), e.getEntity().getLocation());
      }
      @EventHandler
      public void respawn(PlayerRespawnEvent e) {
          if (!e.getPlayer().hasPermission("rsdfsdf")) return;
          if (hash.containsKey(e.getPlayer())) return;
          e.setRespawnLocation(hash.get(e.getPlayer()));
          hash.remove(e.getPlayer());
      }
 
Можно и немного короче
Java:
private HashMap<Player, Location> map = new HashMap<Player, Location>();
@EventHandler
public void onDeath(PlayerDeathEvent e) {
    Player p = e.getEntity();
    if (p.hasPermission("rsdfsdf"))
        map.put(p, p.getLocation());
}
@EventHandler
public void respawn(PlayerRespawnEvent e) {
    Player   p   = e.getPlayer();
    Location loc = map.remove(p);
    if (loc != null && p.hasPermission("rsdfsdf"))
        e.setRespawnLocation(loc);
}
 
Поищи плагины на мультиспавн по мирам и мультихоме по мирам. Пруфит.
 
Назад
Верх