/**
* Copy an inventory and open it for player
*
* @param i Inventory to open
* @param p Player that needs the inventory
*/
public static void openFakeInv(Inventory i, OMGPlayer p) {
Inventory fake = Bukkit.createInventory(p.bukkit, i.getSize(), i.getTitle());
for (int slot = 0; slot < i.getContents().length; slot++) {
ItemStack e = i.getContents()[slot];
if (e != null) {
e = e.clone();
ItemMeta im = e.getItemMeta();
im.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
im.addItemFlags(ItemFlag.HIDE_ENCHANTS);
if ((NBTParser.getTagCompound(e).hasKey("kitid") && NBTParser.getTagCompound(e).getString("kitid").equals(p.kit.name)) || (NBTParser.getTagCompound(e).hasKey("teamid") && NBTParser.getTagCompound(e).getString("teamid").equals(p.requestedTeam.id)))
im.addEnchant(Enchantment.DURABILITY, 1, true);
if (NBTParser.getTagCompound(e).hasKey("kitid")) {
ItemStack finalE = e;
OMGKit.kits.stream().filter(k -> k.getName().equals(NBTParser.getTagCompound(finalE).getString("kitid"))).forEach(k -> {
List<String> ss = im.hasLore() ? im.getLore() : new ArrayList<>();
ss.add(ChatColor.GREEN + "Can use: " + (OMGPI.g.player_hasKit(p, k) ? (ChatColor.GREEN + "YES") : (ChatColor.RED + "NO")));
im.setLore(ss);
});
}
e.setItemMeta(im);
fake.setItem(slot, e);
}
}
p.bukkit.openInventory(fake);
}
Inventories.java 文件源码
java
阅读 22
收藏 0
点赞 0
评论 0
项目:OMGPI
作者:
评论列表
文章目录