23 lines
849 B
Java
23 lines
849 B
Java
package moze_intel.projecte.api.tile;
|
|
|
|
import net.minecraftforge.common.util.ForgeDirection;
|
|
|
|
/**
|
|
* Implement this interface to specify that "EMC can be taken from this Tile Entity from an external source"
|
|
* The contract of this interface is limited to only the above statement
|
|
* However, ProjectE implements an "active-push" system, where providers automatically send EMC to acceptors. You are recommended to follow this convention
|
|
* Reference implementation provided in TileEmcHandler
|
|
*
|
|
* @author williewillus
|
|
*/
|
|
public interface IEmcProvider extends IEmcStorage
|
|
{
|
|
/**
|
|
* Extract, at most, the given amount of EMC from the given side
|
|
* @param side The side to extract EMC from
|
|
* @param toExtract The maximum amount to extract
|
|
* @return The amount actually extracted
|
|
*/
|
|
double provideEMC(ForgeDirection side, double toExtract);
|
|
}
|