Fixes by the dozen

This commit is contained in:
Aidan Brady 2013-11-25 16:34:59 -05:00
parent 824817cef5
commit 19feb2e602
20 changed files with 159 additions and 156 deletions

View file

@ -11,14 +11,23 @@ import java.util.Set;
import mekanism.api.transmitters.DynamicNetwork;
import mekanism.api.transmitters.ITransmitter;
import mekanism.api.transmitters.TransmissionType;
import mekanism.common.FluidNetwork.FluidTransferEvent;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.ForgeDirection;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.Event;
import net.minecraftforge.fluids.FluidStack;
import cpw.mods.fml.common.FMLCommonHandler;
public class GasNetwork extends DynamicNetwork<IGasAcceptor, GasNetwork>
{
public int transferDelay = 0;
public float gasScale;
public float prevGasScale;
public EnumGas refGas = null;
public GasNetwork(ITransmitter<GasNetwork>... varPipes)
{
transmitters.addAll(Arrays.asList(varPipes));
@ -48,6 +57,11 @@ public class GasNetwork extends DynamicNetwork<IGasAcceptor, GasNetwork>
public synchronized int emit(int gasToSend, EnumGas transferType, TileEntity emitter)
{
if(refGas != null && refGas != transferType)
{
return gasToSend;
}
List availableAcceptors = Arrays.asList(getAcceptors(transferType).toArray());
Collections.shuffle(availableAcceptors);
@ -79,14 +93,56 @@ public class GasNetwork extends DynamicNetwork<IGasAcceptor, GasNetwork>
}
}
if(prevSending > gasToSend && FMLCommonHandler.instance().getEffectiveSide().isServer())
int sent = prevSending-gasToSend;
if(sent > 0 && FMLCommonHandler.instance().getEffectiveSide().isServer())
{
MinecraftForge.EVENT_BUS.post(new GasTransferEvent(this, transferType));
if(transferType == refGas)
{
gasScale = Math.min(1, gasScale+((float)sent/100));
}
else if(refGas == null)
{
refGas = transferType;
gasScale = Math.min(1, ((float)sent/100));
}
transferDelay = 2;
}
return gasToSend;
}
@Override
public void tick()
{
super.tick();
if(FMLCommonHandler.instance().getEffectiveSide().isServer())
{
if(transferDelay == 0)
{
if(gasScale > 0)
{
gasScale -= .02;
}
else {
refGas = null;
}
}
else {
transferDelay--;
}
if(gasScale != prevGasScale)
{
MinecraftForge.EVENT_BUS.post(new GasTransferEvent(this, refGas, gasScale));
}
prevGasScale = gasScale;
}
}
@Override
public synchronized Set<IGasAcceptor> getAcceptors(Object... data)
{
@ -163,11 +219,13 @@ public class GasNetwork extends DynamicNetwork<IGasAcceptor, GasNetwork>
public final GasNetwork gasNetwork;
public final EnumGas transferType;
public final float gasScale;
public GasTransferEvent(GasNetwork network, EnumGas type)
public GasTransferEvent(GasNetwork network, EnumGas type, float scale)
{
gasNetwork = network;
transferType = type;
gasScale = scale;
}
}

View file

@ -206,7 +206,7 @@ public abstract class DynamicNetwork<A, N> implements ITransmitterNetwork<A, N>
}
}
ITransmitterNetwork<A, N> newNetwork = create(newNetCables);
ITransmitterNetwork<A, N> newNetwork = create(newNetCables);
newNetwork.refresh();
}
}

View file

@ -43,7 +43,7 @@ public class ClientTickHandler implements ITickHandler
@Override
public void tickStart(EnumSet<TickType> type, Object... tickData)
{
if(!preloadedSounds && mc.sndManager.sndSystem != null)
if(!preloadedSounds && mc.sndManager.sndSystem != null && MekanismClient.enableSounds)
{
new Thread(new Runnable() {
@Override

View file

@ -1,42 +0,0 @@
package mekanism.client;
import java.util.List;
import mekanism.api.gas.EnumGas;
import mekanism.api.transmitters.TransmissionType;
import mekanism.api.transmitters.DynamicNetwork.NetworkFinder;
import mekanism.api.Object3D;
import mekanism.common.tileentity.TileEntityPressurizedTube;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
public class GasClientUpdate
{
public NetworkFinder finder;
public World worldObj;
public EnumGas gasType;
public GasClientUpdate(TileEntity head, EnumGas type)
{
worldObj = head.worldObj;
gasType = type;
finder = new NetworkFinder(head.worldObj, TransmissionType.GAS, Object3D.get(head));
}
public void clientUpdate()
{
List<Object3D> found = finder.exploreNetwork();
for(Object3D object : found)
{
TileEntity tileEntity = object.getTileEntity(worldObj);
if(tileEntity instanceof TileEntityPressurizedTube)
{
((TileEntityPressurizedTube)tileEntity).onTransfer(gasType);
}
}
}
}

View file

@ -22,6 +22,7 @@ import net.minecraft.block.Block;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.ForgeDirection;
import net.minecraftforge.fluids.Fluid;
import org.lwjgl.opengl.GL11;
@ -112,36 +113,28 @@ public class RenderPressurizedTube extends TileEntitySpecialRenderer
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glPopMatrix();
EnumGas gasType = tileEntity.getTransmitterNetwork().refGas;
float scale = tileEntity.getTransmitterNetwork().gasScale;
if(tileEntity.gasScale > 0 && tileEntity.refGas != null && tileEntity.refGas.hasTexture())
if(scale > 0 && gasType != null && gasType.hasTexture())
{
push();
GL11.glColor4f(1.0F, 1.0F, 1.0F, tileEntity.gasScale);
GL11.glColor4f(1.0F, 1.0F, 1.0F, scale);
bindTexture(MekanismRenderer.getBlocksTexture());
GL11.glTranslatef((float)x, (float)y, (float)z);
if(!Mekanism.proxy.isPaused())
{
if(tileEntity.gasScale > 0)
{
tileEntity.gasScale = Math.max(0, tileEntity.gasScale - .008F);
}
else {
tileEntity.refGas = null;
}
}
for(int i = 0; i < 6; i++)
{
if(connectable[i])
{
Block b = Block.blocksList[Object3D.get(tileEntity).getFromSide(ForgeDirection.getOrientation(i)).getBlockId(tileEntity.worldObj)];
getListAndRender(ForgeDirection.getOrientation(i), tileEntity.refGas, b).render();
getListAndRender(ForgeDirection.getOrientation(i), gasType, b).render();
}
}
getListAndRender(ForgeDirection.UNKNOWN, tileEntity.refGas, null).render();
getListAndRender(ForgeDirection.UNKNOWN, gasType, null).render();
pop();
}

View file

@ -128,7 +128,7 @@ public class FluidNetwork extends DynamicNetwork<IFluidHandler, FluidNetwork>
else if(refFluid == null)
{
refFluid = sendStack.getFluid();
fluidScale += Math.min(1, ((float)sendStack.amount/1000F));
fluidScale = Math.min(1, ((float)sendStack.amount/1000F));
}
transferDelay = 2;

View file

@ -1171,7 +1171,7 @@ public class Mekanism
public void onGasTransferred(GasTransferEvent event)
{
try {
PacketHandler.sendPacket(Transmission.ALL_CLIENTS, new PacketTransmitterUpdate().setParams(PacketType.GAS, event.gasNetwork.transmitters.iterator().next(), event.transferType));
PacketHandler.sendPacket(Transmission.ALL_CLIENTS, new PacketTransmitterUpdate().setParams(PacketType.GAS, event.gasNetwork.transmitters.iterator().next(), event.transferType, event.gasScale));
} catch(Exception e) {}
}

View file

@ -122,7 +122,7 @@ public class TileComponentEjector implements ITileComponent, IEjector
}
else if(tile instanceof TileEntityLogisticalTransporter)
{
ItemStack rejects = TransporterUtils.insert(tileEntity, (TileEntityLogisticalTransporter)tile, stack, outputColor, true);
ItemStack rejects = TransporterUtils.insert(tileEntity, (TileEntityLogisticalTransporter)tile, stack, outputColor, true, 0);
if(TransporterManager.didEmit(stack, rejects))
{

View file

@ -4,8 +4,8 @@ import java.io.DataOutputStream;
import mekanism.api.gas.EnumGas;
import mekanism.api.transmitters.ITransmitter;
import mekanism.client.GasClientUpdate;
import mekanism.common.tileentity.TileEntityMechanicalPipe;
import mekanism.common.tileentity.TileEntityPressurizedTube;
import mekanism.common.tileentity.TileEntityUniversalCable;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
@ -24,6 +24,7 @@ public class PacketTransmitterUpdate implements IMekanismPacket
public double power;
public String gasName;
public float gasScale;
public int fluidType;
public float fluidScale;
@ -31,7 +32,7 @@ public class PacketTransmitterUpdate implements IMekanismPacket
@Override
public String getName()
{
return "TransmitterTransferUpdate";
return "TransmitterUpdate";
}
@Override
@ -46,7 +47,8 @@ public class PacketTransmitterUpdate implements IMekanismPacket
power = (Double)data[2];
break;
case GAS:
gasName = ((EnumGas)data[2]).name;
gasName = data[2] != null ? ((EnumGas)data[2]).name : "null";
gasScale = (Float)data[3];
break;
case FLUID:
fluidType = (Integer)data[2];
@ -88,13 +90,16 @@ public class PacketTransmitterUpdate implements IMekanismPacket
}
else if(transmitterType == 2)
{
EnumGas type = EnumGas.getFromName(dataStream.readUTF());
TileEntity tileEntity = world.getBlockTileEntity(x, y, z);
String type = dataStream.readUTF();
EnumGas gasType = type.equals("null") ? null : EnumGas.getFromName(type);
gasScale = dataStream.readFloat();
if(tileEntity != null)
{
new GasClientUpdate(tileEntity, type).clientUpdate();
((TileEntityPressurizedTube)tileEntity).getTransmitterNetwork().refGas = gasType;
((TileEntityPressurizedTube)tileEntity).getTransmitterNetwork().gasScale = gasScale;
}
}
else if(transmitterType == 3)
@ -103,7 +108,7 @@ public class PacketTransmitterUpdate implements IMekanismPacket
int type = dataStream.readInt();
Fluid fluidType = type != -1 ? FluidRegistry.getFluid(type) : null;
float fluidScale = dataStream.readFloat();
fluidScale = dataStream.readFloat();
if(tileEntity != null)
{
@ -129,6 +134,7 @@ public class PacketTransmitterUpdate implements IMekanismPacket
break;
case GAS:
dataStream.writeUTF(gasName);
dataStream.writeFloat(gasScale);
break;
case FLUID:
dataStream.writeInt(fluidType);

View file

@ -160,7 +160,7 @@ public class TileEntityAdvancedBoundingBlock extends TileEntityBoundingBlock imp
{
if(getInv() == null)
{
return null;
return new int[0];
}
return getInv().getBoundSlots(Object3D.get(this), slotID);

View file

@ -172,7 +172,7 @@ public class TileEntityBin extends TileEntityBasicBlock implements ISidedInvento
{
TileEntityLogisticalTransporter transporter = (TileEntityLogisticalTransporter)tile;
ItemStack rejects = TransporterUtils.insert(this, transporter, getStack(), null, true);
ItemStack rejects = TransporterUtils.insert(this, transporter, getStack(), null, true, 0);
if(TransporterManager.didEmit(getStack(), rejects))
{
@ -294,7 +294,7 @@ public class TileEntityBin extends TileEntityBasicBlock implements ISidedInvento
@Override
public int getSizeInventory()
{
return 1;
return 2;
}
@Override
@ -408,7 +408,7 @@ public class TileEntityBin extends TileEntityBasicBlock implements ISidedInvento
return new int[] {0};
}
return null;
return new int[0];
}
@Override

View file

@ -200,7 +200,7 @@ public class TileEntityDigitalMiner extends TileEntityElectricBlock implements I
}
else if(getEjectInv() instanceof TileEntityLogisticalTransporter)
{
ItemStack rejected = TransporterUtils.insert(getEjectTile(), (TileEntityLogisticalTransporter)getEjectInv(), getTopEject(false, null), null, true);
ItemStack rejected = TransporterUtils.insert(getEjectTile(), (TileEntityLogisticalTransporter)getEjectInv(), getTopEject(false, null), null, true, 0);
if(TransporterManager.didEmit(getTopEject(false, null), rejected))
{

View file

@ -87,7 +87,7 @@ public class TileEntityLogisticalSorter extends TileEntityElectricBlock implemen
InvStack inInventory = null;
boolean hasFilter = false;
EnumColor filterColor = color;
TItemStackFilter itemFilter = null;
int min = 0;
for(TransporterFilter filter : filters)
{
@ -103,7 +103,12 @@ public class TileEntityLogisticalSorter extends TileEntityElectricBlock implemen
if(filter instanceof TItemStackFilter)
{
itemFilter = (TItemStackFilter)filter;
TItemStackFilter itemFilter = (TItemStackFilter)filter;
if(itemFilter.sizeMode)
{
min = itemFilter.min;
}
}
break;
@ -122,31 +127,25 @@ public class TileEntityLogisticalSorter extends TileEntityElectricBlock implemen
if(!roundRobin)
{
ItemStack rejects = TransporterUtils.insert(this, transporter, inInventory.getStack(), filterColor, false);
ItemStack rejects = TransporterUtils.insert(this, transporter, inInventory.getStack(), filterColor, true, min);
if(TransporterManager.didEmit(inInventory.getStack(), rejects))
{
if(itemFilter == null || itemFilter.canFilter(TransporterManager.getToUse(inInventory.getStack(), rejects)))
{
used = TransporterManager.getToUse(inInventory.getStack(), rejects);
}
used = TransporterManager.getToUse(inInventory.getStack(), rejects);
}
}
else {
ItemStack rejects = TransporterUtils.insertRR(this, transporter, inInventory.getStack(), filterColor, false);
ItemStack rejects = TransporterUtils.insertRR(this, transporter, inInventory.getStack(), filterColor, true, min);
if(TransporterManager.didEmit(inInventory.getStack(), rejects))
{
if(itemFilter == null || itemFilter.canFilter(TransporterManager.getToUse(inInventory.getStack(), rejects)))
{
used = TransporterManager.getToUse(inInventory.getStack(), rejects);
}
used = TransporterManager.getToUse(inInventory.getStack(), rejects);
}
}
if(used != null)
{
inInventory.use();
inInventory.use(used.stackSize);
inventory.onInventoryChanged();
setActive(true);
}

View file

@ -209,7 +209,7 @@ public class TileEntityLogisticalTransporter extends TileEntity implements ITile
{
needsSync.add(stack);
if(!TransporterManager.didEmit(stack.itemStack, stack.recalculatePath(this)))
if(!TransporterManager.didEmit(stack.itemStack, stack.recalculatePath(this, 0)))
{
if(!stack.calculateIdle(this))
{
@ -226,7 +226,7 @@ public class TileEntityLogisticalTransporter extends TileEntity implements ITile
return true;
}
public ItemStack insert(Object3D original, ItemStack itemStack, EnumColor color, boolean doEmit)
public ItemStack insert(Object3D original, ItemStack itemStack, EnumColor color, boolean doEmit, int min)
{
TransporterStack stack = new TransporterStack();
stack.itemStack = itemStack;
@ -239,7 +239,7 @@ public class TileEntityLogisticalTransporter extends TileEntity implements ITile
return itemStack;
}
ItemStack rejected = stack.recalculatePath(this);
ItemStack rejected = stack.recalculatePath(this, min);
if(TransporterManager.didEmit(stack.itemStack, rejected))
{
@ -255,7 +255,7 @@ public class TileEntityLogisticalTransporter extends TileEntity implements ITile
return itemStack;
}
public ItemStack insertRR(TileEntityLogisticalSorter outputter, ItemStack itemStack, EnumColor color, boolean doEmit)
public ItemStack insertRR(TileEntityLogisticalSorter outputter, ItemStack itemStack, EnumColor color, boolean doEmit, int min)
{
TransporterStack stack = new TransporterStack();
stack.itemStack = itemStack;
@ -268,7 +268,7 @@ public class TileEntityLogisticalTransporter extends TileEntity implements ITile
return itemStack;
}
ItemStack rejected = stack.recalculateRRPath(outputter, this);
ItemStack rejected = stack.recalculateRRPath(outputter, this, min);
if(TransporterManager.didEmit(stack.itemStack, rejected))
{
@ -507,7 +507,7 @@ public class TileEntityLogisticalTransporter extends TileEntity implements ITile
{
TileEntity tile = Object3D.get(this).getFromSide(from).getTileEntity(worldObj);
ItemStack rejects = TransporterUtils.insert(tile, this, stack, null, true);
ItemStack rejects = TransporterUtils.insert(tile, this, stack, null, true, 0);
return TransporterManager.getToUse(stack, rejects).stackSize;
}

View file

@ -15,13 +15,7 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.ForgeDirection;
public class TileEntityPressurizedTube extends TileEntityTransmitter<GasNetwork> implements ITubeConnection, IGasTransmitter
{
/** The gas currently displayed in this tube. */
public EnumGas refGas = null;
/** The scale of the gas (0F -> 1F) currently inside this tube. */
public float gasScale;
{
@Override
public TransmissionType getTransmissionType()
{
@ -114,19 +108,6 @@ public class TileEntityPressurizedTube extends TileEntityTransmitter<GasNetwork>
getTransmitterNetwork().refresh();
}
public void onTransfer(EnumGas type)
{
if(type == refGas)
{
gasScale = Math.min(1, gasScale+.03F);
}
else if(refGas == null)
{
refGas = type;
gasScale += Math.min(1, gasScale+.03F);
}
}
@Override
public boolean canTubeConnect(ForgeDirection side)
{

View file

@ -59,33 +59,27 @@ public final class InvStack
{
ItemStack stack = itemStacks.get(i);
if(inventory.getStackInSlot(slotIDs.get(i)).stackSize == stack.stackSize)
if(inventory.getStackInSlot(slotIDs.get(i)).stackSize == stack.stackSize && stack.stackSize <= amount)
{
inventory.setInventorySlotContents(slotIDs.get(i), null);
amount -= stack.stackSize;
}
else {
ItemStack ret = stack.copy();
ret.stackSize = inventory.getStackInSlot(slotIDs.get(i)).stackSize - stack.stackSize;
ret.stackSize = inventory.getStackInSlot(slotIDs.get(i)).stackSize - Math.min(stack.stackSize, amount);
inventory.setInventorySlotContents(slotIDs.get(i), ret);
amount -= ret.stackSize;
}
if(amount == 0)
{
return;
}
}
}
public void use()
{
for(int i = 0; i < slotIDs.size(); i++)
{
ItemStack stack = itemStacks.get(i);
if(inventory.getStackInSlot(slotIDs.get(i)).stackSize == stack.stackSize)
{
inventory.setInventorySlotContents(slotIDs.get(i), null);
}
else {
ItemStack ret = stack.copy();
ret.stackSize = inventory.getStackInSlot(slotIDs.get(i)).stackSize - stack.stackSize;
inventory.setInventorySlotContents(slotIDs.get(i), ret);
}
}
use(getStack().stackSize);
}
}

View file

@ -25,15 +25,11 @@ public class TransporterManager
public static void add(TransporterStack stack)
{
flowingStacks.add(stack);
System.out.println("Added " + flowingStacks.size());
}
public static void remove(TransporterStack stack)
{
flowingStacks.remove(stack);
System.out.println("Removed " + flowingStacks.size());
}
public static List<TransporterStack> getStacksToDest(Object3D dest)
@ -42,7 +38,7 @@ public class TransporterManager
for(TransporterStack stack : flowingStacks)
{
if(stack != null && stack.pathType != Path.NONE)
if(stack != null && stack.pathType != Path.NONE && stack.hasPath())
{
if(stack.getDest().equals(dest))
{
@ -64,18 +60,23 @@ public class TransporterManager
{
for(int i = 0; i <= inv.getSizeInventory() - 1; i++)
{
ret[i] = inv.getStackInSlot(i).copy();
ret[i] = inv.getStackInSlot(i) != null ? inv.getStackInSlot(i).copy() : null;
}
}
else {
ISidedInventory sidedInventory = (ISidedInventory)inv;
int[] slots = sidedInventory.getAccessibleSlotsFromSide(ForgeDirection.getOrientation(side).getOpposite().ordinal());
if(slots == null || slots.length == 0)
{
return null;
}
for(int get = 0; get <= slots.length - 1; get++)
{
int slotID = slots[get];
ret[slotID] = sidedInventory.getStackInSlot(slotID).copy();
ret[slotID] = sidedInventory.getStackInSlot(slotID) != null ? sidedInventory.getStackInSlot(slotID).copy() : null;
}
}
@ -97,6 +98,11 @@ public class TransporterManager
return;
}
}
if(inv instanceof TileEntityBin)
{
return;
}
if(!(inv instanceof ISidedInventory))
{
@ -110,7 +116,7 @@ public class TransporterManager
}
}
ItemStack inSlot = inv.getStackInSlot(i);
ItemStack inSlot = testInv[i];
if(inSlot == null)
{
@ -166,7 +172,7 @@ public class TransporterManager
}
}
ItemStack inSlot = inv.getStackInSlot(slotID);
ItemStack inSlot = testInv[slotID];
if(inSlot == null)
{
@ -242,6 +248,11 @@ public class TransporterManager
IInventory inventory = (IInventory)tileEntity;
ItemStack[] testInv = copyInvFromSide(inventory, side);
if(testInv == null)
{
return itemStack;
}
List<TransporterStack> insertQueue = getStacksToDest(Object3D.get(tileEntity));
for(TransporterStack tStack : insertQueue)

View file

@ -244,7 +244,7 @@ public final class TransporterPathfinder
}
}
public static List<Destination> getPaths(TileEntityLogisticalTransporter start, TransporterStack stack)
public static List<Destination> getPaths(TileEntityLogisticalTransporter start, TransporterStack stack, int min)
{
DestChecker checker = new DestChecker()
{
@ -265,7 +265,10 @@ public final class TransporterPathfinder
if(p.getPath().size() >= 2)
{
paths.add(new Destination(p.getPath(), p.finalScore, false, d.rejects.get(obj)));
if(TransporterManager.getToUse(stack.itemStack, d.rejects.get(obj)).stackSize >= min)
{
paths.add(new Destination(p.getPath(), p.finalScore, false, d.rejects.get(obj)));
}
}
}
@ -274,9 +277,9 @@ public final class TransporterPathfinder
return paths;
}
public static Destination getNewBasePath(TileEntityLogisticalTransporter start, TransporterStack stack)
public static Destination getNewBasePath(TileEntityLogisticalTransporter start, TransporterStack stack, int min)
{
List<Destination> paths = getPaths(start, stack);
List<Destination> paths = getPaths(start, stack, min);
if(paths.isEmpty())
{
@ -286,9 +289,9 @@ public final class TransporterPathfinder
return paths.get(0);
}
public static Destination getNewRRPath(TileEntityLogisticalTransporter start, TransporterStack stack, TileEntityLogisticalSorter outputter)
public static Destination getNewRRPath(TileEntityLogisticalTransporter start, TransporterStack stack, TileEntityLogisticalSorter outputter, int min)
{
List<Destination> paths = getPaths(start, stack);
List<Destination> paths = getPaths(start, stack, min);
Map<Object3D, Destination> destPaths = new HashMap<Object3D, Destination>();

View file

@ -145,12 +145,12 @@ public class TransporterStack
public boolean hasPath()
{
return pathToTarget != null;
return pathToTarget != null && pathToTarget.size() >= 2;
}
public ItemStack recalculatePath(TileEntityLogisticalTransporter tileEntity)
public ItemStack recalculatePath(TileEntityLogisticalTransporter tileEntity, int min)
{
Destination newPath = TransporterPathfinder.getNewBasePath(tileEntity, this);
Destination newPath = TransporterPathfinder.getNewBasePath(tileEntity, this, min);
if(newPath == null)
{
@ -165,9 +165,9 @@ public class TransporterStack
return newPath.rejected;
}
public ItemStack recalculateRRPath(TileEntityLogisticalSorter outputter, TileEntityLogisticalTransporter tileEntity)
public ItemStack recalculateRRPath(TileEntityLogisticalSorter outputter, TileEntityLogisticalTransporter tileEntity, int min)
{
Destination newPath = TransporterPathfinder.getNewRRPath(tileEntity, this, outputter);
Destination newPath = TransporterPathfinder.getNewRRPath(tileEntity, this, outputter, min);
if(newPath == null)
{

View file

@ -190,14 +190,14 @@ public final class TransporterUtils
return inventories;
}
public static ItemStack insert(TileEntity outputter, TileEntityLogisticalTransporter tileEntity, ItemStack itemStack, EnumColor color, boolean doEmit)
public static ItemStack insert(TileEntity outputter, TileEntityLogisticalTransporter tileEntity, ItemStack itemStack, EnumColor color, boolean doEmit, int min)
{
return tileEntity.insert(Object3D.get(outputter), itemStack.copy(), color, doEmit);
return tileEntity.insert(Object3D.get(outputter), itemStack.copy(), color, doEmit, min);
}
public static ItemStack insertRR(TileEntityLogisticalSorter outputter, TileEntityLogisticalTransporter tileEntity, ItemStack itemStack, EnumColor color, boolean doEmit)
public static ItemStack insertRR(TileEntityLogisticalSorter outputter, TileEntityLogisticalTransporter tileEntity, ItemStack itemStack, EnumColor color, boolean doEmit, int min)
{
return tileEntity.insertRR(outputter, itemStack.copy(), color, doEmit);
return tileEntity.insertRR(outputter, itemStack.copy(), color, doEmit, min);
}
public static EnumColor increment(EnumColor color)