| 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); |
| |
| } |
| |