/** * Gets the block for the furnace involved in this event * * @return the block of the furnace * @deprecated In favour of {@link #getBlock()}. */ @Deprecated public Block getFurnace() { return getBlock(); }
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) public void onFurnaceSmeltEvent(FurnaceSmeltEvent event) { /* WORLD BLACKLIST CHECK */ if(WorldBlacklist.isWorldBlacklisted(event.getBlock().getWorld())) return; Block furnaceBlock = event.getBlock(); ItemStack smelting = event.getSource(); if (!ItemUtils.isSmeltable(smelting)) { return; } Player player = getPlayerFromFurnace(furnaceBlock); /* WORLD GUARD MAIN FLAG CHECK */ if(WorldGuardUtils.isWorldGuardLoaded()) { if(!WorldGuardManager.getInstance().hasMainFlag(player)) return; } if (!UserManager.hasPlayerDataKey(player) || !PrimarySkillType.SMELTING.getPermissions(player)) { return; } event.setResult(UserManager.getPlayer(player).getSmeltingManager().smeltProcessing(smelting, event.getResult())); }
Recipe recipe = cm.getFurnaceRecipe(inv.getSmelting()); if (recipe != null) { FurnaceSmeltEvent smeltEvent = new FurnaceSmeltEvent(block, inv.getSmelting(), recipe.getResult()); EventFactory.getInstance().callEvent(smeltEvent); if (!smeltEvent.isCancelled()) { if (inv.getSmelting().getType().equals(Material.SPONGE) && inv.getSmelting().getData().getData() == 1 && inv.getFuel() != null inv.setResult(smeltEvent.getResult()); } else if (inv.getResult().getType().equals(smeltEvent.getResult().getType())) { inv.getResult().setAmount( inv.getResult().getAmount() + smeltEvent.getResult().getAmount());
/** * Gets the block for the furnace involved in this event * * @return the block of the furnace * @deprecated In favour of {@link #getBlock()}. */ @Deprecated public Block getFurnace() { return getBlock(); }
@EventHandler(ignoreCancelled = true) public void furnaceSmeltEvent(FurnaceSmeltEvent event) { // Setting cookTime after cooking an item (and the fuel is still burning) Furnace furnace = (Furnace) event.getBlock().getState(); if (furnace.getInventory().getTitle().equals("TARDIS Artron Furnace") && plugin.getTrackerKeeper().getArtronFurnaces().contains(furnace.getLocation().toString())) { if (plugin.isHelperOnServer()) { plugin.getTardisHelper().setCookTimeTotal(event.getBlock(), cookTime); } else { furnace.setCookTime(cookTime); } } }
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) public void onSmelt(FurnaceSmeltEvent e) { if (BlockStorage.check(e.getBlock()) != null && BlockStorage.check(e.getBlock()) instanceof EnhancedFurnace) { EnhancedFurnace furnace = (EnhancedFurnace) BlockStorage.check(e.getBlock()); Furnace f = (Furnace) e.getBlock().getState(); int amount = f.getInventory().getSmelting().getType().toString().endsWith("_ORE") ? furnace.getOutput(): 1; ItemStack output = RecipeCalculator.getSmeltedOutput(f.getInventory().getSmelting().getType()); ItemStack result = f.getInventory().getResult(); if (result != null) result = result.clone(); f.getInventory().setResult(null); if (result != null) f.getInventory().setResult(new CustomItem(result, result.getAmount() + amount > result.getMaxStackSize() ? result.getMaxStackSize(): result.getAmount() + amount)); else f.getInventory().setResult(new CustomItem(output, output.getAmount() + amount > output.getType().getMaxStackSize() ? output.getType().getMaxStackSize(): output.getAmount() + amount)); } }