blob: 0886be766e44b0ef9e93f75f4d64181f3924f19e [file] [log] [blame] [raw]
package cofh.api.transport;
/**
* This interface is implemented on Ender Attuned objects which can receive Energy (Redstone Flux).
*
* @author King Lemming
*
*/
public interface IEnderEnergyHandler extends IEnderAttuned {
/**
* Return whether or not the Ender Attuned object can currently send energy (Redstone Flux).
*/
boolean canSendEnergy();
/**
* This should be checked to see if the Ender Attuned object can currently receive energy (Redstone Flux).
*
* Note: In practice, this can (and should) be used to ensure that something does not send to itself.
*/
boolean canReceiveEnergy();
/**
* This tells the Ender Attuned object to receive energy. This returns the amount remaining, *not* the amount received - a return of 0 means that all energy
* was received!
*
* @param energy
* Amount of energy to be received.
* @param simulate
* If TRUE, the result will only be simulated.
* @return Amount of energy that is remaining (or would be remaining, if simulated).
*/
int receiveEnergy(int energy, boolean simulate);
}