java类org.bukkit.event.player.PlayerRespawnEvent的实例源码

PlayerListener.java 文件源码 项目:Factoid 阅读 23 收藏 0 点赞 0 评论 0
@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);
    }
}
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);
        }
    }
}


问题


面经


文章

微信
公众号

扫码关注公众号