/** * Get a list of all recipes for a given item. The stack size is ignored in comparisons. * If the durability is -1, it will match any data value. * * @param result The item whose recipes you want * @return The list of recipes */ public List<Recipe> getRecipesFor(ItemStack result) { // handling for old-style wildcards if (result.getDurability() == -1) { result = result.clone(); result.setDurability(Short.MAX_VALUE); } List<Recipe> recipes = new LinkedList<>(); for (Recipe recipe : this) { if (matchesWildcard(result, recipe.getResult())) { recipes.add(recipe); } } return recipes; }
/** * Update the result slot with the current matrix. */ public void updateResultSlot() { Recipe recipe = getRecipe(); if (recipe == null) { super.setItem(RESULT_SLOT, InventoryUtil.createEmptyStack()); } else { super.setItem(RESULT_SLOT, recipe.getResult()); } }
private boolean isBurnable() { GlowFurnaceInventory inv = (GlowFurnaceInventory) getInventory(); if ((burnTime != 0 || !InventoryUtil.isEmpty(inv.getFuel())) && !InventoryUtil .isEmpty(inv.getSmelting())) { if ((InventoryUtil.isEmpty(inv.getFuel()) || InventoryUtil.isEmpty(inv.getSmelting())) && burnTime == 0) { return false; } CraftingManager cm = ((GlowServer) ServerProvider.getServer()).getCraftingManager(); if (burnTime != 0 || cm.isFuel(inv.getFuel().getType())) { Recipe recipe = cm.getFurnaceRecipe(inv.getSmelting()); if (recipe != null && (InventoryUtil.isEmpty(inv.getResult()) || inv.getResult().getType().equals(recipe.getResult().getType()) && inv.getResult().getAmount() + recipe.getResult().getAmount() <= recipe .getResult().getMaxStackSize())) { return true; } } } return false; } }
if (recipe != null) { FurnaceSmeltEvent smeltEvent = new FurnaceSmeltEvent(block, inv.getSmelting(), recipe.getResult()); EventFactory.getInstance().callEvent(smeltEvent); if (!smeltEvent.isCancelled()) {
@Override public MCItemStack getResult() { return new BukkitMCItemStack(r.getResult()); }
public ItemStack get(PrepareItemCraftEvent event) { return event.getRecipe().getResult(); } }, 0);
public ItemStack get(CraftItemEvent event) { return event.getRecipe().getResult(); } }, 0);
public void unregister() { Iterator<Recipe> iter = Bukkit.recipeIterator(); while (iter.hasNext()) { Recipe r = iter.next(); if (r.getResult().equals(this.result)) { iter.remove(); this.register = false; } } }
@Override public List<Recipe> getRecipesFor(ItemStack result) { assertMainThread(); return recipes.stream().filter(recipe -> recipe.getResult().equals(result)).collect(Collectors.toList()); }
@Override public void registerDefaultRecipes() { Iterator<Recipe> iterator = Bukkit.recipeIterator(); while (iterator.hasNext()) { Recipe r = iterator.next(); if (r instanceof FurnaceRecipe) { registerRecipe(4, new ItemStack[] {((FurnaceRecipe) r).getInput()}, new ItemStack[] {r.getResult()}); } } }
while (it.hasNext()) { Recipe recipe = it.next(); RPGItem rpgitem = ItemManager.toRPGItem(recipe.getResult()).orElse(null); if (rpgitem == null) continue;
@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); } } } }
/** * Prevents crafting of EnderChest unless the player has permission * * @param e - event */ @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) public void onCraft(CraftItemEvent e) { e.setCancelled(checkEnderChest((Player)e.getWhoClicked(), e.getRecipe().getResult().getType())); }
ItemStack result = recipe.getResult(); if (result == null) return; Material resultType = result.getType();
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onCraftItem(CraftItemEvent event) { /* WORLD BLACKLIST CHECK */ if(WorldBlacklist.isWorldBlacklisted(event.getWhoClicked().getWorld())) return; final HumanEntity whoClicked = event.getWhoClicked(); if (!whoClicked.hasMetadata(mcMMO.playerDataKey)) { return; } ItemStack result = event.getRecipe().getResult(); if (!ItemUtils.isMcMMOItem(result)) { return; } Player player = (Player) whoClicked; /* WORLD GUARD MAIN FLAG CHECK */ if(WorldGuardUtils.isWorldGuardLoaded()) { if(!WorldGuardManager.getInstance().hasMainFlag(player)) return; } new PlayerUpdateInventoryTask((Player) whoClicked).runTaskLater(plugin, 0); }
Recipe recipe = event.getRecipe(); if (recipe != null) { ItemStack is = recipe.getResult(); CraftingInventory ci = event.getInventory(); if (is.getType().equals(Material.AIR)) {
while (iterator.hasNext()) { Recipe r = iterator.next(); if (SlimefunManager.isItemSimiliar(new CustomItem(r.getResult(), 1), item, true) && r.getResult().getData().getData() == item.getData().getData()) recipes.add(r); recipeOutput = r.getResult(); recipeOutput = r.getResult(); recipeOutput = r.getResult();