Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Recipes Can Inadvertently Void Output Fluids Under Specific Conditions #15

Open
Exaxxion opened this issue Dec 5, 2024 · 0 comments
Open
Assignees
Labels
bug Something isn't working

Comments

@Exaxxion
Copy link
Collaborator

Exaxxion commented Dec 5, 2024

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.

@Exaxxion Exaxxion added the bug Something isn't working label Dec 5, 2024
@Exaxxion Exaxxion self-assigned this Dec 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant