Java 类org.bukkit.event.inventory.CraftItemEvent 实例源码

项目:bskyblock    文件:IslandGuard.java   
/**
 * Prevents crafting of EnderChest unless the player has permission
 *
 * @param event
 */
@EventHandler(priority = EventPriority.LOW)
public void onCraft(CraftItemEvent event) {
    if (DEBUG) {
        plugin.getLogger().info(event.getEventName());
    }
    Player player = (Player) event.getWhoClicked();
    if (Util.inWorld(player) || player.getWorld().equals(IslandWorld.getNetherWorld())) {
        if (event.getRecipe().getResult().getType() == Material.ENDER_CHEST) {
            if (!(player.hasPermission(Settings.PERMPREFIX + "craft.enderchest"))) {
                Util.sendMessage(player, plugin.getLocale(player.getUniqueId()).get("general.errors.no-permission"));
                event.setCancelled(true);
            }
        }
    }
}
项目:Bags2    文件:CraftListener.java   
@EventHandler
public void onCraft(CraftItemEvent e)
{
    Player p = (Player) e.getWhoClicked();
    if(e.getRecipe() instanceof ShapedRecipe)
    {
        ShapedRecipe sr = (ShapedRecipe) e.getRecipe();
        if(Bukkit.getBukkitVersion().contains("1.11"))
        {
            for(BagBase  bb : Util.getBags())
            {
                if(((ShapedRecipe)bb.getRecipe()).getShape().equals(sr.getShape()))
                {
                    if(!hasPermission(new Permission("bag.craft." + bb.getName(), PermissionDefault.TRUE), p))
                    e.setCancelled(true);                   
                }
            }
        }
        else
        if(sr.getKey().getNamespace().startsWith("bag_"))
        {
            if(!hasPermission(new Permission("bag.craft." + sr.getKey().getKey(), PermissionDefault.TRUE), p))
            e.setCancelled(true);
        }
    }
}
项目:OpenUHC    文件:BenchBlitz.java   
/**
 * Limits the player to one workbench by means of crafting.
 *
 * @param event The event
 */
@EventHandler(ignoreCancelled = true)
public void onCraftItem(CraftItemEvent event) {
  if (event.getRecipe().getResult().getType().equals(Material.WORKBENCH)) {
    Player player = (Player) event.getWhoClicked();
    UUID uuid = player.getUniqueId();
    if (craftedWorkbench.contains(uuid)) {
      player.sendMessage(ChatColor.RED + "You may not craft another workbench!");
    } else {
      craftedWorkbench.add(uuid);
      limitWorkbenches(player);

      player.sendMessage(ChatColor.YELLOW + "You have crafted a workbench. You may not have another one.");
    }
  }
}
项目:OpenUHC    文件:GoldRush.java   
/**
 * Prevents players from crafting leather or iron armor.
 *
 * @param event The event
 */
@EventHandler(ignoreCancelled = true)
public void onCraftItem(CraftItemEvent event) {
  Material result = event.getRecipe().getResult().getType();
  if (result.equals(Material.LEATHER_HELMET)
      || result.equals(Material.LEATHER_CHESTPLATE)
      || result.equals(Material.LEATHER_LEGGINGS)
      || result.equals(Material.LEATHER_BOOTS)) {
    event.setCancelled(true);
    event.getWhoClicked().sendMessage(ChatColor.RED + "You may not craft leather armor!");
  } else if (result.equals(Material.IRON_HELMET)
      || result.equals(Material.IRON_CHESTPLATE)
      || result.equals(Material.IRON_LEGGINGS)
      || result.equals(Material.IRON_BOOTS)) {
    event.setCancelled(true);
    event.getWhoClicked().sendMessage(ChatColor.RED + "You may not craft iron armor!");
  }
}
项目:QuestManager    文件:QuestManager.java   
@EventHandler
public void onCraft(CraftItemEvent e) {
    if (QuestManagerPlugin.questManagerPlugin.getPluginConfiguration().getAllowCrafting()) {
        return;
    }

    if (e.getWhoClicked() instanceof Player) {
        Player p = (Player) e.getWhoClicked();
        Location loc = p.getLocation();

        if (QuestManagerPlugin.questManagerPlugin.getPluginConfiguration()
                .getWorlds().contains(loc.getWorld().getName())) {
            e.setCancelled(true);
        }
    }
}
项目:Statz    文件:ItemsCraftedListener.java   
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onCraft(final CraftItemEvent event) {

    final PlayerStat stat = PlayerStat.ITEMS_CRAFTED;

    // Get player
    final Player player = (Player) event.getWhoClicked();

    // Do general check
    if (!plugin.doGeneralCheck(player, stat))
        return;

    final String itemCrafted = event.getCurrentItem().getType().toString();

    // Update value to new stat.
    plugin.getDataManager().setPlayerInfo(player.getUniqueId(), stat,
            StatzUtil.makeQuery("uuid", player.getUniqueId().toString(), "value", 1, "world",
                    player.getWorld().getName(), "item", itemCrafted));

}
项目:BedwarsRel    文件:PlayerListener.java   
@EventHandler
public void onCraft(CraftItemEvent cie) {
  Player player = (Player) cie.getWhoClicked();
  Game game = BedwarsRel.getInstance().getGameManager().getGameOfPlayer(player);

  if (game == null) {
    return;
  }

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

  if (BedwarsRel.getInstance().getBooleanConfig("allow-crafting", false)) {
    return;
  }

  cie.setCancelled(true);
}
项目:vanillacraft    文件:WorldNerf.java   
@EventHandler(priority = EventPriority.LOW)
public void onCraftItem(CraftItemEvent event)
{
    if (!event.isCancelled())
    {
        ItemStack gapple = new ItemStack(Material.GOLDEN_APPLE, (short) 1);
        if (event.getRecipe().getResult() == gapple)
        {
            if (event.getWhoClicked() instanceof Player)
            {
                plugin.getCoreErrors().cantCraftGoldenApples((Player) event.getWhoClicked());
            }
            event.setCancelled(true);
        }
    }
}
项目:NovaGuilds    文件:RegionInteractListener.java   
@EventHandler
public void onCraftItem(CraftItemEvent event) {
    NovaPlayer nPlayer = PlayerManager.getPlayer(event.getWhoClicked());

    if(event.getRecipe().getResult().getType() != Material.SHIELD
            || !nPlayer.hasGuild()
            || nPlayer.getGuild().getBannerMeta().numberOfPatterns() == 0) {
        return;
    }

    for(ItemStack ingredient : event.getInventory().getContents()) {
        if(ingredient != null
                && ingredient.getType() == Material.SHIELD
                && ingredient.hasItemMeta()) {
            return;
        }
    }

    event.getInventory().setResult(BannerUtils.applyMeta(event.getRecipe().getResult(), nPlayer.getGuild().getBannerMeta()));
}
项目:civcraft    文件:BonusGoodieManager.java   
@EventHandler(priority = EventPriority.HIGHEST)
public void OnCraftItemEvent(CraftItemEvent event) {
    Player player;
    try {
        player = CivGlobal.getPlayer(event.getWhoClicked().getName());
    } catch (CivException e) {
        e.printStackTrace();
        return;
    }

    for (ItemStack stack : event.getInventory().getMatrix()) {
        BonusGoodie goodie = CivGlobal.getBonusGoodie(stack);
        if (goodie != null) {
            CivMessage.sendError(player, "Cannot use bonus goodies in a crafting recipe.");
            event.setCancelled(true);
        }
    }
}
项目:acidisland    文件:IslandGuard.java   
/**
 * Prevents crafting of EnderChest unless the player has permission
 *
 * @param event
 */
@EventHandler(priority = EventPriority.LOW)
public void onCraft(CraftItemEvent event) {
    if (DEBUG) {
        plugin.getLogger().info(event.getEventName());
    }
    Player player = (Player) event.getWhoClicked();
    if (inWorld(player) || player.getWorld().equals(ASkyBlock.getNetherWorld())) {
        if (event.getRecipe().getResult().getType() == Material.ENDER_CHEST) {
            if (!(player.hasPermission(Settings.PERMPREFIX + "craft.enderchest"))) {
                Util.sendMessage(player, ChatColor.RED + plugin.myLocale(player.getUniqueId()).errorNoPermission);
                event.setCancelled(true);
            }
        }
    }
}
项目:askyblock    文件:IslandGuard.java   
/**
 * Prevents crafting of EnderChest unless the player has permission
 *
 * @param event
 */
@EventHandler(priority = EventPriority.LOW)
public void onCraft(CraftItemEvent event) {
    if (DEBUG) {
        plugin.getLogger().info(event.getEventName());
    }
    Player player = (Player) event.getWhoClicked();
    if (inWorld(player) || player.getWorld().equals(ASkyBlock.getNetherWorld())) {
        if (event.getRecipe().getResult().getType() == Material.ENDER_CHEST) {
            if (!(player.hasPermission(Settings.PERMPREFIX + "craft.enderchest"))) {
                Util.sendMessage(player, ChatColor.RED + plugin.myLocale(player.getUniqueId()).errorNoPermission);
                event.setCancelled(true);
            }
        }
    }
}
项目:McMMOPlus    文件:InventoryListener.java   
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onCraftItem(CraftItemEvent event) {
    final HumanEntity whoClicked = event.getWhoClicked();

    if (!whoClicked.hasMetadata(mcMMO.playerDataKey)) {
        return;
    }

    ItemStack result = event.getRecipe().getResult();

    if (!ItemUtils.isMcMMOItem(result)) {
        return;
    }

    new PlayerUpdateInventoryTask((Player) whoClicked).runTaskLater(plugin, 0);
}
项目:modules-extra    文件:ListenerItem.java   
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onCraft(CraftItemEvent event)
{
    if (event.getRecipe().getResult() == null)
    {
        return;
    }
    if (event.getWhoClicked() instanceof Player)
    {
        ItemCraft action = this.newAction(ItemCraft.class, event.getWhoClicked().getWorld());
        if (action != null)
        {
            this.setPlayerAndLocation((Player)event.getWhoClicked(), action);
            action.setItemstack(event.getRecipe().getResult());
            this.logAction(action);
        }
    }
    else
    {
        // TODO missing action entity craft item
    }
}
项目:BetonQuest    文件:CraftingObjective.java   
@EventHandler(priority=EventPriority.MONITOR)
public void onCrafting(CraftItemEvent event) {
    if (event.isCancelled()) {
        return;
    }
    if (event.getWhoClicked() instanceof Player) {
        Player player = (Player) event.getWhoClicked();
        String playerID = PlayerConverter.getID(player);
        CraftData playerData = (CraftData) dataMap.get(playerID);
        if (containsPlayer(playerID) && item.compare(event.getRecipe().getResult()) && checkConditions(playerID)) {
            playerData.subtract(event.getRecipe().getResult().getAmount());
            if (playerData.isZero()) {
                completeObjective(playerID);
            }
        }
    }
}
项目:NucleusFramework    文件:FilteredWorkbenchView.java   
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
private void onCraftItem(CraftItemEvent event) {

    FilteredWorkbenchView workbench = _viewMap.get(event.getView());
    if (workbench == null)
        return;

    ItemFilter filter = workbench.getItemFilter();
    if (filter == null)
        return;

    ItemStack result = event.getRecipe().getResult();

    if (!filter.isValid(result)) {
        tellNoCraftMessage(workbench);
        event.setCancelled(true);
    }
}
项目:Ghosts    文件:InventoryListener.java   
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
    public void onCraftItem(CraftItemEvent event) {
        final HumanEntity whoClicked = event.getWhoClicked();

//        if (!whoClicked.hasMetadata(Ghosts.playerDataKey)) {
//            return;
//        }

        ItemStack result = event.getRecipe().getResult();

        if (!ItemUtils.isGhostsItem(result)) {
            return;
        }

        new UpdateInventoryTask((Player) whoClicked).runTaskLater(Ghosts.p, 0);
    }
项目:Essentials    文件:EssentialsAntiBuildListener.java   
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
public void onCraftItemEvent(final CraftItemEvent event)
{
    HumanEntity entity = event.getWhoClicked();

    if (entity instanceof Player)
    {
        final Player user = (Player)entity;
        final ItemStack item = event.getRecipe().getResult();

        if (antib.getSettings().getData().isDisableUse() && !Permissions.BUILD.isAuthorized(user))
        {
            if (!Permissions.CRAFT.isAuthorized(user, item.getType(), item.getData()))
            {
                event.setCancelled(true);
                if (antib.getSettings().getData().isWarnOnBuildDisallow())
                {
                    user.sendMessage(_("§4You are not permitted to create§c {0}§4.", item.getType().toString()));
                }
            }
        }
    }
}
项目:RoyalSurvivors    文件:SurvivorsListener.java   
@EventHandler
public void stopVanillaCraft(CraftItemEvent e) {
    if (!(e.getWhoClicked() instanceof Player)) return;
    Player p = (Player) e.getWhoClicked();
    if (!RUtils.isInInfectedWorld(p)) return;
    Recipe rr = e.getRecipe();
    ItemStack result = rr.getResult();
    if (rr instanceof ShapedRecipe) {
        ShapedRecipe srr = (ShapedRecipe) rr;
        if (result.getType() == Material.BOW && !shapedRecipesMatch(srr, plugin.bowRecipe)) e.setCancelled(true);
        if (Config.harderTorches && result.getType() == Material.TORCH && !srr.getIngredientMap().values().equals(plugin.torchRecipe.getIngredientList()))
            e.setCancelled(true);
        if (result.getType() == Material.ARROW && !srr.getIngredientMap().values().containsAll(plugin.arrowRecipe.getIngredientList()))
            e.setCancelled(true);
    }
    if (e.isCancelled()) e.setResult(Event.Result.DENY);
}
项目:EpicQuest    文件:TypeCraftItem.java   
@EventHandler
public void onCraftItem(CraftItemEvent event){

    Player player = (Player)event.getInventory().getHolder();
    EpicPlayer epicPlayer = EpicSystem.getEpicPlayer(player.getUniqueId());
    List<EpicQuestTask> taskList = epicPlayer.getTasksByType(TaskTypes.CRAFT_ITEM);

    for(EpicQuestTask task : taskList){
        Material itemID = event.getRecipe().getResult().getType();
        String itemNeeded = task.getTaskID();

        if(itemID == Material.matchMaterial(itemNeeded)){
            task.ProgressTask(1, epicPlayer, true);
        }
    }
}
项目:Warzone    文件:WoolObjective.java   
@EventHandler
public void onWoolCraft(CraftItemEvent event) {
    if (event.getRecipe().getResult().getType() == Material.WOOL) {
        event.setCancelled(true);
        event.getWhoClicked().sendMessage(ChatColor.RED + "You are now allowed to craft wool.");
    }
}
项目:Slimefun4-Chinese-Version    文件:ItemListener.java   
@EventHandler
public void onCraft(CraftItemEvent e) {
    for (ItemStack item: e.getInventory().getContents()) {
        if (SlimefunItem.getByItem(item) != null && !(SlimefunItem.getByItem(item).isReplacing())) {
            e.setCancelled(true);
            Messages.local.sendTranslation((Player) e.getWhoClicked(), "workbench.not-enhanced", true);
            break;
        }
    }
}
项目:ProjectAres    文件:RaindropListener.java   
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void handleCraft(final CraftItemEvent event) {
    ParticipantState player = PGM.getMatchManager().getParticipantState(event.getWhoClicked());
    if (player == null) return;

    for (ItemStack ingredient : event.getInventory().getMatrix()) {
        if(this.isDestroyableWool(ingredient, player.getParty())) {
            giveWoolDestroyRaindrops(player, ((Wool) ingredient.getData()).getColor());
        }
    }
}
项目:ProjectAres    文件:ItemModifyMatchModule.java   
@EventHandler
public void onItemCraft(CraftItemEvent event) {
    ItemStack stack = event.getCurrentItem();
    if(applyRules(stack)) {
        event.setCurrentItem(stack);
        event.getInventory().setResult(stack);
    }
}
项目:OpenUHC    文件:Inventors.java   
/**
 * Checks if a player has crafted an item for the first time and announces it if this is the case.
 *
 * @param event The event
 */
@EventHandler(ignoreCancelled = true)
public void onCraftItem(CraftItemEvent event) {
  Material type = event.getRecipe().getResult().getType();
  if (!invented.contains(type)) {
    invented.add(type);
    Bukkit.broadcastMessage(
        event.getWhoClicked().getName() + ChatColor.GRAY + " has invented the " + ChatColor.AQUA + type.name()
    );
  }
}
项目:OpenUHC    文件:Bowless.java   
/**
 * Prevents a player from crafting a bow.
 *
 * @param event The event
 */
@EventHandler(ignoreCancelled = true)
public void onCraftItem(CraftItemEvent event) {
  if (event.getRecipe().getResult().getType().equals(Material.BOW)) {
    event.setCancelled(true);
    event.getWhoClicked().sendMessage(ChatColor.RED + "You may not craft a bow!");
  }
}
项目:NavyCraft2-Lite    文件:NavyCraft_InventoryListener.java   
@EventHandler(priority = EventPriority.HIGH)
public void onCraftItem(CraftItemEvent event) 
{
    if( event.getRecipe().getResult().getType() == Material.STONE_SWORD
            || event.getRecipe().getResult().getType() == Material.IRON_SWORD
            || event.getRecipe().getResult().getType() == Material.GOLD_SWORD
            || event.getRecipe().getResult().getType() == Material.DIAMOND_SWORD
|| event.getRecipe().getResult().getType() == Material.LEATHER_BOOTS
            || event.getRecipe().getResult().getType() == Material.LEATHER_LEGGINGS
            || event.getRecipe().getResult().getType() == Material.LEATHER_CHESTPLATE
            || event.getRecipe().getResult().getType() == Material.LEATHER_HELMET
|| event.getRecipe().getResult().getType() == Material.CHAINMAIL_BOOTS
            || event.getRecipe().getResult().getType() == Material.CHAINMAIL_LEGGINGS
            || event.getRecipe().getResult().getType() == Material.CHAINMAIL_CHESTPLATE
            || event.getRecipe().getResult().getType() == Material.CHAINMAIL_HELMET
|| event.getRecipe().getResult().getType() == Material.GOLD_BOOTS
            || event.getRecipe().getResult().getType() == Material.GOLD_LEGGINGS
            || event.getRecipe().getResult().getType() == Material.GOLD_CHESTPLATE
            || event.getRecipe().getResult().getType() == Material.GOLD_HELMET
            || event.getRecipe().getResult().getType() == Material.IRON_BOOTS
            || event.getRecipe().getResult().getType() == Material.IRON_LEGGINGS
            || event.getRecipe().getResult().getType() == Material.IRON_CHESTPLATE
            || event.getRecipe().getResult().getType() == Material.IRON_HELMET
            || event.getRecipe().getResult().getType() == Material.DIAMOND_BOOTS
            || event.getRecipe().getResult().getType() == Material.DIAMOND_LEGGINGS
            || event.getRecipe().getResult().getType() == Material.DIAMOND_CHESTPLATE
            || event.getRecipe().getResult().getType() == Material.DIAMOND_HELMET)
    {
        if( event.getWhoClicked().getType() == EntityType.PLAYER )
        {
            Player p = (Player)event.getWhoClicked();
            p.sendMessage("Sorry, you are not allowed to craft this item. Purchase it from a Safe Dock instead.");
        }
        event.setCancelled(false);
    }

}
项目:NavyCraft2-Lite    文件:MoveCraft_InventoryListener.java   
@EventHandler(priority = EventPriority.HIGH)
public void onCraftItem(CraftItemEvent event) 
{
    if( event.getRecipe().getResult().getType() == Material.STONE_SWORD
            || event.getRecipe().getResult().getType() == Material.IRON_SWORD
            || event.getRecipe().getResult().getType() == Material.GOLD_SWORD
            || event.getRecipe().getResult().getType() == Material.DIAMOND_SWORD
|| event.getRecipe().getResult().getType() == Material.LEATHER_BOOTS
            || event.getRecipe().getResult().getType() == Material.LEATHER_LEGGINGS
            || event.getRecipe().getResult().getType() == Material.LEATHER_CHESTPLATE
            || event.getRecipe().getResult().getType() == Material.LEATHER_HELMET
|| event.getRecipe().getResult().getType() == Material.CHAINMAIL_BOOTS
            || event.getRecipe().getResult().getType() == Material.CHAINMAIL_LEGGINGS
            || event.getRecipe().getResult().getType() == Material.CHAINMAIL_CHESTPLATE
            || event.getRecipe().getResult().getType() == Material.CHAINMAIL_HELMET
|| event.getRecipe().getResult().getType() == Material.GOLD_BOOTS
            || event.getRecipe().getResult().getType() == Material.GOLD_LEGGINGS
            || event.getRecipe().getResult().getType() == Material.GOLD_CHESTPLATE
            || event.getRecipe().getResult().getType() == Material.GOLD_HELMET
            || event.getRecipe().getResult().getType() == Material.IRON_BOOTS
            || event.getRecipe().getResult().getType() == Material.IRON_LEGGINGS
            || event.getRecipe().getResult().getType() == Material.IRON_CHESTPLATE
            || event.getRecipe().getResult().getType() == Material.IRON_HELMET
            || event.getRecipe().getResult().getType() == Material.DIAMOND_BOOTS
            || event.getRecipe().getResult().getType() == Material.DIAMOND_LEGGINGS
            || event.getRecipe().getResult().getType() == Material.DIAMOND_CHESTPLATE
            || event.getRecipe().getResult().getType() == Material.DIAMOND_HELMET)
    {
        if( event.getWhoClicked().getType() == EntityType.PLAYER )
        {
            Player p = (Player)event.getWhoClicked();
            p.sendMessage("Sorry, you are not allowed to craft this item. Purchase it from a Safe Dock instead.");
        }
        event.setCancelled(false);
    }

}
项目:SurvivalAPI    文件:OneWorkbenchModule.java   
/**
 * Accept only one bench crafting
 *
 * @param event Event
 */
@EventHandler
public void onCraftItem(CraftItemEvent event)
{
    this.onCraftItem(event.getRecipe(), event.getInventory(), event.getWhoClicked());

    if (event.getRecipe().getResult().getType() == Material.WORKBENCH && !this.crafters.contains(event.getWhoClicked().getUniqueId()))
        this.crafters.add(event.getWhoClicked().getUniqueId());
}
项目:HCFCore    文件:BottledExpListener.java   
@EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR)
public void onCraftItem(CraftItemEvent event) {
    HumanEntity humanEntity = event.getWhoClicked();
    if (humanEntity instanceof Player) {
        Player player = (Player) humanEntity;
        if (event.getSlotType() == InventoryType.SlotType.RESULT && isBottledExperience(event.getCurrentItem())) {
            player.setLevel(0);
            player.setExp(0);
        }
    }
}
项目:HCFCore    文件:BottledExpListener.java   
@EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR)
public void onCraftItem(CraftItemEvent event) {
    HumanEntity humanEntity = event.getWhoClicked();
    if (humanEntity instanceof Player) {
        Player player = (Player) humanEntity;
        if (event.getSlotType() == InventoryType.SlotType.RESULT && isBottledExperience(event.getCurrentItem())) {
            player.setLevel(0);
            player.setExp(0);
        }
    }
}
项目:EchoPet    文件:PetOwnerListener.java   
@EventHandler
public void onCraftItem(CraftItemEvent event){// kinda not needed.
    for(ItemStack item : event.getInventory().getMatrix()){
        if(item == null) continue;
        if(ItemUtil.matches(item, SelectorLayout.getSelectorItem())){
            event.setResult(Event.Result.DENY);
            event.setCancelled(true);
            break;
        }
    }
}
项目:NationZ    文件:JobSmith.java   
@EventHandler
public void onCraft(CraftItemEvent e) {
    if (disallowedItems().contains(e.getRecipe().getResult().getType())) {
        e.setCancelled(true);
        e.getWhoClicked().sendMessage(ChatColor.RED + "Only Smiths can craft this Item!");
    }
}
项目:Pokecraft    文件:CraftinListener.java   
@EventHandler
public void craftItem(CraftItemEvent e){
    Class<? extends Ball> clazz = null;
    if((clazz = PokeballManager.getFromItem(e.getCurrentItem())) == null)
        return;
    try {
        ItemStack item = NBTRW.writeNBT(e.getCurrentItem(), "pokeball-type", clazz.getName());
        e.setCurrentItem(item);
    } catch (Exception e1) {
        e.getInventory().getViewers().get(0).sendMessage(ChatColor.RED + "There has been a problem crafting your pokeball");
        return;
    }
}
项目:Arcade2    文件:GeneralListeners.java   
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
public void onEnderChestCraft(CraftItemEvent event) {
    if (event.getInventory().getResult() != null && event.getInventory()
            .getResult().getType().equals(Material.ENDER_CHEST)) {
        event.setCancelled(true);
        event.getActor().sendMessage(String.format(
                ENDER_CHEST_MESSAGE, "craft"));
    }
}
项目:Cardinal    文件:WoolModule.java   
/**
 * Prevents the wool from being crafted if specified when registering the wool.
 *
 * @param event The event.
 */
@EventHandler(ignoreCancelled = true)
public void onCraftItem(CraftItemEvent event) {
  for (Wool wool : getWools(Cardinal.getMatch(event.getWorld()))) {
    if (event.getRecipe().getResult().equals(new ItemStack(Material.WOOL, 1, wool.getColor().getData()))
        && !wool.isCraftable()) {
      event.setCancelled(true);
      break;
    }
  }
}
项目:MysteryBags    文件:MysteryBagsListener.java   
@EventHandler(priority = EventPriority.MONITOR)
public void onCraftItem(CraftItemEvent e) {
    boolean playerInv = e.getClickedInventory() instanceof PlayerInventory;
    Player p = (Player) e.getWhoClicked();
    for (int i = playerInv ? 80 : 0; i < (playerInv ? 84 : e.getClickedInventory().getContents().length); i++) {
        ItemStack item = e.getClickedInventory().getContents()[i];
        if (b(item)) {
            e.setCancelled(true);
            p.sendMessage(MysteryBags.PREFIX + "�7You may not craft with Mystery Bags!");
            p.playSound(p.getLocation(), Sound.ENTITY_ZOMBIE_ATTACK_IRON_DOOR, 0.4F, 1.2F);
            p.closeInventory();
            break;
        }
    }
}
项目:AnnihilationPro    文件:Archer.java   
@EventHandler(priority = EventPriority.HIGHEST)
public void arrowCraftingStopper(CraftItemEvent event)
{
    if(event.getRecipe().getResult().getType() == Material.ARROW && event.getRecipe().getResult().getAmount() == 3)
    {
        AnniPlayer player = AnniPlayer.getPlayer(event.getWhoClicked().getUniqueId());
        if(player != null && (player.getKit() == null || !player.getKit().equals(this)))
            event.setCancelled(true);
    }
}
项目:OmniWorldMCPlugin    文件:CraftItemListener.java   
@EventHandler(priority= EventPriority.LOW, ignoreCancelled=true)
public void canCraft(CraftItemEvent event) {
    ItemStack resultItem = event.getRecipe().getResult();
    if (!PowerUtils.isPowerTool(resultItem)) {
        return;
    }
    if (!PowerUtils.checkCraftPermission((Player)event.getWhoClicked(), resultItem.getType())) {
        event.setCancelled(true);
    }
}
项目:LoreAttributes-reloaded    文件:LoreEvents.java   
@EventHandler(priority = EventPriority.HIGHEST)
public void checkCraftRestriction(CraftItemEvent event) {
    if (!(event.getWhoClicked() instanceof Player)) {
        return;
    }
    for (ItemStack item : event.getInventory().getContents())
        if (!LoreAttributes.loreManager.canUse((Player) event.getWhoClicked(), item)) {
            event.setCancelled(true);
            return;
        }
}