package buildcraft.api.transport;

import java.util.ArrayList;
import java.util.List;
import net.minecraft.world.World;

public abstract class PipeManager {

	public static List<IExtractionHandler> extractionHandlers = new ArrayList<IExtractionHandler>();

	public static void registerExtractionHandler(IExtractionHandler handler) {
		extractionHandlers.add(handler);
	}

	/**
	 * param extractor can be null
	 */
	public static boolean canExtractItems(Object extractor, World world, int i, int j, int k) {
		for (IExtractionHandler handler : extractionHandlers)
			if (!handler.canExtractItems(extractor, world, i, j, k))
				return false;

		return true;
	}
	
	/**
	 * param extractor can be null
	 */
	public static boolean canExtractFluids(Object extractor, World world, int i, int j, int k) {
		for (IExtractionHandler handler : extractionHandlers)
			if (!handler.canExtractFluids(extractor, world, i, j, k))
				return false;

		return true;
	}
}
