Releases: EmAlter/create-diagram
Release list
Create: Diagram v0.1.0
This update focuses on completely rewriting the mod's foundations.
Optimization & Performance
- Added visual feedback ("Loading...") in the side menu while items are being indexed in the background.
- The interface no longer continuously queries the mod registry for every pixel drawn. Implemented a local cache for machines, recipes, and textures.
- Opening the diagram is now instantaneous. Scanning the item catalog (EMI) no longer freezes the game; it now runs safely in the background on a separate thread.
Improvements & Bug Fixes
- Removed the mini drop-down menu for all machines whose recipes require catalysts, making the interface cleaner and more intuitive (see explanation)
- Implemented a new textual indicator within the output tooltips, clearly specifying the type of process required to obtain that item.
- Hovering over category icons in the Menu now displays a formatted tooltip with the actual name of the corresponding mod.
- All Canvas tooltips now use a unified
TooltipManager, ensuring consistent visuals and preventing Z-Index overlapping bugs.
Architectural Changes
- The entire editor has been restructured following the strict Model-View-Controller pattern. Clean separation between data logic (
Model), graphical rendering (View), and user interaction (Controller) for Nodes, Edges, Texts, and the Menu. - The
DiagramScreenhas been streamlined and lightened. It now acts purely as a Mediator, allowing the various Controllers (Canvas and Toolbar) to communicate autonomously with each other without "spaghetti" code or tight coupling.
Technical Note: Catalyst & Recipe Cycling
In Create, every recipe is associated with a specific process method (e.g., smelting, washing, etc.), and the JSON file strictly declares its inputs and outputs. Some blocks, like the create:encased_fan, rely on catalysts such as water or lava to execute a process (e.g., converting a log into charcoal). However, this specific logic is handled internally within the Java classes rather than being exposed in the recipe JSONs, making it impossible to fetch dynamically.
To avoid hard-coding these interactions (as I did in previous versions), every output tooltip now clearly displays its required process method. Right-clicking an output port will cycle through alternative outputs whenever there are multiple recipes sharing the same input but requiring different process methods.
Note: This limitation does not apply to the heating requirement, as that attribute is properly declared within the JSON files.
Create: Diagram v0.0.3
Added:
- The canvas position (pan) and zoom level are now saved when closing the diagram and restored upon reopening.
Changed:
- Bézier connection curves are now rendered much smoother and cleaner.
- Optimized data processing and rendering to significantly reduce resource usage while the diagram is open.
Fixed:
- Output tooltips now correctly display their exact drop probability percentage.
- Fixed the Z-index of certain icons that were rendering too high.
- Newly created sticky notes now correctly default to a white background instead of inheriting the active color from the drawing toolbar.
- Fixed an issue where sticky notes could not be resized back to their original height due to an incorrect minimum limit.
Create: Diagram v0.0.2
New:
- New icons in the toolbar instead of letters;
- Now when you move a text item in the diagram, it will highlights in red.
Fixed:
If a recipe needs to be heated, the machine has a little menu to choose form heated, not heated or super heated.
This mechanics now apply to all machines with at least one heated (or super heated) recipe (for example press or mixer).