package ic2.api.energy.tile;
/**
* Implement with an {@link IEnergySink} tile entity to change the force of the explosion when overpowered.
*/
public interface IExplosionPowerOverride {
/**
* Checks if the electric tile should explode. If you return false here,
* the explosion will just not happen at all and the block will stay.
* This is NOT recommended.
* @return Whether the block should explode.
*
* @note It should not be dependent on the tier of the power injected, consider {@link IOverloadHandler} if necessary.
*/
boolean shouldExplode();
/**
* The explosion force when too much power is received.
* @param tier The tier of power, that was injected into the energy sink, that caused it to explode.
* @param defaultPower The default explosion power.
* @return The explosion power
*/
float getExplosionPower(int tier, float defaultPower);
}