本文整理匯總了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);
}
}
}
}
}
示例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;
}
示例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);
}
}
示例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);
}
}
示例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());
}
}
示例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);
}
示例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);
}
示例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);
}
}
}