BuildCraft/BuildCraft — pull request #672 by AartBluestoke (2013-03-11 07:54:52+00:00)
Title: ACT should only remove items it will use.

do not remove items when creating a StackPointer.
Items in the act itself are used as normal.
Missing are grouped so that the external inventory is only searched once for any given item.
If this is not done, then 1 wood in an external chest could be used twice when crafting sticks.

items are removed only after every items has been found.

code should be faster when pulling multiple copies of the same item from external inventories.

made getNearbyItemFromOrientation private and removed removed dead code function calls.

reset pointers isn't ever used, because pointers don't hold real items until called upon.

should fix #670 and any other corner cases involving inventories with non-symetrical add/remove
should provide ability to add correct interact with ISpecial inventories (or other inventories without re-insertion capabilities)
should provide ability to add correct forgeDictionary handling (all external requests pass through 1 function now, if a direct match for an item fails, search for forge-dictionary matches.)

only tested in MCP environment, not with many mods installed. (can't see how this could possibly fail, as the same action is performed against the external inventory, only delayed by a couple of function calls)