62 lines
1.5 KiB
Java
62 lines
1.5 KiB
Java
package appeng.items.tools.powered.powersink;
|
|
|
|
import net.minecraft.item.ItemStack;
|
|
import universalelectricity.core.item.IItemElectric;
|
|
import appeng.api.config.PowerUnits;
|
|
|
|
public class UniversalElectricity extends ThermalExpansion implements IItemElectric
|
|
{
|
|
|
|
public UniversalElectricity(Class c, String subname) {
|
|
super( c, subname );
|
|
}
|
|
|
|
@Override
|
|
public float recharge(ItemStack is, float energy, boolean doRecharge)
|
|
{
|
|
return (float) (energy - injectExternalPower( PowerUnits.KJ, is, energy, !doRecharge ));
|
|
}
|
|
|
|
@Override
|
|
public float discharge(ItemStack is, float energy, boolean doDischarge)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
@Override
|
|
public float getElectricityStored(ItemStack is)
|
|
{
|
|
return (int) PowerUnits.AE.convertTo( PowerUnits.KJ, getAECurrentPower( is ) );
|
|
}
|
|
|
|
@Override
|
|
public float getMaxElectricityStored(ItemStack is)
|
|
{
|
|
return (int) PowerUnits.AE.convertTo( PowerUnits.KJ, getAEMaxPower( is ) );
|
|
}
|
|
|
|
@Override
|
|
public void setElectricity(ItemStack is, float joules)
|
|
{
|
|
double currentPower = getAECurrentPower( is );
|
|
double targetPower = PowerUnits.KJ.convertTo( PowerUnits.AE, joules );
|
|
if ( targetPower > currentPower )
|
|
injectAEPower( is, targetPower - currentPower );
|
|
else
|
|
extractAEPower( is, currentPower - targetPower );
|
|
}
|
|
|
|
@Override
|
|
public float getTransfer(ItemStack is)
|
|
{
|
|
return (float) PowerUnits.AE.convertTo( PowerUnits.KJ, getAEMaxPower( is ) - getAECurrentPower( is ) );
|
|
}
|
|
|
|
@Override
|
|
public float getVoltage(ItemStack itemStack)
|
|
{
|
|
return 120;
|
|
}
|
|
|
|
}
|