本文整理汇总了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;
}
}
示例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();
}
});
}
}
示例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);
});
}
}
示例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);
}
示例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());
}
示例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());
}
}
示例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");
}
示例8: onPlayerLogout
import org.bukkit.event.player.PlayerQuitEvent; //导入依赖的package包/类
@EventHandler
public void onPlayerLogout (PlayerQuitEvent event)
{
Player eventPlayer = event.getPlayer ();
PlayerManager.Instance ().removePlayer (eventPlayer.getUniqueId ());
}
示例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.");
}
}
示例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);
}
}
示例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());
}
}
示例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();
}
}
示例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);
}
示例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);
}
}
}
示例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());
}
}