@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
// Must be after Essentials
public void onPlayerRespawn(PlayerRespawnEvent event) {
Player player = event.getPlayer();
IPlayerConfEntry entry = playerConf.get(player);
IDummyLand land = Factoid.getThisPlugin().iLands().getLandOrOutsideArea(
player.getLocation());
String strLoc;
Location loc;
// For repsawn after death
if (entry != null
&& land.checkPermissionAndInherit(player,
PermissionList.TP_DEATH.getPermissionType())
&& !(strLoc = land.getFlagAndInherit(
FlagList.SPAWN.getFlagType()).getValueString()).isEmpty()
&& (loc = StringChanges.stringToLocation(strLoc)) != null) {
event.setRespawnLocation(loc);
}
}
java类org.bukkit.event.player.PlayerRespawnEvent的实例源码
PlayerListener.java 文件源码
项目:Factoid
阅读 23
收藏 0
点赞 0
评论 0
SiegingListener.java 文件源码
项目:societies
阅读 32
收藏 0
点赞 0
评论 0
@EventHandler(priority = EventPriority.HIGHEST)
public void modifyPlayerRespawn(PlayerRespawnEvent event) {
Member member = getMember(event.getPlayer());
Besieger besieger = getBesieger(member);
if (besieger != null) {
Optional<Siege> siege = siegeController.getSiegeByAttacker(besieger);
if (!siege.isPresent()) {
return;
}
if (siege.get().isStarted()) {
event.setRespawnLocation(siege.get().getLocationInitiated().toBukkit());
member.send("siege.respawn-siegestone");
}
}
}
EntityDeathRespawnListener.java 文件源码
项目:Bukkit-DropProtect
阅读 29
收藏 0
点赞 0
评论 0
@EventHandler(priority=EventPriority.HIGHEST)
public void onPlayerRespawn(PlayerRespawnEvent event) {
Player player = event.getPlayer();
String playerName = player.getName();
ProtectedItemsSnapshot protectedItemsSnapshot = playerItemSnapshots.get(playerName);
// if we have an inventory snapshot for this player
if (protectedItemsSnapshot != null) {
// merge the snapshot into the player's inventory, dropping overflow items at the respawn location
protectedItemsSnapshot.mergeIntoPlayerInventory(player, event.getRespawnLocation());
if (protectedItemsSnapshot.hasNonEmptyItems()) {
player.sendMessage("[" + ChatColor.GREEN + "DropProtect" + ChatColor.RESET + "] Inventory restored. Type /dropprotect for details.");
}
// remove the snapshot since it has now been applied
playerItemSnapshots.remove(playerName);
}
}
PlayerManager.java 文件源码
项目:5min2live
阅读 20
收藏 0
点赞 0
评论 0
@EventHandler
public void onPlayerRespawn(final PlayerRespawnEvent event) {
final Player player = event.getPlayer();
logDebug("Player " + player.getName() + " respawned");
if (inFmtl(player)) {
event.setRespawnLocation(fmtl.getData().getExitLocation(player));
// fmtl.getData().loadPlayerStats(player);
Bukkit.getServer().getScheduler().runTask(fmtl, new Runnable() {
@Override
public void run() {
fmtl.getData().loadPlayerStats(player);
}
});
}
// if (players.isEmpty()) {
// // worldManager.resetWorld();
// }
}
PlayerEvents.java 文件源码
项目:askyblock
阅读 24
收藏 0
点赞 0
评论 0
/**
* Places player back on their island if the setting is true
* @param e
*/
@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);
}
}
}
}
PlayerListener.java 文件源码
项目:Annihilation
阅读 20
收藏 0
点赞 0
评论 0
@EventHandler
public void onPlayerRespawn(PlayerRespawnEvent e) {
Player player = e.getPlayer();
PlayerMeta meta = PlayerMeta.getMeta(player);
if (meta.isAlive()) {
if (kitsToGive.containsKey(e.getPlayer().getName())) {
meta.setKit(kitsToGive.get(e.getPlayer().getName()));
kitsToGive.remove(e.getPlayer().getName());
}
e.setRespawnLocation(meta.getTeam().getRandomSpawn());
meta.getKit().give(player, meta.getTeam());
} else {
e.setRespawnLocation(plugin.getMapManager().getLobbySpawnPoint());
ItemStack selector = new ItemStack(Material.FEATHER);
ItemMeta itemMeta = selector.getItemMeta();
itemMeta.setDisplayName(ChatColor.AQUA
+ "Right click to select class");
selector.setItemMeta(itemMeta);
player.getInventory().setItem(0, selector);
}
}
PlayerEventHandler.java 文件源码
项目:PopulationDensity
阅读 29
收藏 0
点赞 0
评论 0
@EventHandler(ignoreCancelled = true)
public void onPlayerRespawn(PlayerRespawnEvent e) {
if (!ConfigData.respawnInHomeRegion)
return;
Player player = e.getPlayer();
// if it's NOT a bed respawn, redirect it to the player's home region
// this keeps players near where they live, even when they die (haha)
if (e.isBedSpawn())
return;
PlayerData playerData = PlayerHelper.getPlayerData(player.getName());
// find the center of his home region
Location homeRegionCenter = playerData.homeRegion.getCenter();
// aim for two blocks above the highest block and teleport
homeRegionCenter.setY(homeRegionCenter.getWorld().getHighestBlockYAt(homeRegionCenter) + 2);
e.setRespawnLocation(homeRegionCenter);
}
CustomPlugin.java 文件源码
项目:DDCustomPlugin
阅读 21
收藏 0
点赞 0
评论 0
@EventHandler
public void onPlayerRespawnEvent(PlayerRespawnEvent event) {
if (event.getPlayer().getName().equals("Esaych")) {
PlayerInventory eInv = event.getPlayer().getInventory();
if (eInv.getHelmet() != null)
return;
if (eInv.getChestplate() != null)
return;
if (eInv.getLeggings() != null)
return;
if (eInv.getBoots() != null)
return;
eInv.setHelmet(new ItemStack(Material.LEATHER_HELMET));
eInv.setChestplate(new ItemStack(Material.LEATHER_CHESTPLATE));
eInv.setLeggings(new ItemStack(Material.LEATHER_LEGGINGS));
eInv.setBoots(new ItemStack(Material.LEATHER_BOOTS));
PlayerInventory inv = event.getPlayer().getInventory();
colorize(inv.getHelmet(), 47, 0, 111);
colorize(inv.getChestplate(), 47, 0, 111);
colorize(inv.getLeggings(), 47, 0, 111);
colorize(inv.getBoots(), 47, 0, 111);
}
}
PlayerListener.java 文件源码
项目:AlmuraForgeBridge
阅读 23
收藏 0
点赞 0
评论 0
@EventHandler(priority = EventPriority.HIGHEST)
public void onPlayerRespawn(final PlayerRespawnEvent event) {
Bukkit.getScheduler().scheduleSyncDelayedTask(BridgePlugin.getInstance(), new Runnable() {
@Override
public void run() {
final ClaimedResidence res = Residence.getResidenceManager().getByLoc(event.getPlayer().getLocation());
ServerWorldUtil.sendResidenceInfo(event.getPlayer(), res);
// Send Title
for (Player player : Bukkit.getServer().getOnlinePlayers()) {
ServerWorldUtil.sendAdditionalWorldInfo(player, player.getWorld().getName(), Bukkit.getOnlinePlayers().size(), Bukkit.getMaxPlayers());
TitleUtil.sendDisplayName(player, event.getPlayer().getName(), ChatColor.stripColor(event.getPlayer().getDisplayName()) + "\n" + TitleUtil.getCustomTitle(event.getPlayer()));
TitleUtil.sendDisplayName(event.getPlayer(), player.getName(), ChatColor.stripColor(player.getDisplayName()) + "\n" + TitleUtil.getCustomTitle(player));
}
}
}, 20L);
EconUtil.sendCurrencyAmount(event.getPlayer(), EconUtil.economy.getBalance(event.getPlayer().getName()));
}
QuestItemHandler.java 文件源码
项目:BetonQuest
阅读 25
收藏 0
点赞 0
评论 0
@EventHandler(priority = EventPriority.HIGHEST)
public void onRespawn(PlayerRespawnEvent event) {
if (Config.getString("config.remove_items_after_respawn").equals("false"))
return;
// some plugins block item dropping after death and add those
// items after respawning, so the player doesn't loose his
// inventory after death; this aims to force removing quest
// items, as they have been added to the backpack already
if (event.getPlayer().getGameMode() == GameMode.CREATIVE)
return;
Inventory inv = event.getPlayer().getInventory();
for (int i = 0; i < inv.getSize(); i++) {
if (Utils.isQuestItem(inv.getItem(i))) {
inv.setItem(i, null);
}
}
}