#2438: Added Tesla support with same conversion ratio as RF.
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
package appeng.tile.powersink;
|
||||
|
||||
|
||||
import net.darkhax.tesla.api.ITeslaConsumer;
|
||||
|
||||
import appeng.api.config.PowerUnits;
|
||||
|
||||
|
||||
/**
|
||||
* Adapts an {@link IExternalPowerSink} to Forges {@link net.darkhax.tesla.api.ITeslaConsumer}.
|
||||
*/
|
||||
class TeslaEnergyAdapter implements ITeslaConsumer
|
||||
{
|
||||
|
||||
private final IExternalPowerSink sink;
|
||||
|
||||
TeslaEnergyAdapter( IExternalPowerSink sink )
|
||||
{
|
||||
this.sink = sink;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long givePower( long power, boolean simulated )
|
||||
{
|
||||
// Cut it down to what we can represent in a double
|
||||
double powerDbl = (double) power;
|
||||
|
||||
double networkDemand = sink.getExternalPowerDemand( PowerUnits.RF, powerDbl );
|
||||
long used = (long) Math.min( powerDbl, networkDemand );
|
||||
|
||||
if( !simulated )
|
||||
{
|
||||
sink.injectExternalPower( PowerUnits.RF, used );
|
||||
}
|
||||
|
||||
return used;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user