Add multiple recipe tree management and batch manipulation#1100
Add multiple recipe tree management and batch manipulation#1100ICaxapI wants to merge 7 commits intoemilyploszaj:1.21from
Conversation
Enhance recipe tree functionality with support for multiple trees, allowing addition, removal, and selection. Add combinable costs and progression for aggregated handling. Introduce new tooltips for advanced batch adjustments with `Ctrl` and `Alt`.
Introduce `adjustInitialView` method to dynamically set zoom and vertical offset based on content.
|
Sorry to point you to a discussion forum like Discord, but there has been notable work on features overlapping these behaviors there which would be a good indicator to inform how design should look. I do not have time to thoroughly review this code at the moment, but I will say an implementation already exists that takes many different design decisions. Could you justify any changes you've made to the user experience (visuals, keybinds, tooltips, positioning, functionality) in your implementation? |
|
Hi! I read CONTRIBUTING.md, but I couldn't find a Discord link for syncing the functionality/disign. In another PR, I also added saving/renaming/deleting tree sets to selectable keybinds, which will allow me to store multiple recipe sets at once and quickly switch between them (in a separate page or subpanel). I reused one class from that PR for display, so it was in my PR, but I can transfer all this extended functionality for [multi-trees only] to this PR. I didn't want to do this because I would have given credit to the author of the bookmark PR for the class I reused. If there are any specific areas that need improvement (for example, in the design), please describe them. I would like to see this functionality in the official EMI. |
…te progression tracking
|
After three weeks of testing, I can say it works perfectly. I've already used this patch to plan and craft huge factories with multi-block machines and complex, multi-tiered recipes. Synthetic favorite lists reached halfway down the second page, and everything worked perfectly, including saving the factory plan between sessions. |
| "tooltip.emi.bom.batch_size": "Quantité: %s\nScrollez pour changer\nMaintenez §6[shift]§r pour changer par 16", | ||
| "tooltip.emi.bom.batch_size": "Quantité: %s\nScrollez pour changer\nMaintenez §6[Shift]§r pour changer par 16", | ||
| "tooltip.emi.bom.batch_size.multiply": "Maintenez §6[Ctrl]§r pour ajouter un multiplicateur", | ||
| "tooltip.emi.bom.batch_size.all": "Maintenez §6[Alt]§r pour appliquer à tous les objets racine", |
There was a problem hiding this comment.
This is not fluent french ("racine" for "root" does match, but feels a bit off)
There was a problem hiding this comment.
Here are some better alternatives imo
- objets principaux
- objets finaux
Yes, it's true leftovers don't count as ingredients for crafting adjacent trees. I actually considered this during the implementation and thought it would be more convenient. But now I realize I haven't encountered a single issue in the game where this was truly useful and didn't become annoying. It's actually a very easy fix.
If you mean that if one root recipe contains a final element from another root recipe, it won't be calculated correctly, then this is the same issue as above. I'll fix it in the next commit. Thank you for your attention. |
…alculation and remainders handling.
Yep, with multitrees this line can get really long. Maybe we should wrap elements to the next line when the number of elements exceeds a certain limit? |





Enhance recipe tree functionality with support for multiple trees, allowing addition, removal, and selection. Add combinable costs and progression for aggregated handling. Introduce new tooltips for advanced batch adjustments with
CtrlandAlt.To add new recipe trees, you need to press the add recipe button in the new recipe while holding down the Shift key.
