diff --git a/common/buildcraft/builders/TileBuilder.java b/common/buildcraft/builders/TileBuilder.java index 83e988ac..cbf14e4e 100644 --- a/common/buildcraft/builders/TileBuilder.java +++ b/common/buildcraft/builders/TileBuilder.java @@ -310,6 +310,8 @@ public class TileBuilder extends TileAbstractBuilder implements IMachine { currentPathIterator = null; } + updateRequirements(); + return; } @@ -350,6 +352,8 @@ public class TileBuilder extends TileAbstractBuilder implements IMachine { } } } + + updateRequirements(); } } @@ -393,7 +397,6 @@ public class TileBuilder extends TileAbstractBuilder implements IMachine { if (!worldObj.isRemote) { if (i == 0) { - RPCHandler.rpcBroadcastPlayers(this, "setItemRequirements", null, null); iterateBpt(); done = false; } @@ -641,20 +644,27 @@ public class TileBuilder extends TileAbstractBuilder implements IMachine { items [0] = null; } - if (bluePrintBuilder instanceof BptBuilderBlueprint) { - LinkedList realSize = new LinkedList(); - - for (ItemStack stack : ((BptBuilderBlueprint) bluePrintBuilder).neededItems) { - realSize.add(stack.stackSize); - stack.stackSize = 0; - } - - RPCHandler.rpcBroadcastPlayers(this, "setItemRequirements", - ((BptBuilderBlueprint) bluePrintBuilder).neededItems, realSize); - } + updateRequirements(); } } + public void updateRequirements () { + if (bluePrintBuilder instanceof BptBuilderBlueprint) { + LinkedList realSize = new LinkedList(); + + for (ItemStack stack : ((BptBuilderBlueprint) bluePrintBuilder).neededItems) { + realSize.add(stack.stackSize); + stack.stackSize = 0; + } + + RPCHandler.rpcBroadcastPlayers(this, "setItemRequirements", + ((BptBuilderBlueprint) bluePrintBuilder).neededItems, realSize); + } else { + RPCHandler.rpcBroadcastPlayers(this, "setItemRequirements", null, null); + } + + } + public BptBuilderBase getBlueprint () { if (bluePrintBuilder != null) { return bluePrintBuilder;