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); }
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()); } }
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); } }
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); } } }