mirror of
https://github.com/TotalFreedomMC/TF-EssentialsX.git
synced 2025-02-20 15:35:08 +00:00
66 lines
2.1 KiB
Java
66 lines
2.1 KiB
Java
package com.earth2me.essentials.craftbukkit;
|
|
|
|
import org.bukkit.craftbukkit.inventory.CraftInventory;
|
|
import org.bukkit.craftbukkit.inventory.CraftInventoryPlayer;
|
|
import org.bukkit.craftbukkit.inventory.CraftItemStack;
|
|
import org.bukkit.inventory.Inventory;
|
|
import org.bukkit.inventory.ItemStack;
|
|
|
|
|
|
public class EnchantmentFix
|
|
{
|
|
public static void setContents(Inventory inventory, ItemStack[] items)
|
|
{
|
|
CraftInventory cInventory = (CraftInventory)inventory;
|
|
if (cInventory.getContents().length != items.length)
|
|
{
|
|
throw new IllegalArgumentException("Invalid inventory size; expected " + cInventory.getContents().length);
|
|
}
|
|
|
|
net.minecraft.server.ItemStack[] mcItems = cInventory.getInventory().getContents();
|
|
|
|
for (int i = 0; i < items.length; i++)
|
|
{
|
|
ItemStack item = items[i];
|
|
if (item == null || item.getTypeId() <= 0)
|
|
{
|
|
mcItems[i] = null;
|
|
}
|
|
else
|
|
{
|
|
mcItems[i] = new net.minecraft.server.ItemStack(item.getTypeId(), item.getAmount(), item.getDurability());
|
|
new CraftItemStack(mcItems[i]).addUnsafeEnchantments(item.getEnchantments());
|
|
}
|
|
}
|
|
}
|
|
|
|
public static void setItem(Inventory inventory, int index, ItemStack item)
|
|
{
|
|
CraftInventory cInventory = (CraftInventory)inventory;
|
|
if (item == null)
|
|
{
|
|
cInventory.getInventory().setItem(index, null);
|
|
}
|
|
else
|
|
{
|
|
net.minecraft.server.ItemStack stack = new net.minecraft.server.ItemStack(item.getTypeId(), item.getAmount(), item.getDurability());
|
|
new CraftItemStack(stack).addUnsafeEnchantments(item.getEnchantments());
|
|
cInventory.getInventory().setItem(index, stack);
|
|
}
|
|
}
|
|
|
|
public static void setItemInHand(Inventory inventory, ItemStack item)
|
|
{
|
|
CraftInventoryPlayer cInventory = (CraftInventoryPlayer)inventory;
|
|
if (item == null)
|
|
{
|
|
cInventory.getInventory().setItem(cInventory.getInventory().itemInHandIndex, null);
|
|
}
|
|
else
|
|
{
|
|
net.minecraft.server.ItemStack stack = new net.minecraft.server.ItemStack(item.getTypeId(), item.getAmount(), item.getDurability());
|
|
new CraftItemStack(stack).addUnsafeEnchantments(item.getEnchantments());
|
|
cInventory.getInventory().setItem(cInventory.getInventory().itemInHandIndex, stack);
|
|
}
|
|
}
|
|
}
|