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


Java BlockDamageEvent類代碼示例

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


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

示例1: onBlockDamage

import org.bukkit.event.block.BlockDamageEvent; //導入依賴的package包/類
@EventHandler(priority = EventPriority.MONITOR)
public void onBlockDamage(BlockDamageEvent event) {
    if (event.isCancelled() || !OrebfuscatorConfig.UpdateOnDamage) {
        return;
    }

    if (!BlockUpdate.needsUpdate(event.getBlock())) {
        return;
    }

    if (!BlockHitManager.hitBlock(event.getPlayer(), event.getBlock())) {
        return;
    }

    BlockUpdate.Update(event.getBlock());
}
 
開發者ID:SamaGames,項目名稱:AntiCheat,代碼行數:17,代碼來源:OrebfuscatorBlockListener.java

示例2: checkBlockDamage

import org.bukkit.event.block.BlockDamageEvent; //導入依賴的package包/類
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
public void checkBlockDamage(final BlockDamageEvent event) {
    MatchPlayer player = this.match.getParticipant(event.getPlayer());
    if(player == null) return;

    PlayerBlockEventQuery query = new PlayerBlockEventQuery(player, event, event.getBlock().getState());

    for(EventRule rule : this.ruleContext.get(EventRuleScope.BLOCK_BREAK)) {
        if(rule.earlyWarning() && rule.region().contains(event.getBlock())) {
            if(processQuery(rule, query)) {
                if(event.isCancelled() && rule.message() != null) {
                    player.sendWarning(rule.message(), true);
                }
                if(this.useRegionPriority) {
                    break;
                }
            }
        }
    }
}
 
開發者ID:OvercastNetwork,項目名稱:ProjectAres,代碼行數:21,代碼來源:EventRuleMatchModule.java

示例3: processBlockDamage

import org.bukkit.event.block.BlockDamageEvent; //導入依賴的package包/類
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void processBlockDamage(BlockDamageEvent event) {
    if(this.match.getWorld() != event.getBlock().getWorld()) return;

    Block block = event.getBlock();
    MaterialData material = block.getState().getData();
    MatchPlayer player = this.match.getPlayer(event.getPlayer());

    for(Destroyable destroyable : this.destroyables) {
        if(player != null &&
           player.getParty() == destroyable.getOwner() &&
           !destroyable.isDestroyed() &&
           destroyable.getBlockRegion().contains(block) &&
           destroyable.hasMaterial(material)) {

            event.setCancelled(true);
            player.sendWarning(new TranslatableComponent("match.destroyable.damageOwn"), true);
        }
    }
}
 
開發者ID:OvercastNetwork,項目名稱:ProjectAres,代碼行數:21,代碼來源:DestroyableMatchModule.java

示例4: onBlockDamage

import org.bukkit.event.block.BlockDamageEvent; //導入依賴的package包/類
/**
 * Filters BlockDamageEvent, Used for early warnings.
 *
 * <p>Applies to: block and block break<p/>
 */
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
public void onBlockDamage(BlockDamageEvent event) {
  Match match = Cardinal.getMatch(event.getPlayer());
  if (match == null || !match.hasPlayer(event.getPlayer())) {
    return;
  }
  for (AppliedRegion reg : get(match, ApplyType.BLOCK, ApplyType.BLOCK_BREAK)) {
    Block evaluating = event.getBlock();

    if (apply(reg, evaluating.getLocation(), event.getPlayer(), event, event, evaluating, event.getPlayer())) {
      if (event.isCancelled()) {
        event.setCancelled(false);
      }
      break;
    }
  }
}
 
開發者ID:CardinalDevelopment,項目名稱:Cardinal,代碼行數:23,代碼來源:AppliedModule.java

示例5: BlockChangerFinal

import org.bukkit.event.block.BlockDamageEvent; //導入依賴的package包/類
public BlockChangerFinal() {
  Listeners(new Listener() {
    @EventHandler public void onBlockDamage(BlockDamageEvent event) {
      if (blockChangerUsers.containsKey(event.getPlayer())) {
        event.getBlock().setTypeId(blockChangerUsers.get(event.getPlayer()).getId());
      }
    }
  });
  Commands((Command(
      "bc",
      "Hit blocks to change them to the block with type blockId, or just /bc to turn it off.",
      opt(material),
      (p, om) -> om.foldV(
        () -> {
          blockChangerUsers.remove(p);
          p.sendMessage(ChatColor.RED + "BlockChanger has been disabled!");
        },
        m -> {
          blockChangerUsers.put(p, om.get());
            p.sendMessage(ChatColor.BLUE + "BlockChanger using: " + m.name());
        }
      )
  )));
}
 
開發者ID:joshcough,項目名稱:MinecraftPluginsJava8,代碼行數:25,代碼來源:BlockChangerFinal.java

示例6: onBlockDamage

import org.bukkit.event.block.BlockDamageEvent; //導入依賴的package包/類
@EventHandler(priority = EventPriority.MONITOR)
public void onBlockDamage(BlockDamageEvent event) {
    Player player = event.getPlayer();
    if (event.getInstaBreak() || Utilities.isInstantBreak(event.getBlock().getType())) {
        getBackend().logInstantBreak(player);
    }
    if (getCheckManager().willCheck(player, CheckType.AUTOTOOL)) {
        CheckResult result = getBackend().checkAutoTool(player);
        if (result.failed()) {
            event.setCancelled(!silentMode());
            log(result.getMessage(), player, CheckType.AUTOTOOL);
        }
    }

    AntiCheat.getManager().addEvent(event.getEventName(), event.getHandlers().getRegisteredListeners());
}
 
開發者ID:Obsidian-Realm,項目名稱:AntiCheat-COMPAT,代碼行數:17,代碼來源:BlockListener.java

示例7: onInteract

import org.bukkit.event.block.BlockDamageEvent; //導入依賴的package包/類
@EventHandler(priority = EventPriority.HIGH)
public void onInteract(BlockDamageEvent event) {
    Player player = event.getPlayer();
    if (player.getGameMode() != GameMode.SURVIVAL) {
        return;
    }
    Plot plot = BukkitUtil.getLocation(player).getOwnedPlot();
    if (plot == null) {
        return;
    }
    if (Flags.INSTABREAK.isTrue(plot)) {
        Block block = event.getBlock();
        BlockBreakEvent call = new BlockBreakEvent(block, player);
        Bukkit.getServer().getPluginManager().callEvent(call);
        if (!call.isCancelled()) {
            event.getBlock().breakNaturally();
        }
    }
}
 
開發者ID:IntellectualSites,項目名稱:PlotSquared,代碼行數:20,代碼來源:PlotPlusListener.java

示例8: onDamage

import org.bukkit.event.block.BlockDamageEvent; //導入依賴的package包/類
@EventHandler(priority = EventPriority.HIGH)
public void onDamage(BlockDamageEvent event)
{

    //plugin.getLogger().info("Clicked block not null confirmed!");
    Block b = event.getBlock();
    if (GarbageControl.DespawningIce.contains(b.getLocation()))
    {
        //plugin.getLogger().info("icePowerupBlock confirmed!");
        if (plugin.getConfig().getBoolean("Powerups.Ice.Breakable"))
        {
            //plugin.getLogger().info("Breakable confirmed!");
            event.setInstaBreak(true);
        }
    }
}
 
開發者ID:ColonelHedgehog,項目名稱:Equestrian-Dash,代碼行數:17,代碼來源:BlockDamageListener.java

示例9: onBlockDamageEvent

import org.bukkit.event.block.BlockDamageEvent; //導入依賴的package包/類
@EventHandler
public void onBlockDamageEvent(BlockDamageEvent e) {
	Player p = e.getPlayer();
	long indexof = Managers.getGroupManager().indexOf(Managers.getPlatform().toPlayer(p));
	if (indexof == -1)
		return;
	Group g = Managers.getGroupManager().get(indexof);
	if (g.getQuestStatus() == QuestStatus.INQUEST) {
		Quest q = g.getQuest();
		// by default, I don't allow this to happen.
		e.setCancelled(true);
		
		// FIXME edits
		
		e.getPlayer().sendMessage(ChatColor.YELLOW + "[!] " + q.getDetails().getProperty(QuestDetails.QUEST_EDITMESSAGE));
	}
}
 
開發者ID:Minequest,項目名稱:Core-Bukkit,代碼行數:18,代碼來源:BukkitQuestManager.java

示例10: onBlockDamage

import org.bukkit.event.block.BlockDamageEvent; //導入依賴的package包/類
@EventHandler(priority = EventPriority.HIGHEST)
public void onBlockDamage(BlockDamageEvent event) {
  Sign sign;
  if (!event.isCancelled()
      && event.getBlock() != null
      && (event.getBlock().getType() == Material.WALL_SIGN || event
          .getBlock().getType() == Material.SIGN_POST)) {
    sign = (Sign) event.getBlock().getState();

    if (sign.getLine(0).equals(
        "" + ChatColor.GRAY + ChatColor.BOLD + "[" + ChatColor.YELLOW + "ATM"
            + ChatColor.GRAY + "]")
        && !tgym.Vault.HasPermissions(event.getPlayer(), "tgym.atm.create"))
      event.setCancelled(true);
  }
}
 
開發者ID:Vild,項目名稱:TimeGivesYouMoney,代碼行數:17,代碼來源:BlockListener.java

示例11: preventBlockDamageWithGun

import org.bukkit.event.block.BlockDamageEvent; //導入依賴的package包/類
/**
 * Prevent using the gun-item to damage blocks (cancels even damaging)
 * @param event the damage event
 */
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void preventBlockDamageWithGun(BlockDamageEvent event) {
	if (event.getItemInHand() == null)
		return;
	
	ItemStack item = event.getItemInHand();
	StandardGun gun = findGun(item);
	if (gun == null) // can't match it
		return;
	
	event.setCancelled(true);
}
 
開發者ID:ProgrammerDan,項目名稱:AddGun,代碼行數:17,代碼來源:Guns.java

示例12: preventBlockDamageWithGun

import org.bukkit.event.block.BlockDamageEvent; //導入依賴的package包/類
/**
 * Prevent using the gun-item to damage blocks (cancels even damaging)
 * @param event the damage event
 */
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void preventBlockDamageWithGun(BlockDamageEvent event) {
	if (isGun(event.getItemInHand())) {
		event.setCancelled(true);
	}
}
 
開發者ID:ProgrammerDan,項目名稱:AddGun,代碼行數:11,代碼來源:RailGun.java

示例13: onBlockDamage

import org.bukkit.event.block.BlockDamageEvent; //導入依賴的package包/類
@EventHandler (priority = EventPriority.MONITOR, ignoreCancelled = true)
    public void onBlockDamage(BlockDamageEvent event){
        if(!active) return;
//        if(event.getPlayer().isOnGround()) return;
//        if(event.getPlayer().isFlying()) return;
        Block block = event.getBlock();
        Bukkit.getScheduler().runTaskLater(this, () -> event.getPlayer().sendBlockChange(block.getLocation(), block.getType(), block.getData()), 3);
    }
 
開發者ID:RypoFalem,項目名稱:GhostBuster,代碼行數:9,代碼來源:GhostBusterPlugin.java

示例14: damageCheck

import org.bukkit.event.block.BlockDamageEvent; //導入依賴的package包/類
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void damageCheck(BlockDamageEvent event) {
    Block block = event.getBlock();
    if(block.getWorld() != this.match.getWorld()) return;
    MatchPlayer player = this.match.getPlayer(event.getPlayer());
    Vector center = BlockUtils.center(block).toVector();

    for(Core core : this.cores) {
        if(!core.hasLeaked() && core.getCasingRegion().contains(center) && player.getParty() == core.getOwner()) {
            event.setCancelled(true);
            player.sendWarning(PGMTranslations.t("match.core.damageOwn", player), true);
        }
    }
}
 
開發者ID:OvercastNetwork,項目名稱:ProjectAres,代碼行數:15,代碼來源:CoreMatchModule.java

示例15: onBlockDamage

import org.bukkit.event.block.BlockDamageEvent; //導入依賴的package包/類
/**
 * Set obsidian only breakable by a diamond pickage
 *
 * @param event Event
 */
@EventHandler
public void onBlockDamage(BlockDamageEvent event)
{
    if (event.getBlock().getType() == Material.OBSIDIAN && event.getItemInHand().getType() != Material.DIAMOND_PICKAXE)
        event.setCancelled(true);
}
 
開發者ID:SamaGames,項目名稱:SurvivalAPI,代碼行數:12,代碼來源:HardObsidianModule.java


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