@EventHandler
public static void onInventoryClick(InventoryClickEvent e){
if(e.isCancelled()) return;
HumanEntity ent = e.getWhoClicked();
if(!(ent instanceof Player)) return;
Player player = (Player)ent;
Inventory inv = e.getInventory();
if(!(inv instanceof AnvilInventory)) return;
EpicPlayer epicPlayer = EpicSystem.getEpicPlayer(player.getUniqueId());
List<EpicQuestTask> taskList = epicPlayer.getTasksByType(TaskTypes.REPAIR_ITEM);
for(EpicQuestTask task : taskList){
AnvilInventory anvil = (AnvilInventory)inv;
InventoryView view = e.getView();
int rawSlot = e.getRawSlot();
if(rawSlot == view.convertSlot(rawSlot)){
// 2 = result slot
if(rawSlot != 2) return;
ItemStack[] items = anvil.getContents();
ItemStack item1 = items[0];
ItemStack item3 = e.getCurrentItem();
//if(item1 == null || item2 == null || item3 == null) return;
Material id1 = item1.getType();
Material id3 = item3.getType();
if(id1 != id3) return;
//See if correct item is repaired
if(id3 == Material.matchMaterial(task.getTaskID())){
ItemMeta meta = item3.getItemMeta();
if(meta == null) return;
if(meta instanceof Repairable){
Repairable repairable = (Repairable)meta;
int repairCost = repairable.getRepairCost();
if(player.getLevel() >= repairCost){
task.ProgressTask(1, epicPlayer, true);
}
}
}
}
}
}
TypeRepair.java 文件源码
java
阅读 29
收藏 0
点赞 0
评论 0
项目:EpicQuest
作者:
评论列表
文章目录