Require that output slots be locked when multiple recipes match the input #1167
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.
Requires that #1101 be addressed first - this causes the Fusion Reactor to be unable to run with the presence of both H3 + Tritium.
This addresses the issue of recipes where the inputs may be the same (or merely overlap) but the outputs are different. The way it works now is inconsistent and results in confusing behavior for some users. This change aims to make the behavior consistent and communicate to the user what is happening.
If you feel as though the visual doesn't fit or needs adjusting, let me know and I'll make the changes.
Somewhat related, but I also made a slight adjustment to the multiblock gui background texture and text alignment because it was slightly misaligned and we need at least one extra line to display the steam overclock text.
Here's a few examples of what this accomplishes:
This assembler can make either Clean Stainless Steel Machine Casings or Stainless Steel Drill Heads. The machine won't run unless the slots are locked and it is forced to pick one or the other.

Another example are the Distillery recipes. When the fluid is added and no slot is locked, right now, it just picks one and starts processing it.


This also supports the multiblock gui view. Here's an example of what that looks like.
