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


Java BlockIgniteEvent類代碼示例

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


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

示例1: onBlockIgnite

import org.bukkit.event.block.BlockIgniteEvent; //導入依賴的package包/類
@EventWrapper
public void onBlockIgnite(final BlockIgniteEvent event) {
    // Flint & steel generates a BlockPlaceEvent
    if(event.getCause() == BlockIgniteEvent.IgniteCause.FLINT_AND_STEEL) return;

    BlockState oldState = event.getBlock().getState();
    BlockState newState = BlockStateUtils.cloneWithMaterial(event.getBlock(), Material.FIRE);
    ParticipantState igniter = null;

    if(event.getIgnitingEntity() != null) {
        // The player themselves using flint & steel, or any of
        // several types of owned entity starting or spreading a fire.
        igniter = entityResolver.getOwner(event.getIgnitingEntity());
    } else if(event.getIgnitingBlock() != null) {
        // Fire, lava, or flint & steel in a dispenser
        igniter = blockResolver.getOwner(event.getIgnitingBlock());
    }

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

示例2: ignite

import org.bukkit.event.block.BlockIgniteEvent; //導入依賴的package包/類
@SuppressWarnings("deprecation")
public boolean ignite(Player igniter, Location loc, IgniteCause cause) {
    Random rand = new Random();

    loc.add(0.5, 0.5, 0.5);
    
    BlockIgniteEvent igniteEvent = new BlockIgniteEvent(loc.getBlock(), 
            cause, (org.bukkit.entity.Entity) igniter);
    Bukkit.getServer().getPluginManager().callEvent(igniteEvent);
    if (igniteEvent.isCancelled()) {
        return false;
    }
 
    BlockState blockState = loc.getBlock().getState();
 
    BlockPlaceEvent placeEvent = new BlockPlaceEvent(loc.getBlock(), 
            blockState, loc.getBlock(), igniter.getItemInHand(), igniter, true);
    Bukkit.getServer().getPluginManager().callEvent(placeEvent);
 
    if (placeEvent.isCancelled() || !placeEvent.canBuild()) {
        placeEvent.getBlockPlaced().setTypeIdAndData(0, (byte) 0, false);
        return false;
    }

    loc.getWorld().playSound(loc, Sound.ITEM_FLINTANDSTEEL_USE, 1.0F, rand.nextFloat() * 0.4F + 0.8F);
    loc.getBlock().setType(Material.FIRE);
    
    return true;
}
 
開發者ID:FattyMieo,項目名稱:SurvivalPlus,代碼行數:30,代碼來源:FirestrikerClick.java

示例3: FireSpread

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

示例4: onBlockIgnite

import org.bukkit.event.block.BlockIgniteEvent; //導入依賴的package包/類
@EventHandler
public void onBlockIgnite(BlockIgniteEvent event) {
	Player player = event.getPlayer();
	if(player != null){
		Block block = event.getBlock();
		if(block != null && block.getRelative(BlockFace.DOWN).getType().equals(Material.NETHERRACK) && block.getRelative(BlockFace.DOWN, 2).getType().equals(Material.NETHERRACK)){
			if(block.getRelative(BlockFace.DOWN).getRelative(BlockFace.EAST).getType().equals(Material.TRAP_DOOR) || block.getRelative(BlockFace.DOWN).getRelative(BlockFace.WEST).getType().equals(Material.TRAP_DOOR) || block.getRelative(BlockFace.DOWN).getRelative(BlockFace.SOUTH).getType().equals(Material.TRAP_DOOR) || block.getRelative(BlockFace.DOWN).getRelative(BlockFace.NORTH).getType().equals(Material.TRAP_DOOR)){
				if(player.hasPermission("pmf.createfireplace")){
					block.getRelative(BlockFace.DOWN).setType(Material.FIRE, false);
					player.sendMessage(ChatColor.GREEN + "[PMF] Fireplace has been created!");
				} else {
					player.sendMessage(ChatColor.RED + "[PMF] You need the permission pmf.createfireplace to create a fireplace!");
				}
			}
		}
	}
}
 
開發者ID:Mahagon,項目名稱:ProtectMyFireplace,代碼行數:18,代碼來源:BlockListener.java

示例5: onBlockStartBurn

import org.bukkit.event.block.BlockIgniteEvent; //導入依賴的package包/類
@EventHandler
   public void onBlockStartBurn(BlockIgniteEvent e){
   	if (e.isCancelled()){
   		return;
   	}
   	
   	Block b = e.getBlock();
   	Block bignit = e.getIgnitingBlock(); 
   	if ( b == null || bignit == null){
   		return;
   	}
   	RedProtect.get().logger.debug("Is BlockIgniteEvent event from global-listener");
   	Region r = RedProtect.get().rm.getTopRegion(b.getLocation());
   	if (r != null){
   		return;
   	}
   	if ((bignit.getType().equals(Material.FIRE) || bignit.getType().name().contains("LAVA")) && !RPConfig.getGlobalFlagBool(b.getWorld().getName()+".fire-spread")){
		e.setCancelled(true);
       }
}
 
開發者ID:FabioZumbi12,項目名稱:RedProtect,代碼行數:21,代碼來源:RPGlobalListener.java

示例6: onBlockIgnite

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

	final Block block = event.getBlock();

	// Ok so a frame block ignites
	// 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: onBlockIgnite

import org.bukkit.event.block.BlockIgniteEvent; //導入依賴的package包/類
@EventHandler
public void onBlockIgnite(BlockIgniteEvent event) {
    Block block = event.getBlock();
    String world = block.getWorld().getUID().toString();
    Integer x = block.getLocation().getChunk().getX(), z = block.getLocation().getChunk().getZ();
    if (QuickChecks.isWorldChunkClaimed(serverdata.get("worldmap").get(world), x, z, "cla")) {
        String pvillage = ((HashMap) ((HashMap) serverdata.get("worldmap").get(world).get(x)).get(z)).get("cla").toString();
        if (serverdata.get("villages").get(pvillage).containsKey("fire")) {
            if (serverdata.get("villages").get(pvillage).get("fire").equals("off")) {
                event.setCancelled(true);
            }
        } else if (Config.getString("Village Settings.Toggle Settings.Fire Enabled").equals("off")) {
            event.setCancelled(true);
        }
    }
}
 
開發者ID:N1T3SLAY3R,項目名稱:Empirecraft,代碼行數:17,代碼來源:OnBlockIgnite.java

示例8: onBlockIgnite

import org.bukkit.event.block.BlockIgniteEvent; //導入依賴的package包/類
@EventHandler(priority = EventPriority.LOWEST)
public void onBlockIgnite(BlockIgniteEvent 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;
    }

    Player player = null;

    if (BlockIgniteEvent.IgniteCause.FLINT_AND_STEEL.equals(event.getCause())) {
        player = event.getPlayer();
    }

    // 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, player, BlockSaverDamageCause.FIRE);
}
 
開發者ID:MinerAp,項目名稱:block-saver,代碼行數:26,代碼來源:GeneralListener.java

示例9: WhenFireLimitor

import org.bukkit.event.block.BlockIgniteEvent; //導入依賴的package包/類
@EventHandler
public void WhenFireLimitor(BlockIgniteEvent event) {
    if (ConfigOptimize.FireLimitorenable == true) {
        if (event.getCause() == IgniteCause.FLINT_AND_STEEL) {
            return;
        }
        Block block = event.getBlock();
        if (CheckFast(block.getChunk())) {
            event.setCancelled(true);
        } else {
            ChunkChecked.put(block.getChunk(), System.currentTimeMillis());
        }
    }
}
 
開發者ID:GelandiAssociation,項目名稱:EscapeLag,代碼行數:15,代碼來源:FireLimitor.java

示例10: isManual

import org.bukkit.event.block.BlockIgniteEvent; //導入依賴的package包/類
/**
 * Return true if the block transformation was performed "by hand".
 *
 * Handled:
 *  - place
 *  - mine
 *  - bucket fill/empty
 *  - flint & steel fire/tnt
 *
 * Not handled:
 *  - bonemeal
 *  - probably lots of other things
 */
public boolean isManual() {
    final Event event = getCause();

    if(Types.instanceOfAny(
        event,
        BlockPlaceEvent.class,
        BlockBreakEvent.class,
        PlayerBucketEmptyEvent.class,
        PlayerBucketFillEvent.class
    )) return true;

    if(event instanceof BlockIgniteEvent) {
        BlockIgniteEvent igniteEvent = (BlockIgniteEvent) event;
        if(igniteEvent.getCause() == BlockIgniteEvent.IgniteCause.FLINT_AND_STEEL && igniteEvent.getIgnitingEntity() != null) {
            return true;
        }
    }

    if(event instanceof ExplosionPrimeByEntityEvent && ((ExplosionPrimeByEntityEvent) event).getPrimer() instanceof Player) {
        return true;
    }

    return false;
}
 
開發者ID:OvercastNetwork,項目名稱:ProjectAres,代碼行數:38,代碼來源:BlockTransformEvent.java

示例11: fireSpread

import org.bukkit.event.block.BlockIgniteEvent; //導入依賴的package包/類
@EventHandler
public void fireSpread(final BlockIgniteEvent e) {
	if (!cm.fireSpreadControllerEnabled) {
		return;
	}
	if (BlockIgniteEvent.IgniteCause.SPREAD == e.getCause()) {
		long now = System.currentTimeMillis();
		if (now > this.lastfireSpread + cm.fireSpreadInterval) {
			this.lastfireSpread = now;
		} else {
			e.setCancelled(true);
		}
	}
}
 
開發者ID:jiongjionger,項目名稱:NeverLag,代碼行數:15,代碼來源:FireSpreadReducer.java

示例12: onBlockIgnite

import org.bukkit.event.block.BlockIgniteEvent; //導入依賴的package包/類
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGH)
public void onBlockIgnite(BlockIgniteEvent event) {
    Player player = event.getPlayer();
    if (player == null)
        return;
    long remaining = getRemaining(player);
    if (remaining > 0L) {
        event.setCancelled(true);
        player.sendMessage(ChatColor.RED + "You cannot ignite blocks as your " + getDisplayName() + ChatColor.RED + " timer is active [" + ChatColor.BOLD
                + DurationFormatter.getRemaining(remaining, true, false) + ChatColor.RED + " remaining]");
    }
}
 
開發者ID:funkemunky,項目名稱:HCFCore,代碼行數:13,代碼來源:InvincibilityTimer.java

示例13: onBlockIgnite

import org.bukkit.event.block.BlockIgniteEvent; //導入依賴的package包/類
@EventHandler
public void onBlockIgnite(BlockIgniteEvent event)
{   
	//logger.info("Cause: " + event.getCause().name());
	
	// Because we don't have any info about which player sent the fireball, disable block burning in World only (won't affect nether)
    if(event.getCause() == BlockIgniteEvent.IgniteCause.FIREBALL
    		&& event.getBlock().getWorld().getName().equalsIgnoreCase("World"))
    {
    	event.setCancelled(true);
    }
}
 
開發者ID:Allov,項目名稱:world-of-icerealm,代碼行數:13,代碼來源:FireStoper.java

示例14: onBlockIgnite

import org.bukkit.event.block.BlockIgniteEvent; //導入依賴的package包/類
@EventHandler(ignoreCancelled = true)
public void onBlockIgnite(BlockIgniteEvent event) {
    BlockIgniteEvent.IgniteCause cause =
            BlockIgniteEvent.IgniteCause.FLINT_AND_STEEL;
    if (event.getCause().equals(cause)) {
        return;
    }

    BlockState newState = this.applyState(event.getBlock(), Material.FIRE);
    this.post(event,
              event.getBlock().getState(),
              newState,
              event.getPlayer());
}
 
開發者ID:ShootGame,項目名稱:Arcade2,代碼行數:15,代碼來源:BlockTransformListeners.java

示例15: onBlockIgnite

import org.bukkit.event.block.BlockIgniteEvent; //導入依賴的package包/類
@EventHandler
public void onBlockIgnite(BlockIgniteEvent event)
{
	IgniteCause ic = event.getCause();
	if(ic != IgniteCause.FLINT_AND_STEEL)
		event.setCancelled(true);
}
 
開發者ID:Limeth,項目名稱:Breakpoint,代碼行數:8,代碼來源:PlayerInteractListener.java


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