Skip to content

Releases: EmAlter/create-diagram

Create: Diagram v0.1.0

Choose a tag to compare

@EmAlter EmAlter released this 01 Jun 18:47

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 DiagramScreen has 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

Choose a tag to compare

@EmAlter EmAlter released this 22 May 18:48

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

Choose a tag to compare

@EmAlter EmAlter released this 21 May 16:26

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).

Create: Diagram v0.0.1

Choose a tag to compare

@EmAlter EmAlter released this 20 May 20:00

First Beta release