package universalelectricity.implement; | |
import net.minecraft.src.TileEntity; | |
import net.minecraftforge.common.ForgeDirection; | |
/** | |
* The IElectricityReceiver interface is an interface that must be applied to | |
* all tile entities that can input or output electricity. | |
* | |
* @author Calclavia | |
* | |
*/ | |
public interface IElectricityReceiver extends IDisableable, IConnector, IVoltage | |
{ | |
/** | |
* Called every tick on this machine. | |
* | |
* @param amps | |
* - Amount of amps this electric unit is receiving. | |
* @param voltage | |
* - The voltage of the electricity sent. If more than one packet | |
* is being sent to you in this update, the highest voltage will | |
* override. | |
* @param side | |
* - The side of the block in which the electricity is coming | |
* from. | |
*/ | |
public void onReceive(TileEntity sender, double amps, double voltage, ForgeDirection side); | |
/** | |
* How many watts does this electrical unit need this tick? Recommended for | |
* you to return the max electricity storage of this machine (if there is | |
* one). | |
*/ | |
public double wattRequest(); | |
/** | |
* Can this unit receive electricity from this specific side? | |
*/ | |
public boolean canReceiveFromSide(ForgeDirection side); | |
} |