org.bukkit.event.player.PlayerExpChangeEvent#getPlayer ( )源码实例Demo

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

源代码1 项目: IridiumSkyblock   文件: PlayerExpChangeListener.java
@EventHandler
public void onPlayerExpChange(PlayerExpChangeEvent event) {
    try {
        final Player player = event.getPlayer();
        final Location location = player.getLocation();
        final IslandManager islandManager = IridiumSkyblock.getIslandManager();
        if (!islandManager.isIslandWorld(location)) return;

        final User user = User.getUser(player);
        final Island island = user.getIsland();
        if (island == null) return;

        for (Mission mission : IridiumSkyblock.getMissions().missions) {
            final Map<String, Integer> levels = island.getMissionLevels();
            levels.putIfAbsent(mission.name, 1);

            final MissionData level = mission.levels.get(levels.get(mission.name));
            if (level.type == MissionType.EXPERIENCE)
                island.addMission(mission.name, event.getAmount());
        }
    } catch (Exception e) {
        IridiumSkyblock.getInstance().sendErrorMessage(e);
    }
}
 
源代码2 项目: Statz   文件: XPGainedListener.java
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onXPGain(final PlayerExpChangeEvent event) {

    final PlayerStat stat = PlayerStat.XP_GAINED;

    // Get player
    final Player player = event.getPlayer();

    // Do general check
    if (!plugin.doGeneralCheck(player, stat))
        return;

    // Update value to new stat.
    plugin.getDataManager().setPlayerInfo(player.getUniqueId(), stat,
            new XPGainedSpecification(player.getUniqueId(), event.getAmount(), player.getWorld().getName())
                    .constructQuery());

}