package openblocks.common.item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidContainerRegistry;
import net.minecraftforge.fluids.FluidStack;
import openblocks.OpenBlocks;
import openblocks.OpenBlocks.Items;
import openmods.item.IMetaItem;
public enum MetasBucket {
xpbucket {
@Override
public IMetaItem createMetaItem() {
return new MetaGeneric("xpbucket");
}
};
public ItemStack newItemStack(int size) {
return new ItemStack(OpenBlocks.Items.filledBucket, size, ordinal());
}
public ItemStack newItemStack() {
return new ItemStack(OpenBlocks.Items.filledBucket, 1, ordinal());
}
public boolean isA(ItemStack stack) {
return (stack.getItem() instanceof ItemFilledBucket) && (stack.getItemDamage() == ordinal());
}
protected abstract IMetaItem createMetaItem();
protected boolean isEnabled() {
return true;
}
public void registerAsBucketFor(Fluid fluid) {
registerAsContainerFor(new FluidStack(fluid, FluidContainerRegistry.BUCKET_VOLUME), FluidContainerRegistry.EMPTY_BUCKET);
}
public void registerAsContainerFor(FluidStack fluid, ItemStack emptyContainer) {
FluidContainerRegistry.registerFluidContainer(fluid.copy(), newItemStack(), emptyContainer);
}
public static void registerItems() {
for (MetasBucket m : values())
if (m.isEnabled()) {
Items.filledBucket.registerItem(m.ordinal(), m.createMetaItem());
}
}
}