fix mod name

implement GTCEU Energy adapter
This commit is contained in:
PrototypeTrousers
2022-01-20 20:02:26 -03:00
parent 0d096944cc
commit df28a5520f
5 changed files with 112 additions and 5 deletions
@@ -0,0 +1,67 @@
package appeng.tile.powersink;
import appeng.api.config.Actionable;
import appeng.api.config.PowerUnits;
import gregtech.api.capability.IEnergyContainer;
import net.minecraft.util.EnumFacing;
public class GTCEEnergyAdapter implements IEnergyContainer
{
private final IExternalPowerSink sink;
GTCEEnergyAdapter( IExternalPowerSink sink )
{
this.sink = sink;
}
@Override
public long acceptEnergyFromNetwork( EnumFacing enumFacing, long voltage, long amperage )
{
final double overflow = this.sink.injectExternalPower( PowerUnits.GTCEU, (double) voltage, Actionable.MODULATE );
return (long) ( voltage - overflow );
}
@Override
public boolean inputsEnergy( EnumFacing enumFacing )
{
return true;
}
@Override
public long changeEnergy( long l )
{
return 0;
}
@Override
public long getEnergyStored()
{
return (long) Math.floor( PowerUnits.AE.convertTo( PowerUnits.GTCEU, this.sink.getAECurrentPower() ) );
}
@Override
public long getEnergyCapacity()
{
return (long) Math.floor( PowerUnits.AE.convertTo( PowerUnits.GTCEU, this.sink.getAEMaxPower() ) );
}
@Override
public long getInputAmperage()
{
return 0;
}
@Override
public long getInputVoltage()
{
return 0;
}
@Override
public long getEnergyCanBeInserted()
{
return this.getEnergyCapacity() - this.getEnergyStored();
}
}