Applied-Energistics-2-tiler.../src/api/java/appeng/api/networking/crafting/ICraftingRequester.java
thatsIch ede5fb938b Remove gitmodules
Integrate api and lang into core
2014-12-04 13:09:13 +01:00

38 lines
1.1 KiB
Java

package appeng.api.networking.crafting;
import appeng.api.config.Actionable;
import appeng.api.networking.security.IActionHost;
import appeng.api.storage.data.IAEItemStack;
import com.google.common.collect.ImmutableSet;
public interface ICraftingRequester extends IActionHost
{
/**
* called when the host is added to the grid, and should return all crafting links it poses so they can be connected
* with the cpu that hosts the job.
*
* @return set of jobs, or an empty list.
*/
ImmutableSet<ICraftingLink> getRequestedJobs();
/**
* items are injected into the requester as they are completed, any items that cannot be taken, or are unwanted can
* be returned.
*
* @param items item
* @param mode action mode
* @return unwanted item
*/
IAEItemStack injectCraftedItems(ICraftingLink link, IAEItemStack items, Actionable mode);
/**
* called when the job changes from in progress, to either complete, or canceled.
*
* after this call the crafting link is "dead" and should be discarded.
*/
void jobStateChange(ICraftingLink link);
}