下面列出了org.bukkit.event.block.BlockSpreadEvent#setCancelled ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* Prevent fire spread
* @param e - event
*/
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
public void onBlockSpread(BlockSpreadEvent e) {
if (DEBUG) {
plugin.getLogger().info(e.getEventName());
plugin.getLogger().info(e.getSource().getType().toString());
}
if (e.getSource().getType() == Material.FIRE) {
if (!inWorld(e.getBlock())) {
//plugin.getLogger().info("DEBUG: Not in world");
return;
}
if (actionAllowed(e.getBlock().getLocation(), SettingsFlag.FIRE_SPREAD)) {
return;
}
e.setCancelled(true);
}
}
@EventHandler(ignoreCancelled = true)
public void onSpread(BlockSpreadEvent spread) {
if (spread.getBlock() == null) {
return;
}
Game game =
BedwarsRel.getInstance().getGameManager()
.getGameByLocation(spread.getBlock().getLocation());
if (game == null) {
return;
}
if (game.getState() != GameState.RUNNING) {
return;
}
if (spread.getNewState() == null || spread.getSource() == null) {
return;
}
if (spread.getNewState().getType().equals(Material.FIRE)) {
spread.setCancelled(true);
return;
}
if (game.getRegion().isPlacedBlock(spread.getSource())) {
game.getRegion().addPlacedBlock(spread.getBlock(), spread.getBlock().getState());
} else {
game.getRegion().addPlacedUnbreakableBlock(spread.getBlock(), spread.getBlock().getState());
}
}
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGHEST)
public void onBlockSpread(BlockSpreadEvent event) {
Block block = event.getSource();
if (plugin.isInstance(block.getWorld()) && VanillaItem.VINE.is(block)) {
event.setCancelled(true);
}
}
@EventHandler(priority = EventPriority.HIGH)
public void onBlockSpread(BlockSpreadEvent e) {
Block newBlock = e.getNewState().getBlock();
if (shopUtils.isShop(newBlock.getLocation()) || shopUtils.isShop(newBlock.getRelative(BlockFace.DOWN).getLocation())) {
e.setCancelled(true);
}
}
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
public void onBlockSpread(BlockSpreadEvent event) {
Location location = BukkitUtil.adapt(event.getBlock().getLocation());
if (manager.isPlotWorld(location)) {
PlotId id = manager.getPlotId(location);
if (id == null) {
event.setCancelled(true);
} else {
event.setCancelled(api.isPlotLocked(id));
}
}
}
@EventHandler(priority = EventPriority.HIGH)
public void noSpread(final BlockSpreadEvent event) {
event.setCancelled(true);
}
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGHEST)
public void onBlockSpread(BlockSpreadEvent event) {
if (DPortal.getByBlock(plugin, event.getBlock()) != null) {
event.setCancelled(true);
}
}
@EventHandler
public void onBlockSpread(BlockSpreadEvent event) {
if (filter.evaluate(event.getBlock(), event).equals(FilterState.DENY) && region.contains(new BlockRegion(null, event.getBlock().getLocation().toVector()))) {
event.setCancelled(true);
}
}