@Override public void commitEnd(final boolean force) { if (arena.realEndRunner != null) { arena.getDebugger().i("[BD] already ending"); return; } arena.getDebugger().i("[BD]"); final PAGoalEvent gEvent = new PAGoalEvent(arena, this, ""); Bukkit.getPluginManager().callEvent(gEvent); ArenaTeam aTeam = null; for (final ArenaTeam team : arena.getTeams()) { for (final ArenaPlayer ap : team.getTeamMembers()) { if (ap.getStatus() == Status.FIGHT) { aTeam = team; break; } } } if (aTeam != null && !force) { ArenaModuleManager.announce( arena, Language.parse( arena, MSG.TEAM_HAS_WON, aTeam.getColor() + aTeam.getName() + ChatColor.YELLOW), "END"); ArenaModuleManager.announce( arena, Language.parse( arena, MSG.TEAM_HAS_WON, aTeam.getColor() + aTeam.getName() + ChatColor.YELLOW), "WINNER"); arena.broadcast( Language.parse( arena, MSG.TEAM_HAS_WON, aTeam.getColor() + aTeam.getName() + ChatColor.YELLOW)); } if (ArenaModuleManager.commitEnd(arena, aTeam)) { return; } new EndRunnable(arena, arena.getArenaConfig().getInt(CFG.TIME_ENDCOUNTDOWN)); }
@Override public void parseStart() { getLifeMap().clear(); for (final ArenaTeam team : arena.getTeams()) { if (!team.getTeamMembers().isEmpty()) { arena.getDebugger().i("adding team " + team.getName()); // team is active getLifeMap() .put(team.getName(), arena.getArenaConfig().getInt(CFG.GOAL_BLOCKDESTROY_LIVES, 1)); } final Set<PABlockLocation> blocks = SpawnManager.getBlocksContaining(arena, "block"); for (final PABlockLocation block : blocks) { takeBlock(team.getColor().name(), block); } } }
@Override public void initate(final Player player) { final ArenaPlayer aPlayer = ArenaPlayer.parsePlayer(player.getName()); final ArenaTeam team = aPlayer.getArenaTeam(); if (!getLifeMap().containsKey(team.getName())) { getLifeMap() .put( aPlayer.getArenaTeam().getName(), arena.getArenaConfig().getInt(CFG.GOAL_BLOCKDESTROY_LIVES)); final Set<PABlockLocation> blocks = SpawnManager.getBlocksContaining(arena, "block"); for (final PABlockLocation block : blocks) { takeBlock(team.getColor().name(), block); } } }