
SFM-Flow
A Re-imagined SFM with Flowcharts
Автор: ScottDTA5303обновлён 8 авг. 2026 г.
ХранениеТехнологии
Описание
WARNING: ALPHA RELEASE. SHOULD BE SAFE TO USE IN NORMAL SAVE, BUT MAKE BACKUPS JUST IN CASE. API CHANGES ARE STILL LIKELY.
SFM-Flow is a complete, modernized visual flowchart automation mod built from the ground up for NeoForge 1.21.1. It allows you to design, coordinate, and execute complex logistical routines using an interactive graphical flowchart canvas, specialized cables, modular cards, and physical network nodes.
Core Features
1. Interactive Logic Canvas & Menus
- Standardized Compact Nodes: Canvas nodes are kept permanently compact to maximize workspace visibility. Customizable gradient color-coding helps you organize active routines at a glance.
- Contextual Right-Click Menus: Right-clicking any node opens a clean dropdown to rename the component, edit settings, change the node's color, copy, or delete it.
- Symmetrically Centered Settings Overlays: Double-clicking nodes opens a centered modal panel. The main canvas is dimmed, highlighting your active configuration tasks (e.g. setting periods on an Interval Trigger or managing filters on an Item Input).
2. Physical Network Components
Build out your logistical infrastructure using a wide array of physical blocks:
- Machine Inventory Manager: The core computer of the network. It hosts the flowchart logic, scans adjacent cables, and compiles your commands.
- Network Cables (Standard & Hardened): The conductive routing medium of your system. Hardened variants are blast-resistant to protect your connections in hazardous environments.
- Observer Cables: Electrically silent, directional block-update monitors that detect adjacent state changes without emitting standard redstone signals.
- Redstone Network Emitter & Receiver: Independent, multi-sided analog redstone signal managers capable of handling levels from
0to15directly through your flowchart instructions. - Item & Fluid Hatches: Vacuum and ejection hatches that suction ground items in a 3x3x3 space, eject item entities into the world, or handle in-world fluid blocks.
- Card Clusters (Standard & Advanced): Modular sub-chassis slots that let you insert up to 9 (Standard) or 18 (Advanced) execution cards (like vacuum, ejection, and redstone cards) to run proxy actions over specific faces.
3. Symmetrical 3D Block Previews & Slot Layouts
- Orbitable 3D Preview: When configuring item or fluid transfers, rotate and orbit a 3D preview of the targeted inventory using your mouse. Left-click any of the three visible faces to toggle side access.
- Themed Slot Configurator: Shift-Left-click a 3D block face to open a custom layout showing exactly how slots are configured for that side. Slots are themed to match furnaces, crafters, brewing stands, droppers, dispensers, or hoppers at 50% scale, letting you toggle slot-by-slot access using neon green (active) and red (inactive) highlights.
Under the Hood: Performance & Reliability
SFM-Flow has been engineered to prevent server tick spikes and lag:
- Asynchronous Planning Kernel: Logic evaluations are processed off-thread on dedicated daemon thread pools, keeping the main Minecraft tick loop unburdened.
- 1ms Cooperative Time Budget: Off-thread operations are broken down into small, 1ms slices to safely coordinate network tasks.
- O(1) Garbage-Free Traversals: Physical network maps are managed through primitive ID arrays and spatial chunk grouping, eliminating unnecessary object allocation and Garbage Collector overhead.
- Physical Circuit Breaker: If a flowchart enters an infinite loop, the execution kernel automatically trips once it exceeds a 1000-node evaluation threshold, cleanly terminating the run and logging diagnostic details for debugging.
- Network Optimization Rules: Synchronization packets are optimized to transmit only on distinct mouse releases or scroll wheel actions, eliminating packet flooding during active slider dragging.
Addon Developer API (dta.sfmflow.api)
SFM-Flow is designed with a fully decoupled, extensible architecture for addon creators:
- Fluent Component Builders: Register custom components in the
sfmflow:flow_component_typeregistry using the clean, chainableFlowComponentBuilder. - Dynamic Capabilities: Avoid hardcoded integrations. Use
FlowCapabilityRegistryto register extensible capability pathways and execution callbacks for custom items, fluids, energy, or chemical transfer types. - Side-Safe Plugin System: Leverage the
ISFMFlowPluginandISFMFlowClientPluginendpoints to safely isolate visual presentation rules from server-side logic, avoiding classloading complications. - Vanilla UI Adapters: Wrap standard Minecraft controls in
ApiWidgetAdapterto coordinate dragging offsets and preserve correct mouse click focus.
Галерея
Последние версии
Все версии →release
SFM-Flow 0.5.22.alpha
0.5.22.alpha8 авг. 2026 г.153Minecraft: 1.21.1neoforge
Что нового
This should fix the crash on dedicated servers.
(0.5.22.alpha)
### [Added]
* Added a dedicated side-safe packet routing registry to handle network communications on the client. This protects server environments from loading client-only rendering classes and prevents dedicated server startup crashes.
* Added the Program Disk utility item, enabling players to clone entire flowchart layouts and variables between different Machine Inventory Managers.
* Added an interactive overwrite confirmation screen that queries the player before pasting configurations onto a Manager that already contains layout nodes.
* Added a shaped crafting recipe and creative tab registration for the Program Disk.
* Added a block ownership and access control system for Machine Inventory Managers. When placed, blocks are registered to the placer as the owner.
* Added an Access Settings button and permission modal to the Manager screen, enabling owners to toggle between Owner-only, Team-only (utilizing scoreboard teams), and Public access modes.
* Added localization keys and red floating warning prompts shown to unauthorized players attempting to access private Managers.
* Added a secondary-use override for server operators with level 2+ permissions, permitting administrative bypass of locked nodes.
### [Changed]
* Standardized all inventories list variables (Item, Fluid, Energy, Redstone, and Sign Updater) to resolve their block targets polymorphically.
* Re-routed all clientbound network packet processing securely through the client-only bootstrapping phase.
* Updated the Machine Inventory Manager block's interaction handler to support copying and pasting with the Program Disk.
* Block interaction is now restricted according to the assigned access level.
* Adjusted the vertical text coordinate offset of the sliding drawer label slightly to improve layout alignment.
release
SFM-Flow 0.5.20.alpha
0.5.20.alpha26 июл. 2026 г.58Minecraft: 1.21.1neoforge
Что нового
Was going to wait to release later this week, but since I forgot the textures yesterday, here is a brand new foreach loop to make up for it.
### [Added]
* Added the ForEach Loop node, enabling sequential execution of flowchart branches across entire groups of machines or inventories.
* Added the ForEach settings panel, allowing players to customize iteration order (Top-To-Bottom, Bottom-To-Top, or Random) and assign a custom name and color to the element variables.
* Added support for right-side execution pins on flow nodes, allowing compact visual loop layouts on the workspace canvas.
* Added support for dynamic block resolution, allowing the automation pipeline to evaluate virtual inventory references. This prepares the planning kernel to support "For Each" loop execution paths over grouped machines.
### [Changed]
* Refactored ForEach Loop components to evaluate list variables polymorphically. This decouples loop iteration from specific core list types, allowing future addons to easily introduce custom target lists.
* Improved the background planning context to automatically forward all active pipeline buffers (Items, Fluids, Energy, and custom addon properties) into ForEach loop sub-traversals.
* Upgraded transfer planners to consume in-transit energy and fluid buffers symmetrically with item transfers.
* Improved the main item filter slot to permit placing inventory list cards directly onto ForEach components.
* Refactored all transfer planners (Item, Fluid, Energy) and logical conditional nodes to resolve their targets dynamically at runtime rather than matching only static connected blocks.
* Standardized the visual icons of all Inventories List variable cards (Item, Fluid, Energy, Redstone, and Sign Updater) in the UI drawers to use distinct, dedicated list graphics.
* Updated Splitter and Collector components to use unique UI menu button icons rather than sharing a generic flow control texture.
* Modified the Sign Updater Cable block's blockstate model to display sign-themed side and front textures instead of reusing observer assets.
release
SFM-Flow 0.5.19.alpha
0.5.19.alpha26 июл. 2026 г.18Minecraft: 1.21.1neoforge
Что нового
Bit of a small update. The new list variables will also be used in the upcoming foreach loop.
### [Added]
* Selector List Filtering: Settings overlays now support slot-binding any Inventories List variable card directly inside the selector widget to filter and display only your listed targets.
* Sign Updater List: Added a new variable component allowing multiple Sign Updater Cable block selections to be grouped and referenced together as a single card.
* Dynamic Overlays for Signs: Sign updater list cards now cycle dynamically through the icons of your configured updater blocks in screens and inventories.
* Redstone List Card Visuals: Added complete client rendering and tooltip line support for Redstone Inventories List variable cards, which now cycle through the icons of your configured Redstone blocks.
* Energy Inventories List: Added a new variable component allowing multiple energy storage selections (such as batteries or generators) to be grouped and referenced together as a single card.
* Dynamic Overlays for Energy: Energy inventory list cards now cycle dynamically through the icons of your configured energy blocks in screens and inventories.
* Fluid Inventories List: Added a new variable component allowing multiple fluid tank selections to be grouped and referenced together as a single card.
* Dynamic Overlays for Lists: Fluid inventory list cards now cycle dynamically through the icons of your configured fluid tank blocks in screens and inventories.
* Item Inventories List Variable: Added a new variable component allowing multiple block inventory selections to be grouped and referenced together as a single card.
* Inventories Drawer: Added a side-sliding inventory drawer widget in the manager interface for easy browsing and dragging of inventory variables.
* Custom Variable Client Renderers: Implemented extensible client-side property handlers for custom variable cards, supporting tailored central overlays and dynamic multi-line tooltips.
* Sign Updater Cable: A new specialty network cable block that connects directly with standard wooden signs in your world.
* Sign Updater Node: A utility flow component allowing the Machine Inventory Manager to dynamically rewrite, recolor, and format sign text.
* Sign Customization Controls: Configure up to 4 lines of text on both the Front and Back of adjacent signs. Toggles include Dye Color, Glowing Ink, and Waxing states.
* Direct Sign Redraws: Implemented instant render sync, forcing signs to immediately redraw and display their updated text to nearby players.
### [Changed]
* Drawer Clicks Shielded: Clicks inside the sliding variable or inventory drawer panels are now fully protected from triggering out-of-bounds inventory drops.
* Performance Optimizations: Redesigned the safety validation check for variable cards to run on a thread-safe memory cache, reducing behind-the-scenes allocations and game lag.
* Drawer Tooltips: Relocated variable drawer tooltips to a separate, deferred rendering pass, resolving depth-clipping and scissor-culling bugs in the UI.
* Sign Updater Cable Optimization: Refactored the Sign Updater Cable block to operate as a regular block without tile entity overhead, reducing server resource usage on large networks.
* Variable Card Tooltips: Enhanced card tooltips to display detailed contents, group colors, and configured block names dynamically.
* Network Scanning: Updated physical pathfinder scans to properly recognize and index multi-inventory list variable endpoints.
* Overlaid Text Fields: Refactored overlay and modal keyboard handling to cleanly route keystrokes only to the active text field, improving text editing stability.
### [Fixed]
* Pickup Click Cooldown: Added a short safety delay when clicking variable cards inside drawers, preventing items from being accidentally discarded on fast double-clicks or mouse jitters.
* Cable Cluster UI Latency: Resolved a visual synchronization bug where changing slot directions or card configurations inside a Cable Cluster block did not update the client-side screen widgets instantly.
* Ghost Slot Security Lock: Implemented a security block in the Manager menu that prevents dragging, dropping, or shift-moving any list-based variable cards (Item, Fluid, or Energy) into filter ghost slots, eliminating placement issues.
* Client Tooltip Crashes: Wrapped the variable card tooltip system in a protective try-catch barrier to prevent client crashes if a custom variable handler fails.
* Rendering State Leaks: Cleanly flushed model rendering batches on the variable card renderer, resolving visual anomalies and glint glitches on item cards.
* Variable Binding: Resolved synchronization bugs when dragging and binding inventory group variables to transfer and conditional nodes.
* Input Focus Glitches: Resolved an issue where typed characters were lost or duplicated when editing text inside modal settings popups.
* Flowchart Recompiling: Optimized the compiler's background planning cache to prevent performance lags on high-frequency triggers.
### [Removed]
* Redundant Packets Removed: Deleted the separate force-render packet, consolidating clientbound rendering updates into a single sign sync packet to save network bandwidth.
release
SFM-Flow 0.5.15.alpha
0.5.15.alpha19 июл. 2026 г.38Minecraft: 1.21.1neoforge
Что нового
added some new nodes to help orginaze the canvas along with a new skulk trigger. Also added ability to interact with entities like chest minecrafts, but not players.
### [Added]
* Entity Relay Blocks: Added Item Relay, Fluid Relay, and Energy Relay blocks to allow cables and manager networks to interact with non-player entities (such as boats, carts, and modded entities) in adjacent blocks.
* Cluster Card Capability Registry: Added extensible API support for custom cluster cards to expose specialized block capabilities.
* Nested Group Folders: Organize complex network setups by grouping nodes inside folders (Sub-Canvases).
* Directory Migration: Use the new right-click context option "Move Group" to relocate placed nodes between folders.
* Interactive Breadcrumbs: Easily navigate between directory levels using the clickable path bar (e.g., Root > Folder > Subfolder).
* Error and Warning Bubbling: Parent folders will now glow with red outline errors or yellow warning highlights if any of their nested sub-canvas elements require attention.
* Added `AbstractTargetSettingsOverlay` and `AbstractFilterableTargetSettingsOverlay` client API classes to consolidate 3D block previews, target selectors, and 12-slot ghost item grids.
* Added `AbstractTransferComponent` and `AbstractFilterableTransferComponent` common API classes to unify targeted slot configurations, whitelist states, and side configurations across all item, fluid, and energy transfer components.
* Promoted base classes `AbstractModalPopup` and `NodeSettingsOverlay` to the public client-only API package (`dta.sfmflow.api.client.widget`), allowing add-on developers to design and register custom overlay panels and popups cleanly.
* Added `AbstractConditionalComponent` and `AbstractFilterableConditionalComponent` public API classes to unify and consolidate block targeting, directional face, whitelist, and slot-exclusion configurations for all conditional logic nodes.
* Added the `IRedstoneSidedConfigurable` public API interface, permitting any custom redstone logic or trigger component to use standard sided threshold configuration popups.
* Added the **Snapshot Profile** system, which analyzes your active flowchart and restricts off-thread inventory snapshotting strictly to the blocks and capabilities being used.
* Added a public **Event API** posted on the NeoForge event bus, allowing other mods to inject virtual inventories during scans, modify snapshotted logic off-thread, register custom block listeners, and cancellably block transfer tasks (e.g., for region claim protection).
* Added a dedicated sided configuration modal popup (`SculkTriggerSideConfigModalPopup`) for the Sculk Trigger, presenting an interactive, alphabetically sorted checklist of all vanilla acoustic vibration events.
* Added side-specific acoustic event filters on the Sculk Trigger, enabling distinct vibration configurations to be mapped to individual block faces.
* Added a trigger cooldown slider to the Sculk Trigger settings panel to limit vibration detection rates and preserve server tick budgets.
* Added the **Splitter** logic node, permitting execution paths to be routed to all output pins simultaneously, in a repeating Round-Robin sequence, or randomly to a single branch.
* Added the **Collector** logic node, allowing up to 5 execution lines to be cleanly merged back into a single flowchart path.
* Added the **Sculk Trigger** and **Sculk Trigger Cable** block, allowing flowchart loops to trigger in response to in-world acoustic events (e.g., footsteps, block placements, or projectile impacts).
* Added face-specific acoustic shielding (muting individual faces) and keyword filters (e.g. "step", "break") to customize the Sculk Trigger listening profile.
* Added a loop detection shield to both the client and server networking pipelines to block circular connection wiring that could lock up the path planner.
* Added a modular slot layout registration framework (`ISlotLayoutSubProvider`), introducing custom layout overlays for Mekanism Basic Fluid Tanks.
### [Changed]
* Cable Cluster UI: Direction configuration buttons now automatically hide or show based on whether the installed card is directional or omni-directional.
* Network Scanning: Improved network pathfinder scanning to dynamically detect custom card and relay capabilities across all registered networks.
* Group Terminals Limit: Enforced a strict maximum limit of 5 Inputs and 5 Outputs per group folder to ensure workspace clarity.
* Node Spawning: Newly created nodes are now spawned directly into your currently viewed directory level instead of always appearing at Root.
* Refactored Item, Fluid, and Energy transfer settings overlays to inherit from the consolidated target settings overlay classes, eliminating redundant coordinate setups and saving routines.
* Refactored Item, Fluid, and Energy transfer nodes to extend the new base hierarchies, successfully eliminating hundreds of lines of duplicate boilerplate variables and setters.
* Simplified NBT saving and loading on all transfer components to inherit properties directly from parent class handlers.
* Re-engineered the UI command counter inside the Manager block screen to query the actual size of the flowchart map dynamically, preventing numerical sync anomalies on the client.
* Secured face-toggle interactions inside conditional nodes to guard against null directional inputs.
* Refactored the Energy, Fluid, and Item Conditional components to inherit from the new consolidated base classes, drastically reducing duplicate code.
* Simplified settings saving and loading routines on conditional nodes by delegating common property serialization to parent class handlers.
* Hardened NBT loading routines for redstone trigger comparison operators, conditional operators, and splitter execution modes to support case-insensitive evaluations of saved values.
* Consolidated the separate trigger and conditional redstone face popup menus into a single, highly reusable polymorphic config menu (`RedstoneSideConfigModalPopup`).
* Re-engineered settings configuration panels by migrating block coordination searches, capability presence checks, and packet serialization routines to standardized base helpers in `NodeSettingsOverlay`.
* Hardened NBT save/load structures on all logical nodes, triggers, and splitters to use case-insensitive, serialized name checks, safeguarding against data-driven config file corruption.
* Re-engineered the `ManagerBlockEntity` to cache compiled flowchart structures and snapshot profiles, completely avoiding redundant, CPU-heavy NBT serialization on every trigger check when no layout edits are made.
* Optimized the `PhysicalNetworkMap` coordinate tracker to map packed long coordinates directly to primitive integer IDs, eliminating object allocations during position lookups.
* Re-engineered the `PhysicalNetwork` pathfinding scanner to use double-buffered primitive layer swaps and mutable block positions, making network scans nearly garbage-free.
* Simplified variable card definitions by migrating from MapCodecs to standard Codecs.
* Re-engineered environmental vibration detection to calculate the exact direction the sound hit the block, filtering acoustic checks strictly against that face's configuration.
* Consolidated trigger registration and cleanup sweeps under a unified listener rebuilding method inside `ManagerBlockEntity` that fires the new event bus hook automatically.
* Re-engineered settings saving to dynamically prune obsolete connection wires if a node's input or output pin count contracts (e.g., resizing a Splitter/Collector).
### [Fixed]
* Capability Routing: Resolved capability binding mismatches for cluster cards and adjacent entity handlers during background flowchart planning sweeps.
* Orphaned Node Sweeper: Fixed a potential memory and data leak by automatically sweeping and clearing orphaned child nodes if their parent folder was deleted.
* Empty Port Safety: Resolved a visual glitch where empty nodes or groups with zero configured ports would cause UI pin rendering crashes.
* Fixed potential coordinate and variable desyncs when loading complex layouts by standardizing inherited NBT serialization patterns.
* Fixed potential configuration loading bugs on older layout files by ensuring that saved enum string properties parse correctly regardless of capitalization.
* Fixed potential loading bugs on older layout configurations by implementing strict, case-insensitive string parsing fallback maps for all component operator enums.
* Fixed major server garbage collection (GC) lag spikes and tick-rate drops during larger network scans or frequent trigger checks.
* Fixed visual transparency and model occlusion bugs on the Sculk Trigger Cable block.
* Fixed a potential lag bottleneck during environmental vibrations by registering active sculk cables in a flat, fast-lookup server event cache.
* Fixed splitter chain recursion starvation by capping consecutive splitters to a customizable maximum threshold.
### [Removed]
* Removed the deprecated `RedstoneConditionalSideConfigModalPopup` class, replacing its functionality with the consolidated polymorphic modal popup.
release
SFM-Flow 0.5.10.alpha
0.5.10.alpha15 июл. 2026 г.86Minecraft: 1.21.1neoforge
Что нового
Adding conditionals
### [Added]
* Added support for capability-specific slot layouts, allowing blocks that possess both fluid tanks and item inventories to show unique slot configuration layouts for each capability.
* Added capability-specific resource folder parsing, allowing custom layouts to be loaded from assets folders like `slot_layouts/item/` and `slot_layouts/fluid/` with backward compatibility for legacy flat layouts.
* Added exact, pixel-perfect coordinates and dimension mappings for vanilla crafting stations and containers (Furnaces, Smokers, Brewing Stands, Hoppers, Dispensers, and Crafters).
* Added the `conductive_cables` block tag, permitting custom conductive cables registered by other add-on mods to extend network searches natively.
* Added programmatic datagen generation for the new conductive cables tag, mapping the plain and hardened cables.
* Added detailed, multi-line tooltips inside the inventory selection panel that list the targeted container's name, coordinates, and active direction.
* Added native card icon rendering in the inventory selection bar, displaying the exact card installed (e.g., Vacuum or Ejector Valve) rather than a generic Cable Cluster block.
* Added the **Redstone Conditional** logic component, allowing you to branch flowchart execution depending on analog redstone signal strengths of connected blocks.
* Added support for dual-output execution terminals (Output 0 for True, Output 1 for False) on the new Redstone Conditional component.
* Added a settings panel allowing you to configure the evaluation mode between ALL (AND) and ANY (OR) active faces.
* Added a sided configuration modal popup enabling distinct operators (e.g., `<=`, `>=`, `==`) and analog sliders (0 to 15) to be mapped per face.
* Added thread-safe redstone signal caching to `ThreadSafeInventorySnapshot`, allowing background threads to evaluate analog signal strengths securely without causing server-side thread safety conflicts.
* Added English localization entries for the new Redstone Conditional component.
* Added the **Energy Conditional** logic component, allowing you to branch flowchart logic based on the Forge Energy (FE) stored in connected blocks.
* Added support for dual-output execution terminals (Output 0 for True, Output 1 for False) on the new Energy Conditional component.
* Added a settings panel featuring custom comparison operators (e.g., `<=`, `>=`, `==`, `!=`, `<`, `>`) and a numeric text field to specify precise FE thresholds.
* Added English localization entries for the new Energy Conditional component.
* Added the **Fluid Conditional** logic component, allowing flowchart systems to evaluate fluid volumes across targeted block tanks off-thread.
* Added support for dual-output execution paths (Output 0 for True, Output 1 for False) on the new Fluid Conditional component.
* Added custom match modes—Match All (AND) and Match Any (OR)—along with multiple comparison operators (e.g., `<=`, `>=`, `==`, `!=`, `<`, `>`) in the settings configuration overlay.
* Added English localization mapping for the new Fluid Conditional component.
* Added a `renderAsFluid()` contract to the `IFilterable` interface, permitting any custom filterable card to dynamically declare whether its ghost slots represent liquids.
* Added the **Item Conditional** logic component, allowing you to branch flowchart execution paths off-thread based on current item levels inside connected inventories.
* Added support for dual-output terminals (Output 0 for True, Output 1 for False) on the Item Conditional component.
* Added custom match mode toggles—Match All (AND) and Match Any (OR)—along with multiple conditional operators (e.g., `<=`, `>=`, `==`, `!=`, `<`, `>`) in the settings configuration overlay.
* Added English localization entries supporting the new logic node in translation bundles.
* Enforced strict card insertion limits within standard and advanced Card Clusters (maximum of 1 Cable Card, 1 of each omni-directional card, and 6 of each directional card type allowed total).
* Added direction conflict prevention inside Card Clusters; two cards of the same type can no longer be assigned to the same active side.
* Added the Fluid Vacuum Valve, a dedicated network block capable of vacuuming fluid source blocks directly from the world when triggered by your flowchart.
* Added the Fluid Ejector Valve, a dedicated, non-buffering block that instantaneously places fluid source blocks into the world.
* Integrated the Item Vacuum Valve into the logic system; it can now dynamically detect, simulate, and transfer nearby ground items through your network pipelines during flowchart execution.
* Implemented a multi-threaded copy mechanism for network inventories during background logic planning, resolving potential data conflicts and improving overall server stability.
* Added the Observer Trigger, a new flowchart trigger node that executes logical pathways when a connected Observer Cable block registers a state change.
* **Dynamic Energy Rate Detection:** Augmented the energy limits scanner to perform simulated power transfers on the server. This ensures that custom or heavily wrapped energy storages (like Mekanism Energy Cubes) automatically reveal their exact maximum per-tick transfer limits to the player config menu.
### [Changed]
* Re-engineered the automated layout datagen provider to output configurations cleanly into capability-sorted resource subdirectories.
* Updated slot direction configuration buttons inside the `CableClusterScreen` to display full directional face names (e.g., "NORTH", "SOUTH") instead of truncated two-letter abbreviations.
* Re-engineered the primary pathfinding scanner, manager discovery sweeps, and adjacent network dirty checks to propagate exclusively along conductive blocks and active cable clusters, preventing non-conductive blocks from bridging independent searches.
* Updated fast O(1) extension and connection optimization checks inside `CableBlock` to evaluate the new tag rather than hardcoded block classes.
* Improved Cable Cluster integration by segmenting each slot card into its own logical inventory entry, allowing you to target specific cards inside a cluster independently.
* Updated settings overlays to restrict 3D block preview face selections strictly to the face matching the targeted card's active directional side.
* Decoupled fluid-style texture rendering inside the `ItemFilterWidget` by switching from a hardcoded type-check check of the fluid transfer node to the new `renderAsFluid()` interface method.
* Refactored `ItemFilterWidget` to support optional toggle configurations, suppressing the Whitelist/Blacklist button when rendering inside conditional logical evaluation scenes.
* Reworked the Card Cluster screen and slot configuration layouts into a structured, easily readable grid.
* Adjusted the physical network scanner so that Card Clusters now require an installed Cable Card to bridge signals and carry connections across a cable line.
* Updated standard and advanced Card Clusters to display custom textures matching their physical properties.
* Split the old "Fluid Extraction Hatch" block and card into the two specialized valves above to simplify network setups.
* Updated fluid block placement checks to prevent ejecting fluids into coordinates that already contain an active fluid source block.
* Upgraded the Item Vacuum Valve with "intelligent filtering"; it will now scan your active flowchart and only suction ground items if they match your filter rules and have room in destination chests, preventing items from getting stuck inside the valve.
* Made the Item Vacuum Valve completely passive to optimize server performance, removing its independent ticking loop.
* Restricted network pipe connections for the Item Vacuum Valve, Item Ejection Valve, and Fluid Extraction Hatch so they can only interact with adjacent blocks on their front-facing side.
* Reworked the block models for the Item Vacuum Valve and Item Ejection Valve to display unique front textures indicating their facing direction.
* Renamed the "Item Vacuum Hatch" to the "Item Vacuum Valve" and the "Item Ejection Hatch" to the "Item Ejection Valve".
* Optimized the manager's background scheduling system to increase processing speed and eliminate frame-skipping delays.
* Reworked the Observer Cable block's visual model to render distinct front, back, top, bottom, and side texture overlays.
* Updated the Observer Cable Block model and textures.
* Improved item routing logic during transfers; the manager will now prioritize merging items into existing matching stacks in destination containers before utilizing new, empty slots to keep inventories consolidated.
* Configured both Redstone Emitter and Redstone Receiver blocks to behave as non-conductive blocks, preventing accidental redstone wire power bleed to adjacent blocks.
* Optimized the Redstone Emitter execution path to surgically power specific targeted faces instead of looping through all directions.
* Updated menu button icons on the flowchart canvas sidebar to use dedicated texture assets for the Interval Trigger, Fluid Input/Output, Fluid Filter, Energy Input/Output, and Redstone Trigger nodes.
* Adjusted block model generation parameters for the Redstone Emitter to map face indicators to corresponding side textures.
* **Cleaned Mod Startup Sequence:** Removed obsolete and unused startup event listeners from the main mod registration lifecycle, ensuring a cleaner load sequence.
* **Contrast Adjustments:** Adjusted the default text color for the Orange mask to solid white to improve contrast and visual readability against colored flowchart nodes.
### [Fixed]
* Fixed standard slot overlay panels drawing redundant generic slot textures over custom data-driven GUI backdrops by introducing a flag to disable generic texture renders.
* Fixed an issue where changing card items or directional faces inside a Cable Cluster failed to notify the system, ensuring instant cable network rescans on modification.
* Fixed Cable Cluster configurations (including card stacks, slot indices, and directions) resetting or failing to persist across world saves and reloads.
* Fixed logical check leakages inside shared Cable Clusters by restricting transfer and conditional planners strictly to the targeted card's slot index.
* Fixed an inventory slot synchronization issue where viewing the tank configuration of a fluid block could temporarily override or corrupt cached item slot views.
* Removed the old, generic "Fluid Extraction Hatch" block, item, and creative tab entries.
* Fixed a major logic simulation error where sided blocks (such as Furnaces and Brewing Stands) would fail to update simulated slot counts consistently across all of their faces during item transfer checks.
* Fixed visual rendering bugs in the 3D block preview screen where adjacent translucent blocks would clip or render in the incorrect sorting order depending on the camera angle.
* Fixed an issue with un-targeted output transfers where items would occasionally fail to stack naturally inside destination slots.
* Fixed a momentary redstone power spike issue where Redstone Emitter blocks could briefly output maximum power (signal strength 15) during blockstate updates.
* **Visual Slot Sync Performance:** Shifted inventory slot packet parsing from the background network threads to the visual rendering pass. This alleviates network thread bottlenecks and ensures slot previews remain responsive even on congested servers.
release
SFM-Flow 0.4.13.alpha
0.4.13.alpha11 июл. 2026 г.13Minecraft: 1.21.1neoforge
Что нового
This is the last in the 0.4.x series of builds and marks the end of the rapid release schedule. With all the basic vanilla systems in with basic functionalty, release will probably slow to 1-2 per week as I continue to work towards switching to beta builds. If you find any issues or bugs with the current systems, please report them on github. Thank you to everyone who has downloaded the mod so far through this rapid fire releases. I still have a lot I want to implement, just will be at a bit slower pace going forward to let you guys play around with it longer between builds. Changelog below.
### [Added]
* **Redstone Emitter Node:** A new output node allowing flowcharts to programmatically toggle, add, or subtract analog redstone signals (0 to 15) on specific faces of Redstone Emitter blocks.
* **Pulse Mode Configuration:** Emitter block outputs can now be set to "Pulse Mode," causing the redstone signal to fire for exactly 1 game tick before automatically resetting to 0.
* **Redstone Emitter Settings Panel:** Introduced a dedicated settings layout for redstone emitters, featuring a targeted block selector that filters specifically for Redstone Emitter Blocks.
* **Sided Emitter Configuration Popup:** Shift-clicking a face on an Emitter preview opens a custom options dialog to configure specific math operators (Overwrite, Add, or Subtract), output values, Pulse toggles, and Rollover (value wrapping) per side.
* **Face Culling Proxy:** Implemented a rendering proxy (`CullingBypassBlockGetter`) for the 3D block preview window, preventing block faces from turning invisible when rendering isolated solid blocks.
### [Changed]
* **Decoupled Shader and Math Helpers:** Refactored the core 3D preview math and rendering layers into dedicated helper utilities, protecting the preview pipeline from environmental glitches.
* **Streamlined UI Code:** Re-engineered visual validation checkers on the client to use consolidated helper functions, simplifying code maintainability.
release
SFM-Flow 0.4.12.alpha
0.4.12.alpha10 июл. 2026 г.21Minecraft: 1.21.1neoforge
Что нового
### [Added]
* **Redstone Trigger Node:** A new trigger node that fires flowchart logic paths based on incoming redstone signals. It supports evaluating signals on any block face and exposes exactly 4 outputs: *While High*, *While Low*, *On High Pulse*, and *On Low Pulse*.
* **Sided Redstone Configuration Popup:** Shift-clicking a face on a Redstone Trigger block in the 3D preview now opens a compact custom settings menu to configure individual analog signal thresholds (0 to 15) and mathematical comparison operators (`>`, `<`, `=`, `>=`, `<=`) per side.
* **Canvas Pin Tooltips:** Flowchart node connection pins now display interactive, localized descriptions when you hover your cursor over them, clarifying what trigger condition or pipeline wire they represent.
* **Precise Energy Limits:** Overhauled the energy limit panel to support precise numeric typing via an input text box. Players can now input exact rate limits (in FE/t) or toggle the transfer mode to "Unlimited" to bypass constraints.
### [Changed]
* **Dynamic Overlay Shifting:** Overlaid settings panels now automatically shift themselves upward on smaller screens to guarantee they never overlap or block access to the player's hotbar and inventory slots.
* **Functional Cable Placement Rules:** Improved the placement behavior of network cables. Placing or breaking functional nodes (like emitters, receivers, or hatches) now instantly triggers a full network rescan, while plain inert cables continue to utilize the faster O(1) connection path.
* **Reactive Slot Previews:** Re-engineered the side slot configuration screen to parse and render inventory changes dynamically from cached network tags. This ensures that slot items and locked boundaries update instantly in the preview without needing to close and reopen the menu.
### [Fixed]
* **Redstone Device State Desyncs:** Fixed a physical cache issue where placing or removing redstone transmitters or receivers would not instantly notify adjacent cable networks, causing signal desyncs until a manual scan was triggered.
* **Sided Slot Filtering:** Improved slot detection on the server to recursively scan nested container delegates, ensuring that side-restricted slots are correctly identified and visually greyed out on the client layout preview.
release
SFM-Flow 0.4.10.alpha
0.4.10.alpha9 июл. 2026 г.9Minecraft: 1.21.1neoforge
Что нового
### [Added]
* **Solid Boundary Indicators:** Blocked sides in the 3D machine preview now render as thick, solid crosses that do not flicker, glitch, or fade when rotating the camera.
* **Validation Registry API:** Introduced a client-side validation registry (`WorkspaceValidatorRegistry`). Addon developers can now programmatically register custom error, warning, and tooltip rules for their nodes side-safely.
* **Synchronized Property Queries:** Enabled live network synchronization for side limits. Popups like the Energy Limit slider now dynamically fetch and verify exact capacity parameters from the server, adjusting constraints in real time.
* **9-Slice UI Assistant:** Consolidated all stretching submenu borders and backgrounds into a unified rendering assistant (`NineSliceUtil`) to improve texture memory usage.
* **Extensible Snapshot API:** Introduced a developer-facing snapshotting registry (`ICapabilitySnapshotter`). Addon developers can now register custom snapshot handlers, enabling the system to deep-copy and simulate third-party capabilities (like gases, chemicals, or custom power grids) safely on background threads.
### [Changed]
* **Side-Restricted Slot Previews:** Rewrote the in-GUI item and fluid previews to index inventories by specific block faces. Slots configured for side-restricted machines (such as furnaces, brewing stands, or custom multi-sided machines) now correctly reflect the items accessible from that specific side.
* **Smart Power Rate Resolution:** Integrated a deep scanning routine on the server to automatically detect and synchronize energy limits (such as extraction/reception limits) even for heavily customized or wrapped energy blocks (like Mekanism Energy Cubes).
* **Polymorphic Trigger Sweeps:** Refactored the core execution loop to cache trigger components and evaluate them polymorphically. This isolates tick timing loops and condition queries within the trigger components themselves, removing central overhead.
* **Synchronous Disk Operations:** Standardized world state disk writes to run synchronously. This prevents timing conflicts, saving issues, and file corruptions when shutting down or restarting singleplayer worlds and servers.
* **Unified State Snapshotting:** Re-engineered the underlying world state capture mechanics to dynamically snapshot all registered network capabilities, removing hardcoded logic from the snapshot container.
### [Fixed]
* **West Face Render Bug:** Fixed a visual coordinates glitch where the blocked indicator ('X') on the West face of machines inside the 3D preview window would render distorted or misaligned.
* **Type-Inference Compilation Issues:** Resolved edge-case Java compiler and memory model breakdowns during type-inference resolution by standardizing capability transfer signatures.
release
SFM-Flow 0.4.7.alpha
0.4.7.alpha8 июл. 2026 г.10Minecraft: 1.21.1neoforge
Что нового
Now with FE handling
### [Added]
* **Energy Limit Side Configurations:** Shift-clicking an active face on an energy node now opens a compact, 75%-scaled popup slider allowing players to restrict the maximum energy rate (FE/t) handled by that specific side.
* Task Coalescing System: Added an atomic background-planning state lock. If a planning cycle is running slowly due to heavy server load, subsequent ticks will gracefully skip scheduling redundant sweeps instead of piling up tasks in the background executor pool.
* **Side Configuration Registry:** Added a developer-facing registry allowing custom settings screens to be opened when shift-clicking specific block faces inside the 3D machine previews.
* **Custom Slot Sizes and Textures:** Machine slot layout configurations now support rectangular dimensions and custom textures (such as specific machine backgrounds or colored slot borders) rather than being limited to standard 18x18 squares.
### [Changed]
* **Auto-Enabling Face Interactions:** Shift-clicking a disabled side in the 3D block preview now automatically enables that block face and opens its slot layout or power configuration immediately, saving an extra click.
* **Standardized Screen Centering:** Re-aligned all modal overlay configurations to use dynamic layout calculations, preventing configurations from shifting or clipping under screen titles on smaller windows.
* Thread-Safe Flowchart Planning: Flowchart structure evaluation has been completely isolated from live block entities. By cloning the active flowchart layout on the main thread and parsing it on background worker threads, the mod prevents data corruption and concurrency-related server crashes when editing layouts while they are running.
* **Thread-Isolated Fluid Simulation:** Enhanced fluid transfer simulations to run entirely within isolated thread-safe snapshots of the world. This isolates the background planner from the active game world, eliminating potential multi-threaded crashes or lag spikes when planning complex liquid movements.
* **Hardened Energy Snapshots:** Energy snapshots now consult custom capability bridges upon creation, allowing the system to accurately snapshot and simulate energy storage blocks that do not natively expose standard capabilities.
* **Parity Canvas Limits:** Restored the default workspace node capacity limit to 512 nodes (raised from 100) and increased the maximum config ceiling to 2048 nodes to support massive, complex factory automation layouts with legacy parity.
* **Energy Input and Energy Output Nodes:** Players can now configure flowchart nodes to extract, route, and deposit Forge Energy (FE/RF) dynamically across connected network machines.
* **FE Compatibility Settings Panel:** Introduced dedicated settings interfaces for energy nodes, enabling side-specific connection toggles and custom maximum energy transfer rate limitations.
* **Underlying Energy Simulation:** Standardized thread-safe snapshots and background execution loops to index, simulate, and plan energy movements off-thread before applying them to the world.
### [Fixed]
* **3D Block Preview Shading and Glitches:** Resolved rendering glitches inside the 3D block preview widget (such as dark shadows, ambient occlusion leaks, or flashing textures) by introducing a rendering isolation matrix that shields block previews from external UI draw states.
* Thread-Pool Bottlenecks: Guaranteed that the planning state lock is always safely released even if the off-thread planning task fails or throws an exception, preventing permanent automation freezes.
* Concurrency Race Conditions: Resolved potential write collisions and thread conflicts by replacing the live breaker-trip counter with a thread-safe atomic counter.
release
SFM-Flow 0.4.1.alpha
0.4.1.alpha7 июл. 2026 г.14Minecraft: 1.21.1neoforge
Что нового
Added Adv Fluid Filter
### [Added]
* Advanced Fluid Filter Card: A new logical component type allowing players to configure standalone, reusable fluid filters with volume limits (in mB), ModID namespace matching, and fluid tag checks.
* Polymorphic Variable Drawer: Re-engineered the sliding variable drawer to display both items and fluids together in a single, searchable list.
* Glint and Fluid Card Renders: Dynamic filter cards carrying fluid properties now programmatically render the still texture of their contained fluid on the card's face at 50% scale.
* Full-Bright 3D Previews: Rewrote the 3D block renderer to force a consistent maximum light level, preventing environmental shadows from making block previews look dark or obscure.
* Dynamic Fluid Renderers: Ghost filter slots and slot preview panels now dynamically render actual fluids (such as water or lava) rather than generic bucket items, facilitating fluid transfer configurations.
* Multi-Level Cauldron Transfers: Fluid networks can now fill or drain multiple levels of a cauldron in a single operation.
### [Changed]
* Dynamic Variable Tooltips: Refactored filter card tooltips to dynamically format text based on the variable content, displaying fluid names and millibucket (mB) volumes when a fluid filter is bound.
* Bridge-Aware Snapshot Scanning: The thread-safe background planner now queries the dynamic capability registry fallbacks when capturing inventories. This ensures that bridged blocks—such as Cauldrons—have their contents properly indexed during logical execution loops.
* Unified Side-Support Validation: The 3D in-GUI block preview now dynamically queries registered capability bridges to identify and highlight active sides, ensuring correct visual feedback for bridged blocks.
* Dynamic Network Cache Matrix: Replaced hardcoded capability caching with a dynamic, registry-driven caching engine to optimize network scans and facilitate future energy or custom capability expansions.
### [Fixed]
* Cauldron Fluid Fractional Losses: Resolved a rounding desync where completely draining or filling a cauldron reported a microscopic 1 mB fraction loss (999 mB instead of 1000 mB), which previously caused filter desyncs.



