@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
public void onInventoryClick(InventoryClickEvent event) {
final Inventory top = event.getView().getTopInventory();
if(top instanceof CraftingInventory && event.getWhoClicked() instanceof Player) {
final Player player = (Player) event.getWhoClicked();
Bukkit.getScheduler().scheduleSyncDelayedTask(ItemExchangePlugin.instance, new Runnable() {
@SuppressWarnings("deprecation")
public void run() {
CraftingInventory inv = (CraftingInventory) top;
List<ExchangeRule> exchangeRules = new ArrayList<ExchangeRule>();
for(ItemStack item : inv.getMatrix()) {
if(item != null && item.getType() != Material.AIR) {
try {
exchangeRules.add(ExchangeRule.parseRuleBlock(item));
}
catch(ExchangeRuleParseException e) {
try {
exchangeRules.addAll(Arrays.asList(ExchangeRule.parseBulkRuleBlock(item)));
}
catch(ExchangeRuleParseException e2) {
return;
}
}
}
}
if(exchangeRules.size() > 0) {
inv.setResult(ExchangeRule.toBulkItemStack(exchangeRules));
player.updateInventory();
}
}
});
}
}
ItemExchangeListener.java 文件源码
java
阅读 23
收藏 0
点赞 0
评论 0
项目:ItemExchange
作者:
评论列表
文章目录