Skip to content

Commit

Permalink
Revert back to the old method of power distribution to fix BuildCraft…
Browse files Browse the repository at this point in the history
… issues. We shouldn't try to make up for other mods' bugs.
  • Loading branch information
aidancbrady committed Jul 31, 2014
1 parent 4a70449 commit 269343f
Showing 1 changed file with 10 additions and 23 deletions.
33 changes: 10 additions & 23 deletions src/main/java/mekanism/common/EnergyNetwork.java
Original file line number Diff line number Diff line change
Expand Up @@ -201,34 +201,28 @@ public synchronized double doEmit(double energyToSend)

if(acceptor instanceof IStrictEnergyAcceptor)
{
double used = ((IStrictEnergyAcceptor)acceptor).transferEnergyToAcceptor(side.getOpposite(), currentSending);
sent += used;
if(used > 0) continue;
sent += ((IStrictEnergyAcceptor)acceptor).transferEnergyToAcceptor(side.getOpposite(), currentSending);
}
if(MekanismUtils.useRF() && acceptor instanceof IEnergyHandler)
else if(MekanismUtils.useRF() && acceptor instanceof IEnergyHandler)
{
IEnergyHandler handler = (IEnergyHandler)acceptor;
int used = handler.receiveEnergy(side.getOpposite(), (int)Math.round(currentSending*Mekanism.TO_TE), false);
sent += used*Mekanism.FROM_TE;
if(used > 0) continue;
}
if(MekanismUtils.useIC2() && acceptor instanceof IEnergySink)
else if(MekanismUtils.useIC2() && acceptor instanceof IEnergySink)
{
double toSend = Math.min(currentSending, EnergyNet.instance.getPowerFromTier(Math.min(((IEnergySink) acceptor).getSinkTier(), 8))*Mekanism.FROM_IC2);
double toSend = Math.min(currentSending, EnergyNet.instance.getPowerFromTier(((IEnergySink) acceptor).getSinkTier())*Mekanism.FROM_IC2);
toSend = Math.min(toSend, ((IEnergySink)acceptor).getDemandedEnergy()*Mekanism.FROM_IC2);
double used = toSend - (((IEnergySink)acceptor).injectEnergy(side.getOpposite(), toSend*Mekanism.TO_IC2, 0)*Mekanism.FROM_IC2);
sent += used;
if(used > 0) continue;
sent += (toSend - (((IEnergySink)acceptor).injectEnergy(side.getOpposite(), toSend*Mekanism.TO_IC2, 0)*Mekanism.FROM_IC2));
}
if(MekanismUtils.useBuildCraft() && acceptor instanceof IPowerReceptor)
else if(MekanismUtils.useBuildCraft() && acceptor instanceof IPowerReceptor)
{
PowerReceiver receiver = ((IPowerReceptor)acceptor).getPowerReceiver(side.getOpposite());

if(receiver != null)
{
double toSend = receiver.receiveEnergy(Type.PIPE, (float)(Math.min(receiver.powerRequest(), currentSending*Mekanism.TO_BC)), side.getOpposite());
sent += toSend*Mekanism.FROM_BC;
if(toSend > 0) continue;
}
}
}
Expand Down Expand Up @@ -266,11 +260,10 @@ public synchronized Set<TileEntity> getAcceptors(Object... data)
if(handler.getMaxEnergy() - handler.getEnergy() > 0)
{
toReturn.add(acceptor);
continue;
}
}
}
if(MekanismUtils.useRF() && acceptor instanceof IEnergyHandler)
else if(MekanismUtils.useRF() && acceptor instanceof IEnergyHandler)
{
IEnergyHandler handler = (IEnergyHandler)acceptor;

Expand All @@ -279,27 +272,22 @@ public synchronized Set<TileEntity> getAcceptors(Object... data)
if(handler.getMaxEnergyStored(side.getOpposite()) - handler.getEnergyStored(side.getOpposite()) > 0 || handler.receiveEnergy(side.getOpposite(), 1, true) > 0)
{
toReturn.add(acceptor);
continue;
}
}
}
if(MekanismUtils.useIC2() && acceptor instanceof IEnergySink)
else if(MekanismUtils.useIC2() && acceptor instanceof IEnergySink)
{
IEnergySink handler = (IEnergySink)acceptor;

if(handler.acceptsEnergyFrom(null, side.getOpposite()))
{
double demanded = handler.getDemandedEnergy()*Mekanism.FROM_IC2;
int tier = Math.min(handler.getSinkTier(), 8);
double max = EnergyNet.instance.getPowerFromTier(tier)*Mekanism.FROM_IC2;
if(Math.min(demanded, max) > 0)
if(Math.min((handler.getDemandedEnergy()*Mekanism.FROM_IC2), (EnergyNet.instance.getPowerFromTier(handler.getSinkTier())*Mekanism.FROM_IC2)) > 0)
{
toReturn.add(acceptor);
continue;
}
}
}
if(MekanismUtils.useBuildCraft() && acceptor instanceof IPowerReceptor)
else if(MekanismUtils.useBuildCraft() && acceptor instanceof IPowerReceptor)
{
IPowerReceptor handler = (IPowerReceptor)acceptor;

Expand All @@ -313,7 +301,6 @@ public synchronized Set<TileEntity> getAcceptors(Object... data)
}

toReturn.add(acceptor);
continue;
}
}
}
Expand Down

0 comments on commit 269343f

Please sign in to comment.