@EventHandler(priority=EventPriority.MONITOR, ignoreCancelled=true) public void onBlockFromTo(BlockFromToEvent event) { Block b = event.getBlock(); Material m = b.getType(); if((m != Material.WOOD_PLATE) && (m != Material.STONE_PLATE) && (m != null)) checkBlock(b, "blockfromto"); b = event.getToBlock(); m = b.getType(); if((m != Material.WOOD_PLATE) && (m != Material.STONE_PLATE) && (m != null)) checkBlock(b, "blockfromto"); } };
private void flow(GlowBlock source, BlockFace direction) { // if we're not going down BlockFromToEvent fromToEvent = new BlockFromToEvent(source, direction); if (fromToEvent.isCancelled()) { return; } byte strength = fromToEvent.getBlock().getState().getRawData(); if (DOWN != fromToEvent.getFace()) { if (strength < (isWater(fromToEvent.getBlock().getType()) || fromToEvent.getBlock().getBiome() == Biome.HELL ? STRENGTH_MIN_WATER : STRENGTH_MIN_LAVA)) { // decrease the strength strength += 1; } else { // no strength, can't flow return; } } else { // reset the strength if we're going down strength = STRENGTH_MAX; } // flow to the target GlowBlock toBlock = (GlowBlock) fromToEvent.getToBlock(); toBlock.setType(fromToEvent.getBlock().getType(), strength, false); toBlock.getWorld().requestPulse(toBlock); }
/** * Only allow sea-level blocks to flow if they are below the custom sea-level * - Track any new blocks originating from sea-level blocks */ @EventHandler public void onBlockFromToEvent(BlockFromToEvent event) { if (event.getBlock().hasMetadata(SEALEVEL_BLOCK)) { boolean isWaterFixed = isOverride; if (!isWaterFixed) { final World world = event.getBlock().getWorld(); final WorldClimateEngine climateEngine = ClimateEngine.getInstance().getClimateEngine(world.getUID()); final int baseSeaLevel = world.getSeaLevel() - 1; final int deltaSeaLevel = (int) seaMap.getValue(climateEngine.getTemperature()); final int customSeaLevel = baseSeaLevel + deltaSeaLevel; isWaterFixed = event.getBlock().getY() > customSeaLevel; } if (isWaterFixed) { event.setCancelled(true); } else { event.getToBlock().setMetadata(SEALEVEL_BLOCK, BLOCK_TAG); } } }
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true) public void onBlockFlowTo(final BlockFromToEvent event) { final Block toblock = event.getToBlock(); final Block fromblock = event.getBlock(); if (ElementalAbility.isLava(fromblock)) { event.setCancelled(!EarthPassive.canFlowFromTo(fromblock, toblock)); } if (ElementalAbility.isWater(fromblock)) { event.setCancelled(!WaterBubble.isAir(toblock)); if (!event.isCancelled()) { event.setCancelled(!WaterManipulation.canFlowFromTo(fromblock, toblock)); } if (!event.isCancelled()) { if (Illumination.isIlluminationTorch(toblock)) { toblock.setType(Material.AIR); } } } }
@EventHandler public void onLiquidFlow(BlockFromToEvent e) { Block block = e.getToBlock(); SlimefunItem item = BlockStorage.check(block); if (item != null) e.setCancelled(true); } }
if(spreadEvent.getFace() == BlockFace.DOWN) return; if(!GriefPrevention.instance.claimsEnabledForWorld(spreadEvent.getBlock().getWorld())) return; Block toBlock = spreadEvent.getToBlock(); Location toLocation = toBlock.getLocation(); Claim toClaim = this.dataStore.getClaimAt(toLocation, false, lastSpreadClaim); if(!toClaim.contains(spreadEvent.getBlock().getLocation(), false, true)) if(toClaim.parent == null || !toClaim.parent.contains(spreadEvent.getBlock().getLocation(), false, false)) spreadEvent.setCancelled(true); spreadEvent.setCancelled(true);
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGHEST) private void waterFlow(BlockFromToEvent event){ if(minigame.isRegenerating() && hasRegenArea() && blockInRegenArea(event.getBlock().getLocation())) event.setCancelled(true); }
@Override public void setCancelled(boolean cancelled) { event.setCancelled(cancelled); } }
@Override public MCBlock getToBlock() { return new BukkitMCBlock(event.getToBlock()); }
@Override public MCBlock getBlock() { return new BukkitMCBlock(event.getBlock()); }
@Override public boolean isCancelled() { return event.isCancelled(); }
@Override public MCBlockFace getBlockFace() { return BukkitMCBlockFace.getConvertor().getAbstractedEnum(event.getFace()); }
@EventHandler (priority = EventPriority.NORMAL, ignoreCancelled = true) public void onBlockFromTo(BlockFromToEvent event) { if (!Conf.handleExploitLiquidFlow) { return; } if (event.getBlock().isLiquid()) { if (event.getToBlock().isEmpty()) { Faction from = Board.getInstance().getFactionAt(new FLocation(event.getBlock())); Faction to = Board.getInstance().getFactionAt(new FLocation(event.getToBlock())); if (from == to) { // not concerned with inter-faction events return; } // from faction != to faction if (to.isNormal()) { if (from.isNormal() && from.getRelationTo(to).isAlly()) { return; } event.setCancelled(true); } } } }
if (event.isCancelled()) { return; Block source = event.getBlock(); Block destination = event.getToBlock(); event.setCancelled(true); event.setCancelled(true);
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) public void onBlockFromTo(BlockFromToEvent e) { if (cm.isAntiCrashSkull && VersionUtils.isLowerThan(VersionUtils.V1_9) && e.getToBlock().getType() == Material.SKULL) { e.setCancelled(true); } } }
@EventHandler(priority = EventPriority.HIGH) public void onBlockFromTo(BlockFromToEvent event) { if (!ConfigEntry.ALLOW_FLUID_SPREAD.getBoolean()) { event.setCancelled(true); } }
@EventHandler(ignoreCancelled = true) public void onBlockFromTo(BlockFromToEvent event) { World world = event.getBlock().getWorld(); Block blockFrom = event.getBlock(); Block blockTo = event.getToBlock(); WorldConfiguration wcfg = getWorldConfig(event.getBlock().getWorld()); event.setCancelled(true); return; if (sponge.getType() == Material.SPONGE && (!wcfg.redstoneSponges || !sponge.isBlockIndirectlyPowered())) { event.setCancelled(true); return; event.setCancelled(true); return; event.setCancelled(true); return; event.setCancelled(true); return; event.setCancelled(true); return;
@EventHandler(ignoreCancelled = true, priority = EventPriority.NORMAL) public void onBlockFromTo(BlockFromToEvent e) { if (!cm.antiWaterfall) { return; } Block to = e.getToBlock(); if (to == null) { return; } if (e.getToBlock().getLocation().getBlockY() <= 63) { return; } if (isAirBottom(to, cm.antiWaterfallHeight)) { e.setCancelled(true); } } }
@EventHandler (priority = EventPriority.NORMAL, ignoreCancelled = true) public void obsidianGenerator(BlockFromToEvent event) { if (!Conf.handleExploitObsidianGenerators) { return; } // thanks to ObGenBlocker and WorldGuard for this method Block block = event.getToBlock(); int source = event.getBlock().getType().getId(); int target = block.getType().getId(); if ((target == 55 || target == 132) && (source == 0 || source == 10 || source == 11)) { block.setType(Material.AIR); } }
@EventHandler public void onBlockFromTo(BlockFromToEvent event) { Block targetBlock = event.getToBlock(); Block sourceBlock = event.getBlock(); event.setCancelled(true);