/** * Used to cancel the land of falling blocks in bowspleef games */ @EventHandler public void onEntityChangeBlock(EntityChangeBlockEvent e) { if (!(e.getEntity() instanceof FallingBlock)) { return; } boolean bowspleefEntity = false; List<MetadataValue> metadatas = e.getEntity().getMetadata("bowspleef"); for (MetadataValue metadata : metadatas) { if (metadata.getOwningPlugin() != HeavySpleef.getInstance()) continue; if (metadata.asBoolean()) { bowspleefEntity = true; break; } } if (!bowspleefEntity) { return; } e.setCancelled(true); e.getEntity().remove(); }
// don't allow endermen to change blocks @EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST) public void onEntityChangeBLock(EntityChangeBlockEvent event) { if (!GriefPrevention.instance.config_endermenMoveBlocks && event.getEntityType() == EntityType.ENDERMAN) { event.setCancelled(true); } }
@EventHandler public void onBlockLand(EntityChangeBlockEvent e) { if (Variables.blocks.contains(e.getEntity().getUniqueId())) { e.setCancelled(true); e.getEntity().remove(); } }
@EventHandler(priority = EventPriority.NORMAL) public void onEndermanChangeBlock(EntityChangeBlockEvent event) { if (event.getEntityType() != EntityType.ENDERMAN) { return; } FlagPermissions perms = Residence.getPermsByLoc(event.getBlock().getLocation()); if (!perms.has("build", true)) { event.setCancelled(true); } }
@EventHandler @SuppressWarnings("unused") public void onEvent(EntityChangeBlockEvent e) { Bukkit.getLogger().info(e.getEntityType().toString()); if (!plugin.enabled()) return; if (e.getEntityType() != EntityType.WITHER) return; if (e.getTo() == Material.AIR) e.setCancelled(true); }
@EventHandler(priority = EventPriority.HIGHEST) public void onEntityChangeBlock(EntityChangeBlockEvent event) { if (event.isCancelled()) { return; } if (event.getEntityType() == EntityType.ENDERMAN && prot.getSettingBool(ProtectConfig.prevent_enderman_pickup)) { event.setCancelled(true); return; } }
// when an entity picks up an item @EventHandler(priority = EventPriority.LOWEST) public void onEntityPickup(EntityChangeBlockEvent event) { // FEATURE: endermen don't steal claimed blocks // if its an enderman if (event.getEntity() instanceof Enderman) { // and the block is claimed if (this.dataStore.getClaimAt(event.getBlock().getLocation(), false, null) != null) { // he doesn't get to steal it event.setCancelled(true); } } }
/** * Listens for Fireball, Wither and Dragon entity interaction with the TARDIS blocks. If the block * is a TARDIS block, then the block change event is cancelled. * * @param event an entity affecting a block */ @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) public void bossBlockBreak(EntityChangeBlockEvent event) { Block b = event.getBlock(); String l = b.getLocation().toString(); EntityType eType; try { eType = event.getEntityType(); } catch (Exception e) { eType = null; } if (eType != null && ents.contains(eType)) { if (plugin.getGeneralKeeper().getProtectBlockMap().containsKey(l)) { event.setCancelled(true); } } }
@SuppressWarnings(value = "unused") @EventHandler public void onBlockLand(EntityChangeBlockEvent event) { if (event.getEntity() instanceof FallingBlock) { FallingBlock fallingBlock = (FallingBlock) event.getEntity(); if (event.getBlock().getType() == Material.AIR) { new BukkitRunnable() { @Override public void run() { fallingBlock.getLocation().getBlock().setType(Material.AIR); // Effect effect = new ItemLaunchEffect(new ItemStack(fallingBlock.getMaterial()), // fallingBlock.getLocation(),2D); // effect.perform(); } }.runTaskLater(Minigames.getMinigames().getPlugin(), 1L); } } }
/** * Monitor EntityChangeBlock events. * * @param event The event to watch */ @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onEntityChangeBlock(EntityChangeBlockEvent event) { Entity entity = event.getEntity(); if (!(entity instanceof FallingBlock)) { return; } Block block = event.getBlock(); boolean isTracked = entity.hasMetadata(mcMMO.entityMetadataKey); if (mcMMO.getPlaceStore().isTrue(block) && !isTracked) { mcMMO.getPlaceStore().setFalse(block); entity.setMetadata(mcMMO.entityMetadataKey, mcMMO.metadataValue); } else if (isTracked) { mcMMO.getPlaceStore().setTrue(block); } }