2013-06-26 17:49:47 -04:00
|
|
|
package mekanism.common;
|
|
|
|
|
|
2016-02-27 13:32:48 -05:00
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.Collection;
|
|
|
|
|
import java.util.Collections;
|
|
|
|
|
import java.util.EnumSet;
|
|
|
|
|
import java.util.HashSet;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Set;
|
|
|
|
|
|
2014-06-19 14:34:57 +02:00
|
|
|
import mekanism.api.Coord4D;
|
2013-08-26 18:49:32 -04:00
|
|
|
import mekanism.api.transmitters.DynamicNetwork;
|
2013-12-20 19:12:33 -05:00
|
|
|
import mekanism.api.transmitters.IGridTransmitter;
|
2014-08-30 02:34:50 +01:00
|
|
|
import mekanism.common.util.LangUtils;
|
2016-06-10 11:30:03 -04:00
|
|
|
import mekanism.common.util.PipeUtils;
|
2013-06-26 17:49:47 -04:00
|
|
|
import net.minecraft.tileentity.TileEntity;
|
|
|
|
|
import net.minecraftforge.common.MinecraftForge;
|
2014-06-02 23:57:40 +02:00
|
|
|
import net.minecraftforge.common.util.ForgeDirection;
|
2013-08-24 21:22:45 -04:00
|
|
|
import net.minecraftforge.fluids.Fluid;
|
2013-07-20 12:10:14 -04:00
|
|
|
import net.minecraftforge.fluids.FluidStack;
|
|
|
|
|
import net.minecraftforge.fluids.IFluidHandler;
|
2016-02-27 13:32:48 -05:00
|
|
|
import cpw.mods.fml.common.FMLCommonHandler;
|
|
|
|
|
import cpw.mods.fml.common.eventhandler.Event;
|
2013-06-26 17:49:47 -04:00
|
|
|
|
2013-12-06 07:57:26 -05:00
|
|
|
public class FluidNetwork extends DynamicNetwork<IFluidHandler, FluidNetwork>
|
2013-06-26 17:49:47 -04:00
|
|
|
{
|
2013-11-25 00:00:26 -05:00
|
|
|
public int transferDelay = 0;
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2013-11-28 21:43:53 -05:00
|
|
|
public boolean didTransfer;
|
|
|
|
|
public boolean prevTransfer;
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2013-11-28 21:43:53 -05:00
|
|
|
public float fluidScale;
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2013-12-17 18:20:18 -05:00
|
|
|
public Fluid refFluid;
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2015-04-01 02:42:36 +01:00
|
|
|
public FluidStack buffer;
|
2013-12-17 18:20:18 -05:00
|
|
|
public int prevStored;
|
2014-01-07 03:17:59 +00:00
|
|
|
|
|
|
|
|
public int prevTransferAmount = 0;
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2015-04-01 02:42:36 +01:00
|
|
|
public FluidNetwork() {}
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2015-04-01 02:42:36 +01:00
|
|
|
public FluidNetwork(Collection<FluidNetwork> networks)
|
2013-08-04 01:41:16 +01:00
|
|
|
{
|
|
|
|
|
for(FluidNetwork net : networks)
|
|
|
|
|
{
|
|
|
|
|
if(net != null)
|
|
|
|
|
{
|
2015-04-03 18:04:56 +01:00
|
|
|
if(net.buffer != null)
|
2013-11-29 13:04:39 -05:00
|
|
|
{
|
2015-04-03 18:04:56 +01:00
|
|
|
if(buffer == null)
|
2013-12-17 12:53:33 -05:00
|
|
|
{
|
2015-04-03 18:04:56 +01:00
|
|
|
buffer = net.buffer.copy();
|
2013-12-17 12:53:33 -05:00
|
|
|
}
|
2015-04-03 18:04:56 +01:00
|
|
|
else {
|
|
|
|
|
if(buffer.getFluid() == net.buffer.getFluid())
|
2013-12-18 11:19:30 -05:00
|
|
|
{
|
2015-04-01 02:42:36 +01:00
|
|
|
buffer.amount += net.buffer.amount;
|
2013-12-18 11:19:30 -05:00
|
|
|
}
|
2015-04-03 18:04:56 +01:00
|
|
|
else if(net.buffer.amount > buffer.amount)
|
|
|
|
|
{
|
|
|
|
|
buffer = net.buffer.copy();
|
|
|
|
|
}
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2013-12-17 12:53:33 -05:00
|
|
|
}
|
2015-04-03 18:04:56 +01:00
|
|
|
|
|
|
|
|
net.buffer = null;
|
2013-12-17 12:53:33 -05:00
|
|
|
}
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2015-04-01 02:42:36 +01:00
|
|
|
adoptTransmittersAndAcceptorsFrom(net);
|
2013-08-04 01:41:16 +01:00
|
|
|
net.deregister();
|
|
|
|
|
}
|
|
|
|
|
}
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2013-12-18 07:24:59 -05:00
|
|
|
fluidScale = getScale();
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2013-08-04 01:41:16 +01:00
|
|
|
register();
|
2013-06-26 17:49:47 -04:00
|
|
|
}
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2014-04-01 19:16:07 +01:00
|
|
|
@Override
|
2015-04-01 02:42:36 +01:00
|
|
|
public void absorbBuffer(IGridTransmitter<IFluidHandler, FluidNetwork> transmitter)
|
2014-04-01 19:16:07 +01:00
|
|
|
{
|
2015-04-01 02:42:36 +01:00
|
|
|
Object b = transmitter.getBuffer();
|
2015-11-26 14:40:46 -07:00
|
|
|
|
2015-04-01 02:42:36 +01:00
|
|
|
if(!(b instanceof FluidStack) || ((FluidStack)b).getFluid() == null || ((FluidStack)b).amount == 0)
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
2014-04-01 19:16:07 +01:00
|
|
|
|
2015-04-01 02:42:36 +01:00
|
|
|
FluidStack fluid = (FluidStack)b;
|
|
|
|
|
|
|
|
|
|
if(buffer == null || buffer.getFluid() == null || buffer.amount == 0)
|
2014-04-01 19:16:07 +01:00
|
|
|
{
|
2015-04-03 18:04:56 +01:00
|
|
|
buffer = fluid.copy();
|
2015-11-26 14:40:46 -07:00
|
|
|
fluid.amount = 0;
|
2015-04-01 02:42:36 +01:00
|
|
|
return;
|
2014-04-01 19:16:07 +01:00
|
|
|
}
|
2015-04-15 12:52:07 -04:00
|
|
|
|
|
|
|
|
//TODO better multiple buffer impl
|
|
|
|
|
if(buffer.isFluidEqual(fluid))
|
|
|
|
|
{
|
|
|
|
|
buffer.amount += fluid.amount;
|
|
|
|
|
}
|
2015-11-26 14:40:46 -07:00
|
|
|
|
|
|
|
|
fluid.amount = 0;
|
2014-04-01 19:16:07 +01:00
|
|
|
}
|
|
|
|
|
|
2014-03-07 19:00:25 -06:00
|
|
|
@Override
|
2015-04-01 02:42:36 +01:00
|
|
|
public void clampBuffer()
|
2014-03-07 19:00:25 -06:00
|
|
|
{
|
2015-04-01 02:42:36 +01:00
|
|
|
if(buffer != null && buffer.amount > getCapacity())
|
2013-12-17 20:28:25 -05:00
|
|
|
{
|
2015-04-01 02:42:36 +01:00
|
|
|
buffer.amount = capacity;
|
|
|
|
|
}
|
|
|
|
|
}
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2015-04-01 02:42:36 +01:00
|
|
|
@Override
|
|
|
|
|
protected void updateMeanCapacity()
|
|
|
|
|
{
|
|
|
|
|
int numCables = transmitters.size();
|
|
|
|
|
double sum = 0;
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2015-04-01 02:42:36 +01:00
|
|
|
for(IGridTransmitter<IFluidHandler, FluidNetwork> pipe : transmitters)
|
|
|
|
|
{
|
|
|
|
|
sum += pipe.getCapacity();
|
2013-12-17 20:28:25 -05:00
|
|
|
}
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2015-04-01 02:42:36 +01:00
|
|
|
meanCapacity = sum / (double)numCables;
|
2014-03-07 19:00:25 -06:00
|
|
|
}
|
|
|
|
|
|
2015-04-01 02:42:36 +01:00
|
|
|
public int getFluidNeeded()
|
2013-12-14 00:36:52 -05:00
|
|
|
{
|
2015-04-01 02:42:36 +01:00
|
|
|
return getCapacity()-(buffer != null ? buffer.amount : 0);
|
2013-12-14 00:36:52 -05:00
|
|
|
}
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2015-04-01 02:42:36 +01:00
|
|
|
public int tickEmit(FluidStack fluidToSend, boolean doTransfer)
|
2013-06-26 17:49:47 -04:00
|
|
|
{
|
2015-04-02 03:22:53 +01:00
|
|
|
List<IFluidHandler> availableAcceptors = new ArrayList<>();
|
|
|
|
|
availableAcceptors.addAll(getAcceptors(fluidToSend));
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2013-06-26 17:49:47 -04:00
|
|
|
Collections.shuffle(availableAcceptors);
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2013-07-20 12:10:14 -04:00
|
|
|
int fluidSent = 0;
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2013-06-26 17:49:47 -04:00
|
|
|
if(!availableAcceptors.isEmpty())
|
|
|
|
|
{
|
|
|
|
|
int divider = availableAcceptors.size();
|
2013-07-20 12:10:14 -04:00
|
|
|
int remaining = fluidToSend.amount % divider;
|
|
|
|
|
int sending = (fluidToSend.amount-remaining)/divider;
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2015-04-02 03:22:53 +01:00
|
|
|
for(IFluidHandler acceptor : availableAcceptors)
|
2013-06-26 17:49:47 -04:00
|
|
|
{
|
2015-04-02 03:22:53 +01:00
|
|
|
int currentSending = sending;
|
|
|
|
|
EnumSet<ForgeDirection> sides = acceptorDirections.get(Coord4D.get((TileEntity)acceptor));
|
|
|
|
|
|
|
|
|
|
if(remaining > 0)
|
|
|
|
|
{
|
|
|
|
|
currentSending++;
|
|
|
|
|
remaining--;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for(ForgeDirection side : sides)
|
2013-06-26 17:49:47 -04:00
|
|
|
{
|
2015-04-02 03:22:53 +01:00
|
|
|
int prev = fluidSent;
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2015-04-02 03:22:53 +01:00
|
|
|
if(acceptor != null && fluidToSend != null)
|
2013-06-26 17:49:47 -04:00
|
|
|
{
|
2016-06-10 11:30:03 -04:00
|
|
|
fluidSent += acceptor.fill(side, PipeUtils.copy(fluidToSend, currentSending), doTransfer);
|
2013-06-26 17:49:47 -04:00
|
|
|
}
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2015-04-02 03:22:53 +01:00
|
|
|
if(fluidSent > prev)
|
2014-08-15 16:21:58 -04:00
|
|
|
{
|
2015-04-02 03:22:53 +01:00
|
|
|
break;
|
2014-08-15 16:21:58 -04:00
|
|
|
}
|
2013-06-26 17:49:47 -04:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2013-07-20 12:10:14 -04:00
|
|
|
if(doTransfer && fluidSent > 0 && FMLCommonHandler.instance().getEffectiveSide().isServer())
|
2013-06-26 17:49:47 -04:00
|
|
|
{
|
2013-11-28 21:43:53 -05:00
|
|
|
didTransfer = true;
|
|
|
|
|
transferDelay = 2;
|
2013-06-26 17:49:47 -04:00
|
|
|
}
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2013-07-20 12:10:14 -04:00
|
|
|
return fluidSent;
|
2013-06-26 17:49:47 -04:00
|
|
|
}
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2015-04-01 02:42:36 +01:00
|
|
|
public int emit(FluidStack fluidToSend, boolean doTransfer)
|
2013-12-14 00:36:52 -05:00
|
|
|
{
|
2015-04-01 02:42:36 +01:00
|
|
|
if(fluidToSend == null || (buffer != null && buffer.getFluid() != fluidToSend.getFluid()))
|
2013-12-14 00:36:52 -05:00
|
|
|
{
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2013-12-14 00:36:52 -05:00
|
|
|
int toUse = Math.min(getFluidNeeded(), fluidToSend.amount);
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2013-12-14 00:36:52 -05:00
|
|
|
if(doTransfer)
|
|
|
|
|
{
|
2015-04-01 02:42:36 +01:00
|
|
|
if(buffer == null)
|
2013-12-14 00:36:52 -05:00
|
|
|
{
|
2015-04-01 02:42:36 +01:00
|
|
|
buffer = fluidToSend.copy();
|
|
|
|
|
buffer.amount = toUse;
|
2013-12-14 00:36:52 -05:00
|
|
|
}
|
|
|
|
|
else {
|
2015-04-01 02:42:36 +01:00
|
|
|
buffer.amount += toUse;
|
2013-12-14 00:36:52 -05:00
|
|
|
}
|
|
|
|
|
}
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2013-12-14 00:36:52 -05:00
|
|
|
return toUse;
|
|
|
|
|
}
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2013-11-25 00:00:26 -05:00
|
|
|
@Override
|
2013-12-21 14:54:12 -05:00
|
|
|
public void onUpdate()
|
2013-11-25 00:00:26 -05:00
|
|
|
{
|
2013-12-21 14:54:12 -05:00
|
|
|
super.onUpdate();
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2013-11-25 00:00:26 -05:00
|
|
|
if(FMLCommonHandler.instance().getEffectiveSide().isServer())
|
|
|
|
|
{
|
2014-03-20 00:54:21 +00:00
|
|
|
prevTransferAmount = 0;
|
|
|
|
|
|
2013-11-25 00:00:26 -05:00
|
|
|
if(transferDelay == 0)
|
|
|
|
|
{
|
2013-11-28 21:43:53 -05:00
|
|
|
didTransfer = false;
|
2013-11-25 00:00:26 -05:00
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
transferDelay--;
|
|
|
|
|
}
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2015-04-01 02:42:36 +01:00
|
|
|
int stored = buffer != null ? buffer.amount : 0;
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2013-12-17 18:20:18 -05:00
|
|
|
if(stored != prevStored)
|
2013-12-14 15:30:41 -05:00
|
|
|
{
|
|
|
|
|
needsUpdate = true;
|
|
|
|
|
}
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2013-12-17 18:20:18 -05:00
|
|
|
prevStored = stored;
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2013-11-28 21:43:53 -05:00
|
|
|
if(didTransfer != prevTransfer || needsUpdate)
|
2013-11-25 00:00:26 -05:00
|
|
|
{
|
2015-04-06 01:29:07 +01:00
|
|
|
MinecraftForge.EVENT_BUS.post(new FluidTransferEvent(this, buffer, didTransfer));
|
2013-11-28 21:43:53 -05:00
|
|
|
needsUpdate = false;
|
2013-11-25 00:00:26 -05:00
|
|
|
}
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2013-11-28 21:43:53 -05:00
|
|
|
prevTransfer = didTransfer;
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2015-04-01 02:42:36 +01:00
|
|
|
if(buffer != null)
|
2013-12-14 00:36:52 -05:00
|
|
|
{
|
2015-04-01 02:42:36 +01:00
|
|
|
prevTransferAmount = tickEmit(buffer, true);
|
|
|
|
|
if(buffer != null)
|
2013-12-14 00:36:52 -05:00
|
|
|
{
|
2015-04-01 02:42:36 +01:00
|
|
|
buffer.amount -= prevTransferAmount;
|
2014-08-31 20:30:41 +01:00
|
|
|
|
2015-04-01 02:42:36 +01:00
|
|
|
if(buffer.amount <= 0)
|
2014-08-31 20:30:41 +01:00
|
|
|
{
|
2015-04-01 02:42:36 +01:00
|
|
|
buffer = null;
|
2014-08-31 20:30:41 +01:00
|
|
|
}
|
2013-12-14 00:36:52 -05:00
|
|
|
}
|
|
|
|
|
}
|
2013-11-28 21:43:53 -05:00
|
|
|
}
|
|
|
|
|
}
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2013-11-28 21:43:53 -05:00
|
|
|
@Override
|
|
|
|
|
public void clientTick()
|
|
|
|
|
{
|
|
|
|
|
super.clientTick();
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2013-12-17 18:20:18 -05:00
|
|
|
fluidScale = Math.max(fluidScale, getScale());
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2013-11-28 21:43:53 -05:00
|
|
|
if(didTransfer && fluidScale < 1)
|
|
|
|
|
{
|
2013-12-17 18:20:18 -05:00
|
|
|
fluidScale = Math.max(getScale(), Math.min(1, fluidScale+0.02F));
|
2013-11-28 21:43:53 -05:00
|
|
|
}
|
|
|
|
|
else if(!didTransfer && fluidScale > 0)
|
|
|
|
|
{
|
2013-12-17 20:28:25 -05:00
|
|
|
fluidScale = getScale();
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2013-11-28 21:43:53 -05:00
|
|
|
if(fluidScale == 0)
|
|
|
|
|
{
|
2015-04-01 02:42:36 +01:00
|
|
|
buffer = null;
|
2013-11-28 21:43:53 -05:00
|
|
|
}
|
2013-11-25 00:00:26 -05:00
|
|
|
}
|
|
|
|
|
}
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2013-08-18 16:51:47 -04:00
|
|
|
@Override
|
2015-04-01 02:42:36 +01:00
|
|
|
public Set<IFluidHandler> getAcceptors(Object data)
|
2013-06-26 17:49:47 -04:00
|
|
|
{
|
2015-04-01 02:42:36 +01:00
|
|
|
FluidStack fluidToSend = (FluidStack)data;
|
|
|
|
|
Set<IFluidHandler> toReturn = new HashSet<>();
|
2014-08-15 16:21:58 -04:00
|
|
|
|
|
|
|
|
if(FMLCommonHandler.instance().getEffectiveSide().isClient())
|
|
|
|
|
{
|
|
|
|
|
return toReturn;
|
|
|
|
|
}
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2015-02-16 14:40:10 -05:00
|
|
|
for(Coord4D coord : possibleAcceptors.keySet())
|
2013-06-26 17:49:47 -04:00
|
|
|
{
|
2014-08-15 16:21:58 -04:00
|
|
|
EnumSet<ForgeDirection> sides = acceptorDirections.get(coord);
|
2015-05-22 13:06:46 -04:00
|
|
|
TileEntity tile = coord.getTileEntity(getWorld());
|
2015-04-01 02:42:36 +01:00
|
|
|
|
2014-08-15 16:21:58 -04:00
|
|
|
if(sides == null || sides.isEmpty())
|
2013-12-12 16:54:55 -05:00
|
|
|
{
|
|
|
|
|
continue;
|
|
|
|
|
}
|
2015-05-22 13:06:46 -04:00
|
|
|
|
|
|
|
|
IFluidHandler acceptor = (IFluidHandler)tile;
|
2015-04-01 02:42:36 +01:00
|
|
|
|
2014-08-15 16:21:58 -04:00
|
|
|
for(ForgeDirection side : sides)
|
2013-06-26 17:49:47 -04:00
|
|
|
{
|
2015-04-02 03:22:53 +01:00
|
|
|
if(acceptor != null && acceptor.canFill(side, fluidToSend.getFluid()))
|
2014-08-15 16:21:58 -04:00
|
|
|
{
|
|
|
|
|
toReturn.add(acceptor);
|
|
|
|
|
break;
|
|
|
|
|
}
|
2013-06-26 17:49:47 -04:00
|
|
|
}
|
|
|
|
|
}
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2013-06-26 17:49:47 -04:00
|
|
|
return toReturn;
|
|
|
|
|
}
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2013-07-20 12:10:14 -04:00
|
|
|
public static class FluidTransferEvent extends Event
|
2013-06-26 17:49:47 -04:00
|
|
|
{
|
2013-07-20 12:10:14 -04:00
|
|
|
public final FluidNetwork fluidNetwork;
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2013-12-17 18:20:18 -05:00
|
|
|
public final FluidStack fluidType;
|
2013-11-28 21:43:53 -05:00
|
|
|
public final boolean didTransfer;
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2015-04-06 01:29:07 +01:00
|
|
|
public FluidTransferEvent(FluidNetwork network, FluidStack type, boolean did)
|
2013-06-26 17:49:47 -04:00
|
|
|
{
|
2013-07-20 12:10:14 -04:00
|
|
|
fluidNetwork = network;
|
2013-11-25 00:00:26 -05:00
|
|
|
fluidType = type;
|
2013-11-28 21:43:53 -05:00
|
|
|
didTransfer = did;
|
2013-06-26 17:49:47 -04:00
|
|
|
}
|
|
|
|
|
}
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2013-12-14 15:30:41 -05:00
|
|
|
public float getScale()
|
|
|
|
|
{
|
2015-04-01 02:42:36 +01:00
|
|
|
return Math.min(1, (buffer == null || getCapacity() == 0 ? 0 : (float)buffer.amount/getCapacity()));
|
2013-12-14 15:30:41 -05:00
|
|
|
}
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2013-06-26 17:49:47 -04:00
|
|
|
@Override
|
|
|
|
|
public String toString()
|
|
|
|
|
{
|
2013-08-17 13:32:05 -04:00
|
|
|
return "[FluidNetwork] " + transmitters.size() + " transmitters, " + possibleAcceptors.size() + " acceptors.";
|
2013-08-04 01:18:43 +01:00
|
|
|
}
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2013-08-23 19:23:08 +01:00
|
|
|
@Override
|
2014-07-09 15:31:57 -04:00
|
|
|
public String getNeededInfo()
|
2013-08-23 19:23:08 +01:00
|
|
|
{
|
2014-07-09 15:31:57 -04:00
|
|
|
return (float)getFluidNeeded()/1000F + " buckets";
|
2013-08-23 19:23:08 +01:00
|
|
|
}
|
2014-03-07 19:00:25 -06:00
|
|
|
|
2014-01-07 03:17:59 +00:00
|
|
|
@Override
|
2014-07-09 15:31:57 -04:00
|
|
|
public String getStoredInfo()
|
2014-01-07 03:17:59 +00:00
|
|
|
{
|
2015-04-01 02:42:36 +01:00
|
|
|
return buffer != null ? LangUtils.localizeFluidStack(buffer) + " (" + buffer.amount + " mB)" : "None";
|
2014-01-07 03:17:59 +00:00
|
|
|
}
|
|
|
|
|
|
2013-08-23 19:23:08 +01:00
|
|
|
@Override
|
2014-07-09 15:31:57 -04:00
|
|
|
public String getFlowInfo()
|
2013-08-23 19:23:08 +01:00
|
|
|
{
|
2014-07-09 15:31:57 -04:00
|
|
|
return Integer.toString(prevTransferAmount) + " mB/t";
|
2013-08-23 19:23:08 +01:00
|
|
|
}
|
2013-06-26 17:49:47 -04:00
|
|
|
}
|