Rework Diazuli Pipe routing to handle overflow

This commit is contained in:
CovertJaguar 2013-11-24 06:50:23 -08:00
parent 023a5d51fb
commit 0f63603bd6

View file

@ -119,17 +119,13 @@ public class PipeItemsDaizuli extends Pipe<PipeTransportItems> {
} }
public void eventHandler(PipeEventItem.FindDest event) { public void eventHandler(PipeEventItem.FindDest event) {
LinkedList<ForgeDirection> newMovements = new LinkedList<ForgeDirection>(); ForgeDirection output = ForgeDirection.getOrientation(container.getBlockMetadata());
EnumColor c = getColor(); if (event.item.color == getColor() && event.destinations.contains(output)) {
for (ForgeDirection dir : event.destinations) { event.destinations.clear();
if (event.item.color == c) { event.destinations.add(output);
if (dir.ordinal() == container.getBlockMetadata()) return;
newMovements.add(dir);
} else if (dir.ordinal() != container.getBlockMetadata()) {
newMovements.add(dir);
} }
} event.destinations.remove(output);
event.destinations.retainAll(newMovements);
} }
public void eventHandler(PipeEventItem.AdjustSpeed event) { public void eventHandler(PipeEventItem.AdjustSpeed event) {