Fix ranged output items voiding if there wasn't enough output space #4290
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What
If a ranged ingredient cannot possibly fit into the output space, rather than causing the recipe search to fail at that point because not enough output space, the ranged ingredient just gets deleted and so recipe search succeeds because it sees no unprocessed outputs, and the ranged output gets voided.
This fixes that. If a NotifiableItemStackHandler doesn't have enough space to fit a ranged ingredient's full output stack, recipe search fails and the recipe doesn't run.
Just like for real ingredients.
Implementation Details
Ranged Items were doing a redundant stack size check to see if they could fit into the output space. However, rather than causing recipe search to fail if the item couldn't fit, it would in stead remove the ranged ingredient from the list of items to be processed.