當前位置: 首頁>>代碼示例>>Java>>正文


Java BlockBurnEvent類代碼示例

本文整理匯總了Java中org.bukkit.event.block.BlockBurnEvent的典型用法代碼示例。如果您正苦於以下問題:Java BlockBurnEvent類的具體用法?Java BlockBurnEvent怎麽用?Java BlockBurnEvent使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


BlockBurnEvent類屬於org.bukkit.event.block包,在下文中一共展示了BlockBurnEvent類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: onBlockBurn

import org.bukkit.event.block.BlockBurnEvent; //導入依賴的package包/類
/**
 * So far specifically handles these cases:
 * 
 * 1) Block burnt is tracked
 * 2) Block burnt is under a tracked block (probably only mushrooms eligible)
 * 3) Block burnt was a jungle tree, checks for cocoa.
 * 4) Burnt block had mushroom on top and cocoa on the sides
 * 
 * @param e The event
 */
@EventHandler(priority=EventPriority.HIGHEST, ignoreCancelled = true)
public void onBlockBurn(BlockBurnEvent e) {
	Block block = e.getBlock();
	if (maybeSideTracked(block)) {
		trySideBreak(block, BreakType.FIRE, null);
	}
	if (maybeBelowTracked(block)) {
		block = block.getRelative(BlockFace.UP);
	}
	Location loc = block.getLocation();
	if (!pendingChecks.contains(loc)) {
		pendingChecks.add(loc);
		handleBreak(block, BreakType.FIRE, null, null);
	}
}
 
開發者ID:DevotedMC,項目名稱:CropControl,代碼行數:26,代碼來源:CropControlEventHandler.java

示例2: onBlockBurn

import org.bukkit.event.block.BlockBurnEvent; //導入依賴的package包/類
@EventWrapper
public void onBlockBurn(final BlockBurnEvent event) {
    Match match = PGM.getMatchManager().getMatch(event.getBlock().getWorld());
    if(match == null) return;

    BlockState oldState = event.getBlock().getState();
    BlockState newState = BlockStateUtils.toAir(oldState);
    MatchPlayerState igniterState = null;

    for(BlockFace face : NEIGHBORS) {
        Block neighbor = oldState.getBlock().getRelative(face);
        if(neighbor.getType() == Material.FIRE) {
            igniterState = blockResolver.getOwner(neighbor);
            if(igniterState != null) break;
        }
    }

    this.callEvent(event, oldState, newState, igniterState);
}
 
開發者ID:OvercastNetwork,項目名稱:ProjectAres,代碼行數:20,代碼來源:BlockTransformListener.java

示例3: onBlockBurn

import org.bukkit.event.block.BlockBurnEvent; //導入依賴的package包/類
@EventHandler
public void onBlockBurn(BlockBurnEvent event) throws InterruptedException {
    if (disabling) { return; }

    Block block = event.getBlock();

    if (plugin.needsCheck.contains(block)) {
        plugin.needsCheck.remove(block);
    }

    if (plugin.monitorBlocks.contains(block)) {
        while (plugin.isUpdatingChecks) {
            Thread.sleep(25);
        }
        plugin.monitorBlocks.remove(block);
    }
}
 
開發者ID:ArdiMaster,項目名稱:SunBurnsTrees,代碼行數:18,代碼來源:EventListener.java

示例4: onBurn

import org.bukkit.event.block.BlockBurnEvent; //導入依賴的package包/類
@EventHandler(priority = EventPriority.HIGH)
public void onBurn(BlockBurnEvent bbe) {
  Block block = bbe.getBlock();
  if (block == null) {
    return;
  }

  Game game = BedwarsRel.getInstance().getGameManager().getGameByLocation(block.getLocation());
  if (game == null) {
    return;
  }

  if (game.getState() == GameState.STOPPED) {
    return;
  }

  bbe.setCancelled(true);
}
 
開發者ID:BedwarsRel,項目名稱:BedwarsRel,代碼行數:19,代碼來源:BlockListener.java

示例5: onBlockBurn

import org.bukkit.event.block.BlockBurnEvent; //導入依賴的package包/類
@EventHandler
  public void onBlockBurn(BlockBurnEvent e){
  	RedProtect.get().logger.debug("RPBlockListener - Is BlockBurnEvent event");
  	if (e.isCancelled()){
  		return;
  	}
  	
  	Block b = e.getBlock();

  	Region r = RedProtect.get().rm.getTopRegion(b.getLocation());
  	if (r != null && !r.canFire()){
	e.setCancelled(true);
  		return;
}
  	
  	if (!cont.canWorldBreak(b)){
  		e.setCancelled(true);
}
  }
 
開發者ID:FabioZumbi12,項目名稱:RedProtect,代碼行數:20,代碼來源:RPBlockListener.java

示例6: onBlockBurn

import org.bukkit.event.block.BlockBurnEvent; //導入依賴的package包/類
@EventHandler(priority = EventPriority.HIGH)
public void onBlockBurn(final BlockBurnEvent event) {
	if (event.isCancelled())
		return;

	final Block block = event.getBlock();

	// Ok so a frame block is burning
	// Find the nearest gate!
	final WorldCoord blockCoord = new WorldCoord(block);
	final Gate nearestGate = Gates.gateFromFrameAndSurround(blockCoord);

	if (nearestGate != null) {
		event.setCancelled(true);
	}
}
 
開發者ID:NoChanceSD,項目名稱:AncientGates,代碼行數:17,代碼來源:PluginBlockListener.java

示例7: onBlockBurnEvent

import org.bukkit.event.block.BlockBurnEvent; //導入依賴的package包/類
@EventHandler(priority = EventPriority.LOW)
public void onBlockBurnEvent(BlockBurnEvent event) {
	bcoord.setFromLocation(event.getBlock().getLocation());

	StructureBlock sb = CivGlobal.getStructureBlock(bcoord);
	if (sb != null) {
		event.setCancelled(true);
		return;
	}

	RoadBlock rb = CivGlobal.getRoadBlock(bcoord);
	if (rb != null) {
		event.setCancelled(true);
		return;
	}

	CampBlock cb = CivGlobal.getCampBlock(bcoord);
	if (cb != null) {
		event.setCancelled(true);
		return;
	}
}
 
開發者ID:netizen539,項目名稱:civcraft,代碼行數:23,代碼來源:BlockListener.java

示例8: onBlockBurn

import org.bukkit.event.block.BlockBurnEvent; //導入依賴的package包/類
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onBlockBurn(BlockBurnEvent event) {
    Block b = event.getBlock();
    Location location = BukkitUtil.getLocation(b.getLocation());

    PlotArea area = location.getPlotArea();
    if (area == null) {
        return;
    }

    Plot plot = location.getOwnedPlot();
    if (plot == null || !plot.getFlag(Flags.BLOCK_BURN, false)) {
        event.setCancelled(true);
        return;
    }

}
 
開發者ID:IntellectualSites,項目名稱:PlotSquared,代碼行數:18,代碼來源:PlayerEvents.java

示例9: onBlockBurn

import org.bukkit.event.block.BlockBurnEvent; //導入依賴的package包/類
@EventHandler
public void onBlockBurn(BlockBurnEvent event) {
    Block block = event.getBlock();
    if (block.getRelative(BlockFace.UP).getType() == Material.FIRE) {
        block.getRelative(BlockFace.UP).setType(Material.AIR);
    }
   if (block.getRelative(BlockFace.NORTH).getType() == Material.FIRE) {
        block.getRelative(BlockFace.NORTH).setType(Material.AIR);
    }
   if (block.getRelative(BlockFace.SOUTH).getType() == Material.FIRE) {
        block.getRelative(BlockFace.SOUTH).setType(Material.AIR);
    }
   if (block.getRelative(BlockFace.WEST).getType() == Material.FIRE) {
        block.getRelative(BlockFace.WEST).setType(Material.AIR);
    }
   if (block.getRelative(BlockFace.EAST).getType() == Material.FIRE) {
        block.getRelative(BlockFace.EAST).setType(Material.AIR);
    }
   //rather than disabling fire spread, we make it burn itself out by targeting fire blocks and removing them
}
 
開發者ID:danieljohnson2,項目名稱:SnowballMadness,代碼行數:21,代碼來源:SnowballMadness.java

示例10: onBlockBurn

import org.bukkit.event.block.BlockBurnEvent; //導入依賴的package包/類
@EventHandler(priority = EventPriority.LOWEST)
public void onBlockBurn(final BlockBurnEvent event) {
    final Location location = event.getBlock().getLocation();

    if (!reinforcementManager.isWorldActive(location.getWorld().getName())) {
        return;
    }

    // If the block is not reinforced, it is allowed to burn normally.
    if (!reinforcementManager.isReinforced(location)) {
        return;
    }

    // If the block is reinforced, the burn event is cancelled for the block.
    event.setCancelled(true);

    // The block reinforcement is then damaged.
    reinforcementManager.damageBlock(location, null, BlockSaverDamageCause.FIRE);
}
 
開發者ID:MinerAp,項目名稱:block-saver,代碼行數:20,代碼來源:GeneralListener.java

示例11: onBlockBurn

import org.bukkit.event.block.BlockBurnEvent; //導入依賴的package包/類
@EventHandler
public void onBlockBurn(BlockBurnEvent event) {
    if (region.contains(event.getBlock().getLocation())) {
        if (materials == null || materials.contains(event.getBlock().getType())) {
            event.setCancelled(true);
        }
    }
}
 
開發者ID:WarzoneMC,項目名稱:Warzone,代碼行數:9,代碼來源:Monument.java

示例12: onBlockBurn

import org.bukkit.event.block.BlockBurnEvent; //導入依賴的package包/類
/**
 * Prevents fire spread
 * @param e
 */
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
public void onBlockBurn(BlockBurnEvent e) {
    if (DEBUG) {
        plugin.getLogger().info(e.getEventName());
    }
    if (!Util.inWorld(e.getBlock())) {
        //plugin.getLogger().info("DEBUG: Not in world");
        return;
    }
    if (actionAllowed(e.getBlock().getLocation(), SettingsFlag.FIRE_SPREAD)) {
        return;
    }
    e.setCancelled(true);
}
 
開發者ID:tastybento,項目名稱:bskyblock,代碼行數:19,代碼來源:IslandGuard.java

示例13: BlockBurn

import org.bukkit.event.block.BlockBurnEvent; //導入依賴的package包/類
@EventHandler
public void BlockBurn(BlockBurnEvent e) {
	if (ConfigGServerEvent.getConfig().getBoolean("Server.Disable.Burn-block.Enable")) {
		if (!ConfigGServerEvent.getConfig().getBoolean("Server.Disable.Burn-block.World.All_World")) {
			if (WorldUtils.getWBB().contains(e.getBlock().getWorld().getName())) {
				e.setCancelled(true);
			}
		} else {
			e.setCancelled(true);
		}
    }
}
 
開發者ID:DianoxDragon,項目名稱:UltimateSpawn,代碼行數:13,代碼來源:BasicFeatures.java

示例14: onBlockBurn

import org.bukkit.event.block.BlockBurnEvent; //導入依賴的package包/類
@EventHandler(ignoreCancelled = false)
public void onBlockBurn(cn.nukkit.event.block.BlockBurnEvent event) {
	if (canIgnore(BlockBurnEvent.getHandlerList())) {
		return;
	}

	cn.nukkit.block.Block burning = event.getBlock();

	// Nukkit does not provide ignitingBlock, so we have to use this
	// deprecated method
	@SuppressWarnings("deprecation")
	BlockBurnEvent bukkitEvent = new BlockBurnEvent(PokkitBlock.toBukkit(burning));
	callCancellable(event, bukkitEvent);
}
 
開發者ID:rutgerkok,項目名稱:Pokkit,代碼行數:15,代碼來源:PlayerBlockEvents.java

示例15: onBlockBurn

import org.bukkit.event.block.BlockBurnEvent; //導入依賴的package包/類
@EventHandler
  public void onBlockBurn(BlockBurnEvent e){
  	if (e.isCancelled()){
  		return;
  	}
  	Block b = e.getBlock();
  	Region r = RedProtect.get().rm.getTopRegion(b.getLocation());
  	if (r != null){
  		return;
  	}
  	
if (!RPConfig.getGlobalFlagBool(b.getWorld().getName()+".fire-block-damage")){
	e.setCancelled(true);
}
  }
 
開發者ID:FabioZumbi12,項目名稱:RedProtect,代碼行數:16,代碼來源:RPGlobalListener.java


注:本文中的org.bukkit.event.block.BlockBurnEvent類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。