51 lines
1.3 KiB
Java
51 lines
1.3 KiB
Java
package ic2.api.energy.tile;
|
|
|
|
/**
|
|
* Tile entities which conduct energy pulses without buffering (mostly cables) have to implement
|
|
* this interface.
|
|
*/
|
|
public interface IEnergyConductor extends IEnergyAcceptor, IEnergyEmitter
|
|
{
|
|
/**
|
|
* Energy loss for the conductor in EU per block.
|
|
*
|
|
* @return Energy loss
|
|
*/
|
|
double getConductionLoss();
|
|
|
|
/**
|
|
* Amount of energy the insulation will handle before shocking nearby players and mobs.
|
|
*
|
|
* @return Insulation energy absorption in EU
|
|
*/
|
|
int getInsulationEnergyAbsorption();
|
|
|
|
/**
|
|
* Amount of energy the insulation will handle before it is destroyed. Ensure that this value is
|
|
* greater than the insulation energy absorption + 64.
|
|
*
|
|
* @return Insulation-destroying energy in EU
|
|
*/
|
|
int getInsulationBreakdownEnergy();
|
|
|
|
/**
|
|
* Amount of energy the conductor will handle before it melts.
|
|
*
|
|
* @return Conductor-destroying energy in EU
|
|
*/
|
|
int getConductorBreakdownEnergy();
|
|
|
|
/**
|
|
* Remove the conductor's insulation if the insulation breakdown energy was exceeded.
|
|
*
|
|
* @see #getInsulationBreakdownEnergy()
|
|
*/
|
|
void removeInsulation();
|
|
|
|
/**
|
|
* Remove the conductor if the conductor breakdown energy was exceeded.
|
|
*
|
|
* @see #getConductorBreakdownEnergy()
|
|
*/
|
|
void removeConductor();
|
|
}
|