2015-11-03 10:00:40 -08:00
|
|
|
package WayofTime.bloodmagic.api;
|
|
|
|
|
|
|
|
import lombok.EqualsAndHashCode;
|
|
|
|
import lombok.RequiredArgsConstructor;
|
2015-12-29 14:32:35 -05:00
|
|
|
import lombok.Setter;
|
2015-11-03 10:00:40 -08:00
|
|
|
import net.minecraft.block.Block;
|
|
|
|
import net.minecraft.item.Item;
|
|
|
|
import net.minecraft.item.ItemStack;
|
2015-12-29 14:32:35 -05:00
|
|
|
import net.minecraft.nbt.NBTTagCompound;
|
2015-11-03 10:00:40 -08:00
|
|
|
|
|
|
|
@RequiredArgsConstructor
|
|
|
|
@EqualsAndHashCode
|
2015-12-30 15:34:40 -05:00
|
|
|
public class ItemStackWrapper
|
|
|
|
{
|
2015-11-03 10:00:40 -08:00
|
|
|
public final Item item;
|
|
|
|
public final int stackSize;
|
|
|
|
public final int meta;
|
2015-12-29 14:32:35 -05:00
|
|
|
@Setter
|
|
|
|
public NBTTagCompound nbtTag;
|
2015-11-03 10:00:40 -08:00
|
|
|
|
2015-12-30 15:34:40 -05:00
|
|
|
public ItemStackWrapper(Item item, int stackSize)
|
|
|
|
{
|
2015-11-03 10:00:40 -08:00
|
|
|
this(item, stackSize, 0);
|
|
|
|
}
|
|
|
|
|
2015-12-30 15:34:40 -05:00
|
|
|
public ItemStackWrapper(Item item)
|
|
|
|
{
|
2015-11-03 10:00:40 -08:00
|
|
|
this(item, 1, 0);
|
|
|
|
}
|
|
|
|
|
2015-12-30 15:34:40 -05:00
|
|
|
public ItemStackWrapper(Block block, int stackSize, int meta)
|
|
|
|
{
|
2015-11-03 10:00:40 -08:00
|
|
|
this(Item.getItemFromBlock(block), stackSize, meta);
|
|
|
|
}
|
|
|
|
|
2015-12-30 15:34:40 -05:00
|
|
|
public ItemStackWrapper(Block block, int stackSize)
|
|
|
|
{
|
2015-11-03 10:00:40 -08:00
|
|
|
this(block, stackSize, 0);
|
|
|
|
}
|
|
|
|
|
2015-12-30 15:34:40 -05:00
|
|
|
public ItemStackWrapper(Block block)
|
|
|
|
{
|
2015-11-03 10:00:40 -08:00
|
|
|
this(block, 1, 0);
|
|
|
|
}
|
|
|
|
|
2016-01-05 15:26:24 -08:00
|
|
|
public ItemStackWrapper(BlockStack blockStack)
|
|
|
|
{
|
|
|
|
this(blockStack.getBlock(), 1, blockStack.getMeta());
|
|
|
|
}
|
|
|
|
|
2015-12-30 15:34:40 -05:00
|
|
|
public static ItemStackWrapper getHolder(ItemStack stack)
|
|
|
|
{
|
2016-06-29 17:10:12 -04:00
|
|
|
if (stack == null)
|
|
|
|
{
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
2015-11-28 18:25:46 -08:00
|
|
|
return new ItemStackWrapper(stack.getItem(), stack.stackSize, stack.getItemDamage());
|
|
|
|
}
|
|
|
|
|
2015-12-30 15:34:40 -05:00
|
|
|
public ItemStack toStack()
|
|
|
|
{
|
2015-11-03 10:00:40 -08:00
|
|
|
return new ItemStack(item, stackSize, meta);
|
|
|
|
}
|
|
|
|
|
2015-12-30 15:34:40 -05:00
|
|
|
public String getDisplayName()
|
|
|
|
{
|
2015-11-03 10:00:40 -08:00
|
|
|
return toStack().getDisplayName();
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2015-12-30 15:34:40 -05:00
|
|
|
public String toString()
|
|
|
|
{
|
2015-11-03 10:00:40 -08:00
|
|
|
return stackSize + "x" + item.getUnlocalizedName() + "@" + this.meta;
|
|
|
|
}
|
2015-12-29 14:32:35 -05:00
|
|
|
|
2015-12-30 15:34:40 -05:00
|
|
|
public ItemStack toStack(int count)
|
|
|
|
{
|
2015-12-29 14:32:35 -05:00
|
|
|
ItemStack result = new ItemStack(item, count, meta);
|
|
|
|
result.setTagCompound(nbtTag);
|
|
|
|
return result;
|
|
|
|
}
|
2015-11-03 10:00:40 -08:00
|
|
|
}
|