@EventHandler public void onClick(InventoryClickEvent e){ if(!e.isCancelled()){ HumanEntity ent = e.getWhoClicked(); if(ent instanceof Player){ Player p = (Player) ent; if(e.getInventory() instanceof AnvilInventory){ AnvilInventory anvil = (AnvilInventory) e.getInventory(); int raw = e.getRawSlot(); if(raw == e.getView().convertSlot(raw)){ if(raw == 2){ ItemStack is1 = anvil.getContents()[0]; ItemStack is2 = anvil.getContents()[1]; if((is1 !=null) && (is2 !=null)){ Material m1 = is1.getType(); Material m2 = is2.getType(); if((m1 !=Material.AIR) && (m2 !=Material.AIR)){ ItemStack is3 = e.getCurrentItem(); if(is3 !=null){ ItemMeta im = is3.getItemMeta(); if(im !=null){ if(im instanceof Repairable){ Repairable repairable = (Repairable) im; int repairCost = repairable.getRepairCost(); if((p.getLevel() >= repairCost) || p.getGameMode().equals(GameMode.CREATIVE)){ e.setCancelled(true); p.getInventory().addItem(e.getInventory().getItem(0)); p.getInventory().addItem(e.getInventory().getItem(1)); e.getInventory().setItem(0, new ItemStack(Material.AIR)); e.getInventory().setItem(1, new ItemStack(Material.AIR)); p.closeInventory(); } } } } } } } } } } } }