Skip to content

Recipes Can Inadvertently Void Output Fluids Under Specific Conditions #15

@Exaxxion

Description

@Exaxxion

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.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions