@Override public boolean blockInteract(GlowPlayer player, GlowBlock block, BlockFace face, Vector clickedLoc) { EntityChangeBlockEvent changeBlockEvent = new EntityChangeBlockEvent(player, block, Material.GLOWING_REDSTONE_ORE, (byte) 0); EventFactory.getInstance().callEvent(changeBlockEvent); if (!changeBlockEvent.isCancelled()) { GlowBlockState state = block.getState(); state.setType(Material.GLOWING_REDSTONE_ORE); state.update(true); } return false; } }
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGHEST) private void physicalBlock(EntityChangeBlockEvent event) { if(hasRegenArea() && blockInRegenArea(event.getBlock().getLocation())) { if(minigame.isRegenerating()){ event.setCancelled(true); return; } if(event.getTo() == Material.SAND || event.getTo() == Material.GRAVEL || event.getTo() == Material.DRAGON_EGG || event.getTo() == Material.ANVIL) { if(minigame.hasPlayers() || event.getEntity().hasMetadata("FellInMinigame")) { addEntity(event.getEntity(), null, true); } } else if(event.getEntityType() == EntityType.FALLING_BLOCK && minigame.hasPlayers()) { event.getEntity().setMetadata("FellInMinigame", new FixedMetadataValue(Minigames.getPlugin(), true)); addEntity(event.getEntity(), null, true); } } }
@EventHandler(priority=EventPriority.LOWEST) public void onEntityChangeBlock(EntityChangeBlockEvent e) { if (e.getEntity() instanceof FallingBlock) { if (Variables.blocks.contains(e.getEntity().getUniqueId())) { e.setCancelled(true); e.getEntity().remove(); } } else if (e.getEntity() instanceof Wither) { SlimefunItem item = BlockStorage.check(e.getBlock()); if (item != null) { if (item.getID().equals("WITHER_PROOF_OBSIDIAN")) e.setCancelled(true); if (item.getID().equals("WITHER_PROOF_GLASS")) e.setCancelled(true); } } }
if (event.isCancelled()) { return; Block block = event.getBlock(); Entity entity = event.getEntity(); event.setCancelled(true); event.setCancelled(true); event.setCancelled(true); event.setCancelled(true);
@EventHandler(ignoreCancelled = true) public void onEntityChangeBlock(EntityChangeBlockEvent event) { Block block = event.getBlock(); Entity entity = event.getEntity(); Material to = event.getTo(); if (event.getTo() != Material.AIR && event.getBlock().getType() != Material.AIR) { Events.fireToCancel(event, new BreakBlockEvent(event, create(entity), block)); Events.fireToCancel(event, new PlaceBlockEvent(event, create(entity), block.getLocation(), to)); } else { if (event.getTo() == Material.AIR) { } else { entityBreakBlockDebounce.debounce( event.getBlock(), event.getEntity(), event, new BreakBlockEvent(event, create(entity), event.getBlock())); boolean wasCancelled = event.isCancelled(); Cause cause = create(entity); Events.fireToCancel(event, new PlaceBlockEvent(event, cause, event.getBlock().getLocation(), to)); if (event.isCancelled() && !wasCancelled && entity instanceof FallingBlock) { FallingBlock fallingBlock = (FallingBlock) entity; ItemStack itemStack = new ItemStack(fallingBlock.getBlockData().getMaterial(), 1);
/** * 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); } } } }
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true) public void onEntityChangeBlockEvent(final EntityChangeBlockEvent event) { final Entity entity = event.getEntity(); if (MovementHandler.isStopped(entity) || Bloodbending.isBloodbent(entity) || Suffocate.isBreathbent(entity)) { event.setCancelled(true); } if (event.getEntityType() == EntityType.FALLING_BLOCK) { if (LavaSurge.getAllFallingBlocks().contains(entity)) { LavaSurge.getAllFallingBlocks().remove(entity); event.setCancelled(true); } } }
public void onEntityChangeBlock(EntityChangeBlockEvent event) { if (arena.getRegion().contains(event.getBlock().getLocation())) event.setCancelled(true); }
private void onEntityChangeBlock(final EntityChangeBlockEvent event) { final Block block = event.getBlock(); if (block != null) { tracker.addBlocks(block); // E.g. falling blocks like sand. } }
/** * Allows or prevents enderman griefing */ @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) public void onEndermanGrief(final EntityChangeBlockEvent e) { if (!(e.getEntity() instanceof Enderman) || !getIWM().inWorld(e.getEntity().getLocation())) { return; } if (!Flags.ENDERMAN_GRIEFING.isSetForWorld(e.getEntity().getWorld())) { e.setCancelled(true); } }
@Override public void setCancelled(boolean cancelled) { ecb.setCancelled(cancelled); }
@Override public MCEntity getEntity() { return new BukkitMCEntity(ecb.getEntity()); }
@Override public boolean isCancelled() { return ecb.isCancelled(); }
@Override public MCMaterial getTo() { return new BukkitMCMaterial(ecb.getTo()); }
/** * Monitor falling blocks. * * @param event The event to watch */ @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onFallingBlock(EntityChangeBlockEvent event) { /* WORLD BLACKLIST CHECK */ if(WorldBlacklist.isWorldBlacklisted(event.getBlock().getWorld())) return; if (BlockUtils.shouldBeWatched(event.getBlock().getState()) && event.getEntityType().equals(EntityType.FALLING_BLOCK)) { if (event.getTo().equals(Material.AIR) && mcMMO.getPlaceStore().isTrue(event.getBlock())) { event.getEntity().setMetadata("mcMMOBlockFall", new FixedMetadataValue( plugin, event.getBlock().getLocation())); } else { List<MetadataValue> values = event.getEntity().getMetadata( "mcMMOBlockFall" ); if (!values.isEmpty()) { if (values.get(0).value() == null) return; Block spawn = ((org.bukkit.Location) values.get(0).value()).getBlock(); mcMMO.getPlaceStore().setTrue( event.getBlock() ); mcMMO.getPlaceStore().setFalse( spawn ); } } } }
@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); } } }
@Override public MCBlock getBlock() { return new BukkitMCBlock(ecb.getBlock()); }
@Override public void tick() { if (--this.eatTicks == 0) { int blockLocX = MathHelper.floor(this.entityMySheep.locX); int blockLocY = MathHelper.floor(this.entityMySheep.locY); int blockLocZ = MathHelper.floor(this.entityMySheep.locZ); if (this.world.getType(blockLocX, blockLocY, blockLocZ) == Blocks.LONG_GRASS) { if (!CraftEventFactory.callEntityChangeBlockEvent(this.entityMySheep.getBukkitEntity(), this.entityMySheep.world.getWorld().getBlockAt(blockLocX, blockLocY, blockLocZ), Material.AIR).isCancelled()) { this.world.triggerEffect(2001, blockLocX, blockLocY, blockLocZ, Block.getId(Blocks.LONG_GRASS) + 4096); this.world.setAir(blockLocX, blockLocY, blockLocZ); this.entityMySheep.getMyPet().setSheared(false); } } else if (this.world.getType(blockLocX, blockLocY - 1, blockLocZ) == Blocks.GRASS) { if (!CraftEventFactory.callEntityChangeBlockEvent(this.entityMySheep.getBukkitEntity(), this.entityMySheep.world.getWorld().getBlockAt(blockLocX, blockLocY - 1, blockLocZ), Material.DIRT).isCancelled()) { this.world.triggerEffect(2001, blockLocX, blockLocY - 1, blockLocZ, Block.getId(Blocks.GRASS)); this.world.setTypeAndData(blockLocX, blockLocY - 1, blockLocZ, Blocks.DIRT, 0, 2); this.entityMySheep.getMyPet().setSheared(false); } } } } }