Rework Diazuli Pipe routing to handle overflow
This commit is contained in:
parent
023a5d51fb
commit
0f63603bd6
1 changed files with 6 additions and 10 deletions
|
@ -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) {
|
||||||
|
|
Loading…
Reference in a new issue