blob: 13a91f305ec6d268ce0f68e1b59a3b742814171c [file] [log] [blame] [raw]
package appeng.api.me.util;
import java.util.List;
import appeng.api.IItemList;
import appeng.api.me.tiles.ITilePushable;
import net.minecraft.inventory.InventoryCrafting;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
/**
* this class can be implemented if you wish to implement a TileCraftingProvider.
*/
public interface ICraftingPattern
{
/**
* returns the outcome, MUST have a value.
* @return
*/
ItemStack getOutput();
/**
* Returns a condensed list of requirements.
*
* Example: sticks, will return a single stack of 2, rather then two stacks of 1.
* The same Item will not show more than one stack.
*/
public List<ItemStack> getRequirements();
/**
* returns a list of all providers, called by AE
* @return
*/
List<ITileCraftingProvider> getProviders();
/**
* adds a provider to the pattern, called by AE
* @param a
*/
void addProviders(ITileCraftingProvider a);
/**
* Compare to Patterns, make sure you check your class types.
* @param obj
* @return
*/
@Override
public boolean equals(Object obj);
}