@EventHandler(priority=EventPriority.HIGHEST, ignoreCancelled=true)
public void onInvOpen(InventoryClickEvent event) {
Bukkit.getScheduler().scheduleSyncDelayedTask(ProtocolSupportLegacySupport.getInstance(), () -> {
Inventory topinv = event.getWhoClicked().getOpenInventory().getTopInventory();
if (!(topinv instanceof EnchantingInventory)) {
return;
}
EnchantingInventory enchinv = (EnchantingInventory) topinv;
Player player = (Player) event.getWhoClicked();
int lapisEnchAmount = enchinv.getSecondary() != null ? enchinv.getSecondary().getAmount() : 0;
ItemStack[] contents = player.getInventory().getStorageContents();
for (int i = 0; i < contents.length; i++) {
ItemStack itemstack = contents[i];
if (lapis.isSimilar(itemstack)) {
int lapisPlayerAmount = Math.min(itemstack.getAmount(), Material.INK_SACK.getMaxStackSize() - lapisEnchAmount);
itemstack.setAmount(itemstack.getAmount() - lapisPlayerAmount);
if (itemstack.getAmount() == 0) {
contents[i] = null;
}
lapisEnchAmount += lapisPlayerAmount;
if (lapisEnchAmount == Material.INK_SACK.getMaxStackSize()) {
break;
}
}
}
player.getInventory().setStorageContents(contents);
if (lapisEnchAmount != 0) {
enchinv.setSecondary(new Dye(DyeColor.BLUE).toItemStack(lapisEnchAmount));
}
player.updateInventory();
});
}
EnchantingTableHandler.java 文件源码
java
阅读 25
收藏 0
点赞 0
评论 0
项目:ProtocolSupportLegacySupport
作者:
评论列表
文章目录