You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
During recipe setup,
MetaTileEntity::addFluidsToFluidHandler
can produce false-positive simulations when passed anIMultipleTankHandler
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.
The text was updated successfully, but these errors were encountered: