package appeng.crafting; import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.Iterator; import net.minecraft.nbt.NBTTagCompound; import appeng.api.config.Actionable; import appeng.api.storage.data.IAEItemStack; import appeng.api.storage.data.IItemList; import com.google.common.collect.Multimap; public class CraftingJob implements ICraftingParent { IAEItemStack output; IItemList storage; HashSet prophecies; Multimap bottom; CraftingTask top; ICraftingHost jobHost; public CraftingJob(ICraftingHost host, NBTTagCompound data) { // TODO Auto-generated constructor stub } public CraftingJob(ICraftingHost host, IAEItemStack what, Actionable mode) { } public Collection getBottom() { return bottom.values(); } public IAEItemStack addProgress(IAEItemStack progress) { Collection task = bottom.get( progress ); if ( task == null ) return progress; Iterator i = task.iterator(); while (i.hasNext()) { // adding to the first item.. progress = i.next().addProgress( progress ); // if nothing remains return if ( progress == null ) return null; // if something remains continue.. i = task.iterator(); } return null; } @Override public void writeToNBT(NBTTagCompound out) { } @Override public void removeChild(CraftingTask craftingTask) { // TODO Auto-generated method stub } public ICraftingHost getHost() { // TODO Auto-generated method stub return null; } @Override public Collection getSubJobs() { return Collections.singleton( top ); } }