@EventHandler public void onInteract(PlayerInteractEvent event) { Player player = event.getPlayer(); if (plugin.getTrackerKeeper().getRenderRoomOccupants().contains(player.getUniqueId())) { event.setCancelled(true); if (event.getAction().equals(Action.RIGHT_CLICK_BLOCK) || event.getAction().equals(Action.RIGHT_CLICK_AIR)) { // tp the player back to the TARDIS console transmat(player); player.updateInventory(); } } }
@EventHandler(priority = EventPriority.LOWEST) public void onPlayerInteract(PlayerInteractEvent e) { BukkitMCPlayerInteractEvent pie = new BukkitMCPlayerInteractEvent(e); if(e.getAction().equals(Action.PHYSICAL)) { EventUtils.TriggerListener(Driver.PLAYER_INTERACT, "pressure_plate_activated", pie); } else { EventUtils.TriggerListener(Driver.PLAYER_INTERACT, "player_interact", pie); } }
@EventHandler (priority = EventPriority.LOWEST) public void onPlayerInteractEvent(PlayerInteractEvent event) { if (! event.getAction().equals(Action.RIGHT_CLICK_BLOCK)) return; Block block = event.getClickedBlock(); if (! Arrays.asList(Material.WALL_SIGN, Material.SIGN_POST).contains(block.getType())) return; TimoCloudBukkit.getInstance().getSignManager().onSignClick(event.getPlayer(), block.getLocation()); } }
/** * Prevents opening ender chest unless player has permission * @param e - event */ @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) public void onEnderChestOpen(PlayerInteractEvent e) { if (e.getAction().equals(Action.RIGHT_CLICK_BLOCK)) { e.setCancelled(checkEnderChest(e.getPlayer(), e.getClickedBlock().getType())); } }
@EventHandler public void onInteract(PlayerInteractEvent ev) { if (ev.getAction().equals(Action.LEFT_CLICK_AIR) || ev.getAction().equals(Action.LEFT_CLICK_BLOCK)) { return; } Player player = ev.getPlayer(); Game game = BedwarsRel.getInstance().getGameManager().getGameOfPlayer(player); if (game == null) { return; } if (game.getState() != GameState.RUNNING) { return; } RescuePlatform platform = new RescuePlatform(); if (!ev.getMaterial().equals(platform.getItemMaterial())) { return; } platform.create(player, game); }
@EventHandler public void onInteract(PlayerInteractEvent ev) { if (ev.getAction().equals(Action.LEFT_CLICK_AIR) || ev.getAction().equals(Action.LEFT_CLICK_BLOCK)) { return; } Player player = ev.getPlayer(); Game game = BedwarsRel.getInstance().getGameManager().getGameOfPlayer(player); if (game == null) { return; } if (game.getState() != GameState.RUNNING) { return; } RescuePlatform platform = new RescuePlatform(); if (!ev.getMaterial().equals(platform.getItemMaterial())) { return; } platform.create(player, game); }
@EventHandler public void onInteract(PlayerInteractEvent ev) { if (ev.getAction().equals(Action.LEFT_CLICK_AIR) || ev.getAction().equals(Action.LEFT_CLICK_BLOCK)) { return; } Player player = ev.getPlayer(); Game game = BedwarsRel.getInstance().getGameManager().getGameOfPlayer(player); if (game == null) { return; } if (game.getState() != GameState.RUNNING) { return; } ArrowBlocker blocker = new ArrowBlocker(); if (!ev.getMaterial().equals(blocker.getItemMaterial())) { return; } blocker.create(player, game); ev.setCancelled(true); player.updateInventory(); }
@EventHandler public void onInteract(PlayerInteractEvent ev) { if (ev.getAction().equals(Action.LEFT_CLICK_AIR) || ev.getAction().equals(Action.LEFT_CLICK_BLOCK)) { return; } Player player = ev.getPlayer(); Game game = BedwarsRel.getInstance().getGameManager().getGameOfPlayer(player); if (game == null) { return; } if (game.getState() != GameState.RUNNING) { return; } ArrowBlocker blocker = new ArrowBlocker(); if (!ev.getMaterial().equals(blocker.getItemMaterial())) { return; } blocker.create(player, game); ev.setCancelled(true); player.updateInventory(); }
/** * Protect against priming of TNT unless break blocks is allowed * @param e - event */ @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true) public void onTNTPriming(PlayerInteractEvent e) { if (e.getAction().equals(Action.RIGHT_CLICK_BLOCK) && e.getClickedBlock().getType().equals(Material.TNT) && e.getMaterial() != null && e.getMaterial().equals(Material.FLINT_AND_STEEL)) { checkIsland(e, e.getClickedBlock().getLocation(), Flags.BREAK_BLOCKS); } }
@EventHandler(priority = EventPriority.NORMAL) public void onInteract(PlayerInteractEvent event) { if (event.getHand() == null || event.getHand().equals(EquipmentSlot.OFF_HAND)) { return; } Player player = event.getPlayer(); UUID uuid = player.getUniqueId(); ItemStack itemStack = player.getInventory().getItemInMainHand(); if (itemStack == null || !itemStack.getType().equals(wand) || !player.hasPermission("tardis.admin") || !isWand(itemStack)) { return; } Block b = event.getClickedBlock(); if (b == null) { return; } Location l = b.getLocation(); if (event.getAction().equals(Action.RIGHT_CLICK_BLOCK)) { plugin.getTrackerKeeper().getStartLocation().put(uuid, l); TARDISMessage.send(player, "SCHM_START"); } if (event.getAction().equals(Action.LEFT_CLICK_BLOCK)) { plugin.getTrackerKeeper().getEndLocation().put(uuid, l); TARDISMessage.send(player, "SCHM_END"); } event.setCancelled(true); }
@EventHandler public void onInteract(PlayerInteractEvent ev) { Player player = ev.getPlayer(); Game game = BedwarsRel.getInstance().getGameManager().getGameOfPlayer(player); if (game == null) { return; } if (game.getState() != GameState.RUNNING) { return; } if (game.isSpectator(player)) { return; } Tracker tracker = new Tracker(); if (!ev.getMaterial().equals(tracker.getItemMaterial())) { return; } if (ev.getAction().equals(Action.LEFT_CLICK_AIR) || ev.getAction().equals(Action.LEFT_CLICK_BLOCK)) { return; } tracker.setPlayer(player); tracker.setGame(game); tracker.trackPlayer(); ev.setCancelled(true); }
@EventHandler public void onInteract(PlayerInteractEvent ev) { Player player = ev.getPlayer(); Game game = BedwarsRel.getInstance().getGameManager().getGameOfPlayer(player); if (game == null) { return; } if (game.getState() != GameState.RUNNING) { return; } if (game.isSpectator(player)) { return; } Tracker tracker = new Tracker(); if (!ev.getMaterial().equals(tracker.getItemMaterial())) { return; } if (ev.getAction().equals(Action.LEFT_CLICK_AIR) || ev.getAction().equals(Action.LEFT_CLICK_BLOCK)) { return; } tracker.setPlayer(player); tracker.setGame(game); tracker.trackPlayer(); ev.setCancelled(true); }
@EventHandler public void onPlayerInteract(PlayerInteractEvent event) { if (event.getHand() == null || event.getHand().equals(EquipmentSlot.OFF_HAND)) { return; } Player p = event.getPlayer(); ItemStack inhand = p.getInventory().getItemInMainHand(); if (event.getAction().equals(Action.RIGHT_CLICK_AIR) && inhand.getType().equals(Material.CLOCK) && p.hasPermission("tardis.temporal")) { if (inhand.hasItemMeta() && inhand.getItemMeta().hasDisplayName() && notthese.contains(inhand.getItemMeta().getDisplayName())) { return; } p.resetPlayerTime(); plugin.getTrackerKeeper().getSetTime().remove(p.getUniqueId()); TARDISMessage.send(p, "TEMPORAL_RESET"); } } }
@EventHandler void onTrample(PlayerInteractEvent event) { // This is related to trampling if (event.getAction().equals(Action.PHYSICAL)) { // Get the soil block Block soilBlock = event.getClickedBlock(); // Check if the block is SOIL if (soilBlock.getType() == Material.SOIL) { // Check if moderator if (!bitQuest.isModerator(event.getPlayer())) { // If the player can't build there cancel it if (!bitQuest.canBuild(soilBlock.getLocation(), event.getPlayer())) { event.setCancelled(true); } else event.setCancelled(false); } } } }
@EventHandler(ignoreCancelled = true) public void onChestOpen(PlayerInteractEvent event) { if (event.getHand() == null || event.getHand().equals(EquipmentSlot.OFF_HAND)) { return; } Block b = event.getClickedBlock(); if (b != null && b.getType().equals(Material.CHEST) && event.getAction().equals(Action.RIGHT_CLICK_BLOCK)) { Location loc = b.getLocation(); String chest_loc = loc.getWorld().getName() + ":" + loc.getBlockX() + ":" + loc.getBlockY() + ":" + loc.getBlockZ(); HashMap<String, Object> where = new HashMap<>(); where.put("condenser", chest_loc); ResultSetTardis rs = new ResultSetTardis(plugin, where, "", false, 0); if (rs.resultSet()) { event.setCancelled(true); openCondenser(b, event.getPlayer(), "Artron Condenser"); } else { // is it the server condenser if (!plugin.getArtronConfig().contains("condenser")) { return; } if (plugin.getArtronConfig().getString("condenser").equals(loc.toString())) { event.setCancelled(true); openCondenser(b, event.getPlayer(), "Server Condenser"); } } } }
/** * Flint and Steel and Extinguishing fire * @param e - event */ @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) public void onPlayerInteract(PlayerInteractEvent e) { if (e.getAction().equals(Action.RIGHT_CLICK_BLOCK) && e.getMaterial() != null && e.getMaterial().equals(Material.FLINT_AND_STEEL)) { checkIsland(e, e.getClickedBlock().getLocation(), Flags.FIRE); } // Look along player's sight line to see if any blocks are fire. Players can hit fire out quite a long way away. try { BlockIterator iter = new BlockIterator(e.getPlayer(), 10); while (iter.hasNext()) { Block lastBlock = iter.next(); if (lastBlock.getType().equals(Material.FIRE)) { checkIsland(e, lastBlock.getLocation(), Flags.FIRE_EXTINGUISH); } } } catch (Exception ex) { // To catch at block iterator exceptions that can happen in the void or at the very top of blocks } }
@EventHandler public void handleInteract(PlayerInteractEvent e) { if ((e.getAction().equals(Action.RIGHT_CLICK_BLOCK)) && (e.getClickedBlock().getType().equals(Material.SIGN_POST) || e.getClickedBlock().getType().equals(Material.WALL_SIGN))) if (containsPosition(e.getClickedBlock().getLocation())) { Sign sign = getSignByPosition(e.getClickedBlock().getLocation()); if (sign.getServerInfo() != null) { String s = sign.getServerInfo().getServiceId().getServerId(); ByteArrayDataOutput output = ByteStreams.newDataOutput(); output.writeUTF("Connect"); output.writeUTF(s); e.getPlayer().sendPluginMessage(CloudServer.getInstance().getPlugin(), "BungeeCord", output.toByteArray()); } } }
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) public void onTillingCoarseDirt(PlayerInteractEvent e) { if (!e.getAction().equals(Action.RIGHT_CLICK_BLOCK) || e.getItem() == null) { return; } if (e.getClickedBlock().getType().equals(Material.COARSE_DIRT)) { switch (e.getItem().getType()) { case WOODEN_HOE: case STONE_HOE: case IRON_HOE: case GOLDEN_HOE: case DIAMOND_HOE: if (e.getClickedBlock().getType().equals(Material.COARSE_DIRT) && getIWM().inWorld(e.getClickedBlock().getWorld()) && !Flags.COARSE_DIRT_TILLING.isSetForWorld(e.getClickedBlock().getWorld())) { e.setCancelled(true); User user = User.getInstance(e.getPlayer()); user.notify("protection.protected", TextVariables.DESCRIPTION, user.getTranslation(Flags.COARSE_DIRT_TILLING.getHintReference())); } break; default: break; } } } }