当前位置: 首页>>代码示例>>Java>>正文


Java PlayerQuitEvent类代码示例

本文整理汇总了Java中org.bukkit.event.player.PlayerQuitEvent的典型用法代码示例。如果您正苦于以下问题:Java PlayerQuitEvent类的具体用法?Java PlayerQuitEvent怎么用?Java PlayerQuitEvent使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


PlayerQuitEvent类属于org.bukkit.event.player包,在下文中一共展示了PlayerQuitEvent类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: onQuit

import org.bukkit.event.player.PlayerQuitEvent; //导入依赖的package包/类
@EventHandler(priority = EventPriority.LOWEST)
public void onQuit(PlayerQuitEvent event) {
    if ((teamManagerModule.getTeam(event.getPlayer()) != null && teamManagerModule.getTeam(event.getPlayer()).isSpectator())) return;
    updateScoreboardTeamLine(teamManagerModule.getTeam(event.getPlayer()), getAlivePlayers(teamManagerModule.getTeam(event.getPlayer())).size() - 1);

    if (!TGM.get().getMatchManager().getMatch().getMatchStatus().equals(MatchStatus.MID)) return;

    if (lastTeamAlive()) {
        MatchTeam winnerTeam = teamManagerModule.getTeams().stream().filter(matchTeam -> !matchTeam.isSpectator()).filter(matchTeam -> getAlivePlayers(matchTeam).size() > 0).findFirst().get();
        if (winnerTeam == null) {
            winnerTeam = teamManagerModule.getTeams().get(1);
        }
        TGM.get().getMatchManager().endMatch(winnerTeam);
        return;
    }
}
 
开发者ID:WarzoneMC,项目名称:Warzone,代码行数:17,代码来源:BlitzModule.java

示例2: ensureSetup

import org.bukkit.event.player.PlayerQuitEvent; //导入依赖的package包/类
private static void ensureSetup() {
    if (SETUP.get()) {
        return;
    }

    if (!SETUP.getAndSet(true)) {

        // remove player metadata when they leave the server
        Events.subscribe(PlayerQuitEvent.class, EventPriority.MONITOR)
                .handler(e -> StandardMetadataRegistries.PLAYER.remove(e.getPlayer().getUniqueId()));

        // cache housekeeping task
        Scheduler.builder()
                .async()
                .afterAndEvery(1, TimeUnit.MINUTES)
                .run(() -> {
                    for (MetadataRegistry<?> registry : StandardMetadataRegistries.values()) {
                        registry.cleanup();
                    }
                });
    }
}
 
开发者ID:lucko,项目名称:helper,代码行数:23,代码来源:Metadata.java

示例3: handlePlayerQuit

import org.bukkit.event.player.PlayerQuitEvent; //导入依赖的package包/类
private void handlePlayerQuit(PlayerQuitEvent event) {
    Player player = event.getPlayer();

    teams.values().forEach(t -> {
        t.unsubscribe(player, true);
        t.removePlayer(player);
    });
    objectives.values().forEach(o -> o.unsubscribe(player, true));

    Map<String, PacketScoreboardObjective> playerObjectives = this.playerObjectives.remove(player.getUniqueId());
    if (playerObjectives != null) {
        playerObjectives.values().forEach(o -> o.unsubscribe(player, true));
    }

    Map<String, PacketScoreboardTeam> playerTeams = this.playerTeams.remove(player.getUniqueId());
    if (playerTeams != null) {
        playerTeams.values().forEach(t -> {
            t.unsubscribe(player, true);
            t.removePlayer(player);
        });
    }
}
 
开发者ID:lucko,项目名称:helper,代码行数:23,代码来源:PacketScoreboard.java

示例4: playerLeave

import org.bukkit.event.player.PlayerQuitEvent; //导入依赖的package包/类
@EventHandler
public void playerLeave(PlayerQuitEvent event){
	event.setQuitMessage("");
	VPPlayer player = getPlayer(event.getPlayer());
	player.setMenu(null);
	VPPLeaveEvent e = new  VPPLeaveEvent(player);
	if(getMsgPerm().has(player))
		e.setMessage(leave);
	e.save(player.save());
	player.setOffline();
	Bukkit.getServer().getPluginManager().callEvent(e);
	//TODO send removed event
	if(e.getMessage() != null)
		e.getMessage().addSReplacement(PlaceH.SENDER.get(), player).send();
	if(e.save())
		save(player, false);
}
 
开发者ID:dracnis,项目名称:VanillaPlus,代码行数:18,代码来源:PlayerManager.java

示例5: onQuit

import org.bukkit.event.player.PlayerQuitEvent; //导入依赖的package包/类
@EventHandler
public void onQuit(PlayerQuitEvent event) {
	// Removing Speed Miner effect
	if(speedMiner.get(event.getPlayer().getName()) != null) {
		speedMiner.get(event.getPlayer().getName()).removeEnchantment(Enchantment.DIG_SPEED);
		event.getPlayer().removePotionEffect(PotionEffectType.FAST_DIGGING);
		event.getPlayer().removePotionEffect(PotionEffectType.SPEED);
		speedMiner.remove(event.getPlayer().getName());
	}
	// Removing Rainbow Miner effect
	if(rainbowMiner.get(event.getPlayer().getName()) != null) {
		rainbowMiner.get(event.getPlayer().getName()).removeEnchantment(Enchantment.LOOT_BONUS_BLOCKS);
		event.getPlayer().removePotionEffect(PotionEffectType.FAST_DIGGING);
		rainbowMiner.remove(event.getPlayer().getName());
	}
	// Removing Diamond Miner effect
	if(diamondMiner.get(event.getPlayer().getName()) != null) {
		diamondMiner.remove(event.getPlayer().getName());
	}
	// Quiting challenge in case player is doing it
	if(plugin.getChallenges().getChallenge(event.getPlayer()) > 0){
		plugin.getChallenges().quitChallenge(event.getPlayer());
	}
	plugin.getPlayerManager().saveData(event.getPlayer());
}
 
开发者ID:benNek,项目名称:AsgardAscension,代码行数:26,代码来源:PlayerListener.java

示例6: onQuit

import org.bukkit.event.player.PlayerQuitEvent; //导入依赖的package包/类
@EventHandler
public void onQuit(PlayerQuitEvent e) {
    Player p = e.getPlayer();
    if (FakeAPI.getFakeEntities().containsKey(p.getName())) {
        PlayerFakeUtil.unFollowPlayer(p);
        PlayerFakeUtil.normalizeLook(p);
        PlayerFakeUtil.cancelAllSplittedTasks(p);

        ArmorstandFakeUtil.unFollowArmorstand(p);
        ArmorstandFakeUtil.cancelAllSplittedTasks(p);

        EndercrystalFakeUtil.cancelAllSplittedTasks(p);

        MobFakeUtil.unFollowPlayer(p);
        MobFakeUtil.normalizeLook(p);
        MobFakeUtil.cancelAllSplittedTasks(p);

        BigItemFakeUtil.cancelAllSplittedTasks(p);

        FakeAPI.getFakeEntities().remove(p.getName());
    }
}
 
开发者ID:AlphaHelixDev,项目名称:AlphaLibary,代码行数:23,代码来源:FakeEventListener.java

示例7: onPlayerQuit

import org.bukkit.event.player.PlayerQuitEvent; //导入依赖的package包/类
@EventHandler
public void onPlayerQuit(PlayerQuitEvent event) {
	event.setQuitMessage(null);
	if (SurvivalGames.getWinner() != null)
		return;
	
	Player p = event.getPlayer();
	Gamer t = Gamer.get(event.getPlayer());
	
	if (!Game.getTributes().contains(t))
		return;

	Hive.getInstance().kill(p, "quit", SurvivalGames.getGame().getGameID());
	t.setVariable("death-location", event.getPlayer().getLocation());
	Chat.server("&4[SG &6" + Gamer.get(p).getPrefix()  + t.getName() + " &6has quit the game!");
	Chat.server("&4[SG] &6There are " + (Game.getTributes().size() - 1) + " tributes remaining");
}
 
开发者ID:thekeenant,项目名称:mczone,代码行数:18,代码来源:GameEvents.java

示例8: onPlayerLogout

import org.bukkit.event.player.PlayerQuitEvent; //导入依赖的package包/类
@EventHandler
public void onPlayerLogout (PlayerQuitEvent event)
{
    Player eventPlayer = event.getPlayer ();

    PlayerManager.Instance ().removePlayer (eventPlayer.getUniqueId ());
}
 
开发者ID:MagnaRisa,项目名称:CraftyProfessions,代码行数:8,代码来源:CoreListener.java

示例9: onPlayerQuit

import org.bukkit.event.player.PlayerQuitEvent; //导入依赖的package包/类
@EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR)
public void onPlayerQuit(PlayerQuitEvent event) {
    Player player = event.getPlayer();
    PlayerFaction playerFaction = plugin.getFactionManager().getPlayerFaction(player);
    if (playerFaction != null) {
        playerFaction.broadcast(prefix + ChatColor.GRAY + "Your faction member " + ChatColor.GOLD  + playerFaction.getMember(player).getRole().getAstrix() + player.getName() + ChatColor.GRAY + " has " + ChatColor.RED + "disconnected.");
    }
}
 
开发者ID:funkemunky,项目名称:HCFCore,代码行数:9,代码来源:FactionListener.java

示例10: onQuit

import org.bukkit.event.player.PlayerQuitEvent; //导入依赖的package包/类
@EventHandler
public void onQuit(PlayerQuitEvent e){
	Player p = e.getPlayer();
	if(PlayerManager.confirmationReady.contains(p)){
		PlayerManager.confirmationReady.remove(p); 
	}
}
 
开发者ID:DiscowZombie,项目名称:UltimateTs,代码行数:8,代码来源:TypeYesOrNo.java

示例11: onPlayerLeave

import org.bukkit.event.player.PlayerQuitEvent; //导入依赖的package包/类
@EventHandler
public void onPlayerLeave(PlayerQuitEvent event) {
    if (teamManager.getTeamById("infected").getMembers().size() == 0 && match.getMatchStatus().equals(MatchStatus.MID)) {
        PlayerContext player = teamManager.getTeamById("humans").getMembers().get(teamManager.getTeamById("humans").getMembers().size() - 1);
        broadcastMessage(String.format("&2&l%s &7has been infected!", player.getPlayer().getName()));

        infect(player.getPlayer());
    }
}
 
开发者ID:WarzoneMC,项目名称:Warzone,代码行数:10,代码来源:InfectionModule.java

示例12: onPlayerQuit

import org.bukkit.event.player.PlayerQuitEvent; //导入依赖的package包/类
@EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR)
public void onPlayerQuit(PlayerQuitEvent event) {
    if (!this.useTaskInstead)
        return;
    BukkitTask task = wallBorderTask.remove(event.getPlayer().getUniqueId());
    if (task != null) {
        task.cancel();
    }
}
 
开发者ID:funkemunky,项目名称:HCFCore,代码行数:10,代码来源:WallBorderListener.java

示例13: setup

import org.bukkit.event.player.PlayerQuitEvent; //导入依赖的package包/类
@Override
public void setup(@Nonnull TerminableConsumer consumer) {
    Events.subscribe(PlayerLoginEvent.class, EventPriority.MONITOR)
            .filter(e -> e.getResult() == PlayerLoginEvent.Result.ALLOWED)
            .handler(e -> {
                plugin.getDataManager().logPlayer(e.getPlayer().getUniqueId(), e.getPlayer().getName());
                Metadata.provideForPlayer(e.getPlayer()).put(NetworkAnalytics.CONNECTION_TIME_SECONDS, (System.currentTimeMillis() / 1000L));
            })
            .bindWith(consumer);

    Events.subscribe(PlayerJoinEvent.class, EventPriority.MONITOR)
            .handler(e -> {
                ProtocolVersion protocolVersion = ProtocolSupportAPI.getProtocolVersion(e.getPlayer());
                if (protocolVersion != null) {
                    Metadata.provideForPlayer(e.getPlayer()).put(NetworkAnalytics.PROTOCOL_VERSION, protocolVersion);
                }
            })
            .bindWith(consumer);

    Events.subscribe(PlayerQuitEvent.class)
            .handler(e -> {
                Long loginTime = Metadata.provideForPlayer(e.getPlayer()).getOrNull(NetworkAnalytics.CONNECTION_TIME_SECONDS);
                long now = System.currentTimeMillis() / 1000L;
                if (loginTime != null) {
                    long diff = now - loginTime;
                    int mins = (int) TimeUnit.SECONDS.toMinutes(diff);
                    if (mins > 0) {
                        plugin.getDataManager().incrementPlayerMinutesPlayed(e.getPlayer().getUniqueId(), mins);
                    }
                }
            })
            .bindWith(consumer);
}
 
开发者ID:lucko,项目名称:NetworkAnalytics,代码行数:34,代码来源:AnalyticsListener.java

示例14: onLogoff

import org.bukkit.event.player.PlayerQuitEvent; //导入依赖的package包/类
@EventHandler
public void onLogoff(PlayerQuitEvent event) {
    Player player = event.getPlayer();

    if (timer != Timer.COMPLETE) // vote is running
        if (player.hasPermission("skipnight.vote")) { // player has permission
            Voter voter = new Voter(player.getUniqueId());
            if (voters.contains(voter)) { // player is in voter list
                voter = (Voter) voters.get(voters.lastIndexOf(voter));
                if (voter.getVote() == 1) yes--;
                if (voter.getVote() == -1) no--;
                voters.remove(voter);
            }
        }
}
 
开发者ID:mattboy9921,项目名称:SkipNight,代码行数:16,代码来源:Vote.java

示例15: onPlayerQuit

import org.bukkit.event.player.PlayerQuitEvent; //导入依赖的package包/类
@EventHandler(priority = EventPriority.NORMAL)
public void onPlayerQuit(PlayerQuitEvent event) {
    BlockHitManager.clearHistory(event.getPlayer());
    if (OrebfuscatorConfig.UseProximityHider) {
        ProximityHider.clearPlayer(event.getPlayer());
    }
}
 
开发者ID:SamaGames,项目名称:AntiCheat,代码行数:8,代码来源:OrebfuscatorPlayerListener.java


注:本文中的org.bukkit.event.player.PlayerQuitEvent类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。