resonant-induction/archive/java/resonantinduction/old/api/IProcessable.java
2014-01-11 17:44:07 +08:00

27 lines
1 KiB
Java

package resonantinduction.old.api;
import net.minecraft.item.ItemStack;
import dark.lib.recipes.ProcessorType;
/**
* Simple interface that allows an item to control how its salvaged, processed, or refined by a
* processor. This is 100% optional as the processor by default can break down most items. The only
* reason to use this is for more complex processing or were the item was created with NBT.
*
* @author Darkgaurdsman
*/
public interface IProcessable
{
/** Can this item be Processed by the machine */
public boolean canProcess(ProcessorType type, ItemStack stack);
/**
* Gets the output array of items when this item is processed by a processor machine
*
* @param type - type of machine see ProcessorTypes enum for info
* @param stack - ItemStack of this item or block
* @return Array of all item outputed, Make sure to return less than or equal to the amount of
* items it takes to craft only one of this item
*/
public ItemStack[] getProcesserOutput(ProcessorType type, ItemStack stack);
}