org.bukkit.event.player.PlayerRespawnEvent#setRespawnLocation ( )源码实例Demo

下面列出了org.bukkit.event.player.PlayerRespawnEvent#setRespawnLocation ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: Civs   文件: DeathListener.java
@EventHandler
public void onPlayerRespawn(PlayerRespawnEvent event) {
    final Player player = event.getPlayer();
    final Civilian civilian = CivilianManager.getInstance().getCivilian(player.getUniqueId());
    Location respawnLocation = civilian.getRespawnPoint();
    if (respawnLocation == null) {
        return;
    }

    if (ConfigManager.getInstance().getUseStarterBook()) {
        Bukkit.getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), new Runnable() {
            @Override
            public void run() {
                player.getInventory().addItem(Util.createStarterBook(civilian.getLocale()));
            }
        }, 5L);
    }
    event.setRespawnLocation(respawnLocation);
    civilian.setRespawnPoint(null);
    CivilianManager.getInstance().saveCivilian(civilian);
}
 
源代码2 项目: AnnihilationPro   文件: GameListeners.java
@EventHandler(priority=EventPriority.HIGHEST,ignoreCancelled = true)
public void respawnHandler(PlayerRespawnEvent event)
{
	final Player player = event.getPlayer();
	final AnniPlayer p = AnniPlayer.getPlayer(player.getUniqueId());
	if(p != null)
	{
		if(Game.isGameRunning())
		{
			if(p.getTeam() != null && !p.getTeam().isTeamDead())
			{
				event.setRespawnLocation(p.getTeam().getRandomSpawn());
				p.getKit().onPlayerSpawn(player);
				return;
			}
		}
		if(Game.LobbyMap != null && Game.LobbyMap.getSpawn() != null)
			event.setRespawnLocation(Game.LobbyMap.getSpawn());  //Set people to respawn in the lobby
	}
}
 
源代码3 项目: BedwarsRel   文件: PlayerListener.java
@EventHandler(priority = EventPriority.HIGHEST)
public void onPlayerRespawn(PlayerRespawnEvent pre) {
  Player p = pre.getPlayer();
  Game game = BedwarsRel.getInstance().getGameManager().getGameOfPlayer(p);

  if (game == null) {
    return;
  }

  if (game.getState() == GameState.RUNNING) {
    game.getCycle().onPlayerRespawn(pre, p);
    return;
  }

  if (game.getState() == GameState.WAITING) {
    pre.setRespawnLocation(game.getLobby());
  }
}
 
源代码4 项目: BetonQuest   文件: RespawnObjective.java
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onRespawn(PlayerRespawnEvent event) {
    String playerID = PlayerConverter.getID(event.getPlayer());
    if (containsPlayer(playerID) && checkConditions(playerID)) {

        if (location != null) {
            try {
                event.setRespawnLocation(location.getLocation(playerID));
            } catch (QuestRuntimeException e) {
                LogUtils.getLogger().log(Level.WARNING, "Error while handling '" + instruction.getID() + "' objective: \" + e.getMessage()");
                LogUtils.logThrowable(e);
            }
        }
        completeObjective(playerID);
    }
}
 
源代码5 项目: civcraft   文件: ArenaListener.java
@EventHandler(priority = EventPriority.HIGHEST)
public void onPlayerRespawn(PlayerRespawnEvent event) {
	Resident resident = CivGlobal.getResident(event.getPlayer());
	
	if (!resident.isInsideArena()) {
		return;
	}
	
	Arena arena = resident.getCurrentArena();
	if (arena == null) {
		return;
	}
	
	Location loc = arena.getRespawnLocation(resident);
	if (loc != null) {
		CivMessage.send(resident, CivColor.LightGray+"Respawned in arena.");
		World world = Bukkit.getWorld(arena.getInstanceName());
		loc.setWorld(world);
		
		resident.setLastKilledTime(new Date());
		event.setRespawnLocation(loc);
	}
}
 
源代码6 项目: askyblock   文件: PlayerEvents.java
/**
 * Places player back on their island if the setting is true
 * @param e - event
 */
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onPlayerRespawn(final PlayerRespawnEvent e) {
    if (DEBUG) {
        plugin.getLogger().info(e.getEventName());
    }
    if (!Settings.respawnOnIsland) {
        return;
    }
    if (respawn.contains(e.getPlayer().getUniqueId())) {
        respawn.remove(e.getPlayer().getUniqueId());
        Location respawnLocation = plugin.getGrid().getSafeHomeLocation(e.getPlayer().getUniqueId(), 1);
        if (respawnLocation != null) {
            //plugin.getLogger().info("DEBUG: Setting respawn location to " + respawnLocation);
            e.setRespawnLocation(respawnLocation);
            // Get island
            Island island = plugin.getGrid().getIslandAt(respawnLocation);
            if (island != null) {
                // Run perms etc.
                processPerms(e.getPlayer(), island);
            }
        }
    }
}
 
源代码7 项目: WildernessTp   文件: PlayRespawnEvent.java
@EventHandler
public void on(PlayerRespawnEvent e) {
    if (e.isBedSpawn() || e.getPlayer().getBedLocation() != null) {
        return;
    }

    if (e.getPlayer().hasPermission("wild.wildtp.respawn.except")) {
        return;
    }

    e.setRespawnLocation(loc.getRandomLoc(loc.getWorldInformation(e.getPlayer().getLocation()), e.getPlayer()));
}
 
@EventHandler(ignoreCancelled = true)
public void onPlayerRespawnEvent(PlayerRespawnEvent event)
{
	Player player = event.getPlayer();
	
	ApplicableRegionSet regions = this.plugin.getWorldGuardCommunicator().getRegionContainer().createQuery().getApplicableRegions(player.getLocation());
	
	Object respawnLocation = WorldGuardUtils.queryValueUnchecked(player, player.getWorld(), regions.getRegions(), Flags.RESPAWN_LOCATION);
	if (respawnLocation != null)
	{
		event.setRespawnLocation(WorldEditUtils.toLocation(respawnLocation));
	}
}
 
源代码9 项目: uSkyBlock   文件: PlayerEvents.java
@EventHandler(priority = EventPriority.HIGHEST)
public void onPlayerRespawn(PlayerRespawnEvent event) {
    if (Settings.extras_sendToSpawn) {
        return;
    }
    if (plugin.getWorldManager().isSkyWorld(event.getPlayer().getWorld())) {
        event.setRespawnLocation(plugin.getWorldManager().getWorld().getSpawnLocation());
    }
}
 
源代码10 项目: civcraft   文件: PlayerListener.java
@EventHandler(priority = EventPriority.HIGHEST)
public void onPlayerRespawn(PlayerRespawnEvent event) {
	
	Player player = event.getPlayer();
	Resident resident = CivGlobal.getResident(player);
	if (resident == null || !resident.hasTown()) {
		return;
	}
	
	if (War.isWarTime() && !resident.isInsideArena()) {
		if (resident.getTown().getCiv().getDiplomacyManager().isAtWar()) {
			//TownHall townhall = resident.getTown().getTownHall();
			Capitol capitol = resident.getCiv().getCapitolStructure();
			if (capitol != null) {
				BlockCoord respawn = capitol.getRandomRespawnPoint();
				if (respawn != null) {
					//PlayerReviveTask reviveTask = new PlayerReviveTask(player, townhall.getRespawnTime(), townhall, event.getRespawnLocation());
					resident.setLastKilledTime(new Date());
					event.setRespawnLocation(respawn.getCenteredLocation());
					CivMessage.send(player, CivColor.LightGray+"You've respawned in the War Room since it's WarTime and you're at war.");
					
					//TaskMaster.asyncTask("", reviveTask, 0);
				}
			}
		}
	}
	
}
 
源代码11 项目: FunnyGuilds   文件: PlayerRespawn.java
@EventHandler(priority = EventPriority.HIGHEST)
public void onRespawn(final PlayerRespawnEvent event) {
    PluginConfiguration config = FunnyGuilds.getInstance().getPluginConfiguration();
    Player player = event.getPlayer();
    User user = User.get(player);

    if (! user.hasGuild()) {
        return;
    }

    Location home = user.getGuild().getHome();

    if (home == null) {
        return;
    }

    event.setRespawnLocation(home);

    if (config.createEntityType == null) {
        return;
    }

    Bukkit.getScheduler().runTaskAsynchronously(FunnyGuilds.getInstance(),  () -> {
        Region guildRegion = RegionUtils.getAt(home);

        if (guildRegion == null) {
            return;
        }

        Guild guild = guildRegion.getGuild();
        GuildEntityHelper.spawnGuildHeart(guild, player);
    });
}
 
源代码12 项目: CardinalPGM   文件: RespawnModule.java
@EventHandler
public void onMinecraftRespawn(PlayerRespawnEvent event) {
    CardinalSpawnEvent spawnEvent = new CardinalSpawnEvent(event.getPlayer(), Teams.getTeamByPlayer(event.getPlayer()).orNull());
    Bukkit.getServer().getPluginManager().callEvent(spawnEvent);
    if (!spawnEvent.isCancelled()) {
        event.setRespawnLocation(spawnEvent.getSpawn().getLocation());
    }
}
 
源代码13 项目: AuthMeReloaded   文件: PlayerListener.java
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGHEST)
public void onPlayerRespawn(PlayerRespawnEvent event) {
    if (settings.getProperty(RestrictionSettings.NO_TELEPORT)) {
        return;
    }
    if (!listenerService.shouldCancelEvent(event)) {
        return;
    }
    Location spawn = spawnLoader.getSpawnLocation(event.getPlayer());
    if (spawn != null && spawn.getWorld() != null) {
        event.setRespawnLocation(spawn);
    }
}
 
源代码14 项目: VoxelGamesLibv2   文件: SpawnFeature.java
@SuppressWarnings("JavaDoc")
@GameEvent
public void onRespawn(@Nonnull PlayerRespawnEvent e) {
    e.setRespawnLocation(getSpawn(e.getPlayer().getUniqueId()));
}
 
源代码15 项目: BedwarsRel   文件: GameCycle.java
public void onPlayerRespawn(PlayerRespawnEvent pre, Player player) {
  Team team = this.getGame().getPlayerTeam(player);

  // reset damager
  this.getGame().setPlayerDamager(player, null);

  if (this.getGame().isSpectator(player)) {
    Collection<Team> teams = this.getGame().getTeams().values();
    pre.setRespawnLocation(
        ((Team) teams.toArray()[Utils.randInt(0, teams.size() - 1)]).getSpawnLocation());
    return;
  }

  if (team.isDead(this.getGame())) {
    PlayerStorage storage = this.getGame().getPlayerStorage(player);

    if (BedwarsRel.getInstance().statisticsEnabled()) {
      PlayerStatistic statistic =
          BedwarsRel.getInstance().getPlayerStatisticManager().getStatistic(player);
      statistic.setCurrentLoses(statistic.getCurrentLoses() + 1);
    }

    if (BedwarsRel.getInstance().spectationEnabled()) {
      if (storage != null && storage.getLeft() != null) {
        pre.setRespawnLocation(team.getSpawnLocation());
      }

      this.getGame().toSpectator(player);
    } else {
      if (this.game.getCycle() instanceof BungeeGameCycle) {
        this.getGame().playerLeave(player, false);
        return;
      }

      if (!BedwarsRel.getInstance().toMainLobby()) {
        if (storage != null) {
          if (storage.getLeft() != null) {
            pre.setRespawnLocation(storage.getLeft());
          }
        }
      } else {
        if (this.getGame().getMainLobby() != null) {
          pre.setRespawnLocation(this.getGame().getMainLobby());
        } else {
          if (storage != null) {
            if (storage.getLeft() != null) {
              pre.setRespawnLocation(storage.getLeft());
            }
          }
        }
      }

      this.getGame().playerLeave(player, false);
    }

  } else {
    if (BedwarsRel.getInstance().getRespawnProtectionTime() > 0) {
      RespawnProtectionRunnable protection = this.getGame().addProtection(player);
      protection.runProtection();
    }
    pre.setRespawnLocation(team.getSpawnLocation());
  }

  new BukkitRunnable() {

    @Override
    public void run() {
      GameCycle.this.checkGameOver();
    }
  }.runTaskLater(BedwarsRel.getInstance(), 20L);

}
 
源代码16 项目: DungeonsXL   文件: DPlayerListener.java
@EventHandler
public void onPlayerRespawn(PlayerRespawnEvent event) {
    Player player = event.getPlayer();
    if (isCitizensNPC(player)) {
        return;
    }

    GlobalPlayer dPlayer = dPlayers.get(player);
    if (dPlayer == null) {
        return;
    }

    if (dPlayer instanceof EditPlayer) {
        EditWorld editWorld = ((EditPlayer) dPlayer).getEditWorld();
        if (editWorld == null) {
            return;
        }

        if (editWorld.getLobbyLocation() == null) {
            event.setRespawnLocation(editWorld.getWorld().getSpawnLocation());

        } else {
            event.setRespawnLocation(editWorld.getLobbyLocation());
        }

    } else if (dPlayer instanceof GamePlayer) {
        GamePlayer gamePlayer = (GamePlayer) dPlayer;

        GameWorld gameWorld = gamePlayer.getGameWorld();
        if (gameWorld == null) {
            return;
        }

        PlayerGroup group = dPlayer.getGroup();

        Location respawn = gamePlayer.getLastCheckpoint();

        if (respawn == null) {
            respawn = group.getGameWorld().getStartLocation(group);
        }

        boolean shouldResetInventory = gamePlayer.getGameWorld().getDungeon().getRules().getState(GameRule.RESET_CLASS_INVENTORY_ON_RESPAWN);

        // Because some plugins set another respawn point, DXL teleports a few ticks later.
        event.setRespawnLocation(respawn);
        new RespawnTask(player, gamePlayer, respawn, shouldResetInventory).runTaskLater(plugin, 10L);

        // Don't forget Doge!
        if (gamePlayer.getWolf() != null) {
            gamePlayer.getWolf().teleport(respawn);
        }
    }
}