diff --git a/common/buildcraft/builders/TileBuilder.java b/common/buildcraft/builders/TileBuilder.java index b818d0b6..f52c1f0b 100644 --- a/common/buildcraft/builders/TileBuilder.java +++ b/common/buildcraft/builders/TileBuilder.java @@ -350,6 +350,10 @@ public class TileBuilder extends TileAbstractBuilder implements IMachine { xCoord, yCoord, zCoord)].getOpposite()); } + if (bluePrintBuilder != null && bluePrintBuilder.isDone(this)) { + bluePrintBuilder.postProcessing(worldObj); + } + bluePrintBuilder = currentPathIterator.next(); if (bluePrintBuilder != null) { @@ -367,6 +371,8 @@ public class TileBuilder extends TileAbstractBuilder implements IMachine { } } else { if (bluePrintBuilder != null && bluePrintBuilder.isDone(this)) { + bluePrintBuilder.postProcessing(worldObj); + done = true; bluePrintBuilder = null; } else { @@ -382,6 +388,17 @@ public class TileBuilder extends TileAbstractBuilder implements IMachine { updateRequirements(); } + + if (done) { + for (int i = 1; i < items.length; ++i) { + if (items[i] == null) { + items[i] = items[0]; + break; + } + } + + items[0] = null; + } } @Override @@ -678,20 +695,6 @@ public class TileBuilder extends TileAbstractBuilder implements IMachine { if (bluePrintBuilder != null) { bluePrintBuilder.buildNextSlot(worldObj, this, xCoord, yCoord, zCoord); - if (bluePrintBuilder.isDone(this)) { - bluePrintBuilder.postProcessing(worldObj); - bluePrintBuilder = null; - - for (int i = 1; i < items.length; ++i) { - if (items [i] == null) { - items [i] = items [0]; - break; - } - } - - items [0] = null; - } - updateRequirements(); } }