Fixes #2768: Incorrect return value when charging items via Tesla. (#2771)

This commit is contained in:
yueh 2017-01-31 12:17:32 +01:00 committed by GitHub
parent 12b05275f2
commit 1760113cd4
1 changed files with 3 additions and 5 deletions

View File

@ -64,9 +64,7 @@ class PoweredItemCapabilities implements ICapabilityProvider, IEnergyStorage
@Override
public boolean hasCapability( Capability<?> capability, @Nullable EnumFacing facing )
{
return capability == CapabilityEnergy.ENERGY
|| capability == Capabilities.TESLA_CONSUMER
|| capability == Capabilities.TESLA_HOLDER;
return capability == CapabilityEnergy.ENERGY || capability == Capabilities.TESLA_CONSUMER || capability == Capabilities.TESLA_HOLDER;
}
@SuppressWarnings( "unchecked" )
@ -87,10 +85,10 @@ class PoweredItemCapabilities implements ICapabilityProvider, IEnergyStorage
@Override
public int receiveEnergy( int maxReceive, boolean simulate )
{
if( simulate )
{
final int required = (int) PowerUnits.AE.convertTo( PowerUnits.RF, item.getAEMaxPower( is ) - item.getAECurrentPower( is ) );
if( maxReceive < required )
{
return 0;
@ -100,7 +98,7 @@ class PoweredItemCapabilities implements ICapabilityProvider, IEnergyStorage
else
{
final double powerRemainder = item.injectAEPower( is, PowerUnits.RF.convertTo( PowerUnits.AE, maxReceive ) );
return (int) PowerUnits.AE.convertTo( PowerUnits.RF, powerRemainder );
return maxReceive - (int) PowerUnits.AE.convertTo( PowerUnits.RF, powerRemainder );
}
}