Example #1
0
 public void onPlayerRespawn(PlayerRespawnEvent event) {
   Player p = event.getPlayer();
   TeamMember m = plugin.getBattlefieldManager().getPlayer(p);
   if (m == null) return;
   Battlefield field = m.getTeam().getField();
   if (!field.isActive()) return;
   Location respawn = field.getGametype().getListener().onPlayerRespawn(m);
   if (respawn != null) event.setRespawnLocation(respawn);
 }
Example #2
0
 public void onPlayerInteract(PlayerInteractEvent event) {
   Block b = event.getClickedBlock();
   Player p = event.getPlayer();
   Action a = event.getAction();
   // Handle field building tool operations
   if (p.getItemInHand().getTypeId() == 276) {
     Builder fb = plugin.getBattlefieldManager().getBuilder(p);
     if (fb != null) {
       if (fb.getTool() != null) {
         Tool tool = fb.getTool();
         switch (a) {
           case RIGHT_CLICK_BLOCK:
             tool.rightClick(b);
             break;
           case LEFT_CLICK_BLOCK:
             tool.leftClick(b);
             break;
           case RIGHT_CLICK_AIR:
             tool.rightClick();
             break;
           case LEFT_CLICK_AIR:
             tool.leftClick();
             break;
           default:
             break;
         }
       }
     }
   }
   TeamMember m = plugin.getBattlefieldManager().getPlayer(p);
   if (m != null) {
     Battlefield field = m.getTeam().getField();
     // Handle sign clicks
     if (b != null) {
       if (b.getState() instanceof Sign) {
         Sign sign = (Sign) b.getState();
         String line = sign.getLine(0);
         if (line.equals("[Options]")) {
           BattlefieldSign bs = field.getSign(b);
           if (bs != null) {
             if (field.isActive())
               Format.sendMessage(m, "You cannot change settings during a game.");
             else if (a == Action.LEFT_CLICK_BLOCK) bs.executeOption(m);
             else if (a == Action.RIGHT_CLICK_BLOCK) bs.cycleOption(m);
           }
         }
       }
     }
     if (field.isActive())
       field.getGametype().getListener().onClick(m, event.getClickedBlock(), event.getAction());
   }
 }
Example #3
0
  public void onPlayerQuit(PlayerQuitEvent event) {
    Player p = event.getPlayer();

    // TODO Write stats
    TeamMember m = plugin.getBattlefieldManager().getPlayer(p);
    if (m != null) {
      Team team = m.getTeam();
      Battlefield field = team.getField();
      field.sendMessageToAll(
          Format.pluginTag
              + p.getName()
              + " of "
              + team.getColor().getTeamTag()
              + " has quit the game!");
      field.removePlayer(m);
    }
  }
Example #4
0
 public void onPlayerDropItem(PlayerDropItemEvent event) {
   Player p = event.getPlayer();
   // Handle field builder condition
   Builder fb = plugin.getBattlefieldManager().getBuilder(p);
   if (fb != null) {
     if (fb.getTool() != null) {
       fb.getTool().cycleParameters();
       event.setCancelled(true);
     }
   }
   // Handle item drops on battlefield
   TeamMember m = plugin.getBattlefieldManager().getPlayer(p);
   if (m != null) {
     if (m.getTeam().getField().isActive()) {
       p.sendMessage(Format.errorTag + "Dropping items is disallowed on the battlefield.");
       event.setCancelled(true);
     }
   }
 }