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(); }