@EventHandler public void onPlayerPlaceBlock(BlockPlaceEvent e) { int id = gm.getPlayerGameId(e.getPlayer()); if (id != -1) { if (gm.getGame(id).getState() == State.INGAME) gm.getPlayerClass(e.getPlayer()).PlayerPlaceBlock(e.getBlock()); } }
@EventHandler(priority = EventPriority.HIGHEST) public void teleportHandler(PlayerTeleportEvent e) { int game = GameManager.getInstance().getPlayerGameId(e.getPlayer()); if (game != -1) { Game g = GameManager.getInstance().getGame(game); if (g.getState() == State.LOBBY) { e.setCancelled(true); } } }
@EventHandler public void onMove(PlayerMoveEvent e) { Player p = e.getPlayer(); int id = gm.getPlayerGameId(p); if (id != -1) { Game g = gm.getGame(id); if (g.getState() == Game.State.INGAME) g.getPlayerClass(p).PlayerMove(); } }
@EventHandler public void onEntityDeath(EntityShootBowEvent e) { if (e.getEntity() instanceof Player) { Player p = (Player) e.getEntity(); int game = GameManager.getInstance().getPlayerGameId(p); if (game != -1) { gm.getGame(game).getPlayerClass(p).PlayerShootArrow(e.getProjectile()); } } }
@EventHandler public void onEntityDamaged(EntityDamageEvent e) { if (e.getEntity() instanceof Player) { Player p = (Player) e.getEntity(); int game = GameManager.getInstance().getPlayerGameId(p); if (game != -1) { Game g = gm.getGame(game); if (g.getState() == Game.State.INGAME) { g.getPlayerClass(p).PlayerDamaged(); } } } }
@EventHandler public void onEntityDeath(PlayerDeathEvent e) { if (e.getEntity() instanceof Player) { Player p = (Player) e.getEntity(); int id = gm.getPlayerGameId(p); if (id != -1) { gm.getPlayerClass(p).PlayerDeath(); gm.getGame(id).killPlayer(p, e.getDeathMessage()); e.setDeathMessage(null); } } }
@EventHandler public void onInteract(PlayerInteractEvent e) { Player p = e.getPlayer(); int id = gm.getPlayerGameId(p); if (id != -1) { Game g = gm.getGame(id); if (g.getState() == Game.State.INGAME) { if (e.getPlayer().getItemInHand().getType() == Material.DIAMOND_AXE) { g.getPlayerClass(p).Smash(); } else { g.getPlayerClass(p).PlayerInteract(e.getAction()); } } // e.setCancelled(true); } }
@EventHandler public void onEntityDamaged(EntityDamageByEntityEvent e) { try { Player victim = null; Player attacker = null; if (e.getEntity() instanceof Player) { victim = (Player) e.getEntity(); } if (e.getDamager() instanceof Player) { attacker = (Player) e.getDamager(); } if (victim != null && attacker != null) { if (gm.getPlayerGameId(victim) != -1 && gm.getPlayerGameId(attacker) != -1) { gm.getPlayerClass(victim).PlayerDamaged(); gm.getPlayerClass(attacker).PlayerAttack(victim); } } } catch (Exception et) { } }
@EventHandler(priority = EventPriority.LOWEST) public void blockFire(BlockIgniteEvent e) { System.out.println("lighing"); final Block b = e.getBlock(); Bukkit.getScheduler() .scheduleSyncDelayedTask( GameManager.getInstance().getPlugin(), new Runnable() { public void run() { b.setTypeId(0); b.getState().update(); } }, 60); }
@EventHandler public void onEntityRespawn(PlayerRespawnEvent e) { final Player p = e.getPlayer(); Bukkit.getScheduler() .scheduleSyncDelayedTask( GameManager.getInstance().getPlugin(), new Runnable() { public void run() { int id = gm.getPlayerGameId(p); if (id != -1) { gm.getGame(id).spawnPlayer(p); gm.getPlayerClass(p).PlayerSpawn(); } else { p.teleport(SettingsManager.getInstance().getLobbySpawn()); } } }, 1); }
public PlayerClassEvents() { gm = GameManager.getInstance(); }