package gtPlusPlus.xmod.gregtech.api.interfaces;

import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;

public interface GregtechItemContainer {
	public Item getItem();
	public Block getBlock();
	public boolean isStackEqual(Object aStack);
	public boolean isStackEqual(Object aStack, boolean aWildcard, boolean aIgnoreNBT);
	public ItemStack get(long aAmount, Object... aReplacements);
	public ItemStack getWildcard(long aAmount, Object... aReplacements);
	public ItemStack getUndamaged(long aAmount, Object... aReplacements);
	public ItemStack getAlmostBroken(long aAmount, Object... aReplacements);
	public ItemStack getWithDamage(long aAmount, long aMetaValue, Object... aReplacements);
	public GregtechItemContainer set(Item aItem);
	public GregtechItemContainer set(ItemStack aStack);
	public GregtechItemContainer registerOre(Object... aOreNames);
	public GregtechItemContainer registerWildcardAsOre(Object... aOreNames);
	public ItemStack getWithCharge(long aAmount, int aEnergy, Object... aReplacements);
	public ItemStack getWithName(long aAmount, String aDisplayName, Object... aReplacements);
	public boolean hasBeenSet();
}