-
Notifications
You must be signed in to change notification settings - Fork 8
Description
During recipe setup, MetaTileEntity::addFluidsToFluidHandler can produce false-positive simulations when passed an IMultipleTankHandler that result in a recipe starting where there is not actually sufficient output space for all fluids.
This happens because adding each output fluid is simulated in isolation against the current state of the output tanks. For example if there is a single empty tank and five fluid outputs for the recipe, each of those five fluids will independently pass the simulation using the same empty tank as the destination. When the recipe completes, the first output fluid will be inserted, and remaining fluids that could not be inserted are silently voided.
To fix this problem, insertion simulations need to be performed sequentially; each fluid needs to be aware of previous insertions to ensure all fluids will actually fit.