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


Java BlockPhysicsEvent.getBlock方法代碼示例

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


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

示例1: onBlockPhysics

import org.bukkit.event.block.BlockPhysicsEvent; //導入方法依賴的package包/類
@EventHandler(priority = EventPriority.HIGH)
public void onBlockPhysics(final BlockPhysicsEvent event) {
	if (!event.isCancelled()) {

		final Block block = event.getBlock();
		if (Craft_Hyperspace.hyperspaceBlocks.contains(block)) {
			event.setCancelled(true);
		}

		
		if ((block.getTypeId() == 63) || (block.getTypeId() == 68) || (block.getTypeId() == 50) || (block.getTypeId() == 75) || (block.getTypeId() == 76) || (block.getTypeId() == 65) || (block.getTypeId() == 64) || (block.getTypeId() == 71) || (block.getTypeId() == 70) || (block.getTypeId() == 72) || (block.getTypeId() == 143)) {
			Craft c = Craft.getCraft(block.getX(), block.getY(), block.getZ());
			if (c != null) {

				// if not iron door being controlled by circuit...
				if ((event.getChangedTypeId() != 0) && !(((block.getTypeId() == 71) || (block.getTypeId() == 64)) && ((event.getChangedTypeId() == 69) || (event.getChangedTypeId() == 77) || (event.getChangedTypeId() == 55) || (event.getChangedTypeId() == 70) || (event.getChangedTypeId() == 72) || (block.getTypeId() == 143) || (block.getTypeId() == 75) || (block.getTypeId() == 76) || (block.getTypeId() == 50)))) {

					event.setCancelled(true);
				}
			}
		}
		
	}
}
 
開發者ID:Maximuspayne,項目名稱:NavyCraft2-Lite,代碼行數:25,代碼來源:NavyCraft_BlockListener.java

示例2: onBlockPhysics

import org.bukkit.event.block.BlockPhysicsEvent; //導入方法依賴的package包/類
@EventHandler(priority = EventPriority.NORMAL)
public void onBlockPhysics(final BlockPhysicsEvent event) {
	if (event.isCancelled())
		return;

	final Block block = event.getBlock();
	final WorldCoord coord = new WorldCoord(block);

	// Stop portal blocks from breaking
	if (BlockUtil.isStandableGateMaterial(block.getType()) && Gates.gateFromPortal(coord) != null) {
		event.setCancelled(true);
	}

	// Stop sand falling when part of the frame
	if (block.getType() == Material.SAND && Gates.gateFromFrame(coord) != null) {
		event.setCancelled(true);
	}

	return;
}
 
開發者ID:NoChanceSD,項目名稱:AncientGates,代碼行數:21,代碼來源:PluginBlockListener.java

示例3: onBlockPhysics

import org.bukkit.event.block.BlockPhysicsEvent; //導入方法依賴的package包/類
@Override
public void onBlockPhysics(BlockPhysicsEvent event) {
    final Block b = event.getBlock();
    long timeNow = getLocation().getWorld().getFullTime();
    Debugger.getInstance().debug(this + ": BUD physics: time=" + timeNow + ", lastPulse=" + lastPulse + ", duration=" + getDuration());
    if (timeNow - lastPulse > getDuration() + getQuiet() && isRedstoneActive()) {
        // emit a signal for one or more ticks
        lastPulse = timeNow;
        active = true;
        repaint(b);
        Bukkit.getScheduler().runTaskLater(getProviderPlugin(), new Runnable() {
            @Override
            public void run() {
                active = false;
                repaint(b);
            }
        }, duration);
    }
}
 
開發者ID:desht,項目名稱:sensibletoolbox,代碼行數:20,代碼來源:BlockUpdateDetector.java

示例4: onBlockPhysics

import org.bukkit.event.block.BlockPhysicsEvent; //導入方法依賴的package包/類
@EventHandler (priority = EventPriority.LOW, ignoreCancelled = true)
public void onBlockPhysics(BlockPhysicsEvent event) {
    final Block physics = event.getBlock();
    if (physics.getRelative(BlockFace.DOWN).getType() != Material.AIR) {
        return;
    }
    final Sprout sprout = plugin.getWorldRegistry().remove(physics.getWorld().getName(), physics.getX(), physics.getY(), physics.getZ());
    final SaveThread thread = ((SaveThread) ThreadRegistry.get(physics.getWorld().getName()));
    if (thread != null) {
        thread.remove(physics.getLocation(), (SimpleSprout) sprout);
    }
    if (sprout == null) {
        return;
    }
    event.setCancelled(true);
    physics.setType(Material.AIR);
    ((SpoutBlock) physics).setCustomBlock(null);
    if (!sprout.getRequiredTools().isEmpty()) {
    	disperseDrops(sprout, physics, false);
    }
}
 
開發者ID:AlmuraDev,項目名稱:Sprout,代碼行數:22,代碼來源:SproutListener.java

示例5: handleBlockPhysics

import org.bukkit.event.block.BlockPhysicsEvent; //導入方法依賴的package包/類
public void handleBlockPhysics(BlockPhysicsEvent event) {
    Block block = event.getBlock();

    if(this.waitingBlocks.remove(block)) {
        processBlock(block, block.isBlockPowered());
    }
}
 
開發者ID:Aleksey-Terzi,項目名稱:CastleGates,代碼行數:8,代碼來源:BridgeEventHandler.java

示例6: onRedstone

import org.bukkit.event.block.BlockPhysicsEvent; //導入方法依賴的package包/類
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onRedstone(BlockPhysicsEvent event) {
    if (event.getChangedType() != Material.DIODE_BLOCK_ON)
        return;
    Block blockUpdated = event.getBlock();
    if(blockUpdated.getType() != Material.LEVER){
    	return;
    }

	plugin.queueDetect(blockUpdated);
}
 
開發者ID:StarQuestMinecraft,項目名稱:StarQuestCode,代碼行數:12,代碼來源:RedstoneBridgeListener.java

示例7: signDetachCheck

import org.bukkit.event.block.BlockPhysicsEvent; //導入方法依賴的package包/類
/**
 * Block physics event handler<br>
 * remove detached death chest signs from game to prevent players gaining additional signs
 * @param event
 */
@EventHandler
public void signDetachCheck(BlockPhysicsEvent event) {

	Block block = event.getBlock();

	// if event is cancelled, do nothing and return
	if (event.isCancelled()) {
		return;
	}
	
	// if block is not a DeathChestBlock, do nothing and return
	if (!DeathChestBlock.isDeathChestBlock(block)) {
		return;
	}
	
	// if block is not a sign, do nothing and return
	if (block.getType() != Material.WALL_SIGN && block.getType() != Material.SIGN_POST) {
		return;
	}
	
    Sign sign = (Sign)block.getState().getData();
	Block attached_block = block.getRelative(sign.getAttachedFace());
    
	// if attached block is still there, do nothing and return
	if (attached_block.getType() != Material.AIR) {
		return;
	}
	
	// cancel event
	event.setCancelled(true);
	
	// destroy DeathChestBlock
	plugin.chestManager.destroyDeathChestBlock(block);
}
 
開發者ID:tim-savage,項目名稱:SavageDeathChest,代碼行數:40,代碼來源:BlockEventListener.java

示例8: onBlockPhysics

import org.bukkit.event.block.BlockPhysicsEvent; //導入方法依賴的package包/類
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
void onBlockPhysics(BlockPhysicsEvent event) {
	Block block = event.getBlock();
	if (cancelNextBlockPhysicsLoc != null && cancelNextBlockPhysicsLoc.equals(block.getLocation())) {
		event.setCancelled(true);
	} else {
		if (Utils.isSign(block.getType()) && plugin.getShopkeeperByBlock(block) != null) {
			event.setCancelled(true);
		}
	}
}
 
開發者ID:nisovin,項目名稱:Shopkeepers,代碼行數:12,代碼來源:SignShopListener.java


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