64 lines
1.6 KiB
Java
64 lines
1.6 KiB
Java
package WayofTime.bloodmagic.api;
|
|
|
|
import lombok.EqualsAndHashCode;
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.Setter;
|
|
import net.minecraft.block.Block;
|
|
import net.minecraft.item.Item;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.nbt.NBTTagCompound;
|
|
|
|
@RequiredArgsConstructor
|
|
@EqualsAndHashCode
|
|
public class ItemStackWrapper {
|
|
|
|
public final Item item;
|
|
public final int stackSize;
|
|
public final int meta;
|
|
@Setter
|
|
public NBTTagCompound nbtTag;
|
|
|
|
public ItemStackWrapper(Item item, int stackSize) {
|
|
this(item, stackSize, 0);
|
|
}
|
|
|
|
public ItemStackWrapper(Item item) {
|
|
this(item, 1, 0);
|
|
}
|
|
|
|
public ItemStackWrapper(Block block, int stackSize, int meta) {
|
|
this(Item.getItemFromBlock(block), stackSize, meta);
|
|
}
|
|
|
|
public ItemStackWrapper(Block block, int stackSize) {
|
|
this(block, stackSize, 0);
|
|
}
|
|
|
|
public ItemStackWrapper(Block block) {
|
|
this(block, 1, 0);
|
|
}
|
|
|
|
public static ItemStackWrapper getHolder(ItemStack stack) {
|
|
return new ItemStackWrapper(stack.getItem(), stack.stackSize, stack.getItemDamage());
|
|
}
|
|
|
|
public ItemStack toStack() {
|
|
return new ItemStack(item, stackSize, meta);
|
|
}
|
|
|
|
public String getDisplayName() {
|
|
return toStack().getDisplayName();
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return stackSize + "x" + item.getUnlocalizedName() + "@" + this.meta;
|
|
}
|
|
|
|
public ItemStack toStack(int count) {
|
|
ItemStack result = new ItemStack(item, count, meta);
|
|
result.setTagCompound(nbtTag);
|
|
return result;
|
|
}
|
|
}
|