示例#1
0
  @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));
  }
示例#2
0
  @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);
      }
    }
  }
示例#3
0
  @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);
      }
    }
  }