B ‐ Multi‐Chunk Hatch Effects - Alecsioo/MMCE-Addons GitHub Wiki
Multi-Chunk Behaviour
Some requirements in Modular Machinery Addons, specifically those related to chunks, support I/O across a configurable chunk range. This means that certain requirements can be applied to multiple chunks, not just the chunk where the hatch is located.
How It Works
When a hatch is configured to use multi-chunk behavior, it operates as follows:
-
Chunk Range Determination: Starting from the chunk where the hatch is placed, the system calculates the surrounding chunks within the defined range in the requirement.
-
All Chunks Must Be Loaded: For multi-chunk behavior to work, all chunks in the range must be loaded. If any chunk within the range is unloaded, the hatch will not process any of the chunks.
-
Splitting the Requirement: Once all chunks are loaded, the system splits the required amount (as defined in the recipe) by the number of chunks in the range. This means the resource or action is evenly distributed across all chunks, and each chunk processes its allocated portion individually.
-
Satisfying Limits: If a specific requirement has upper or lower limits (e.g., a minimum or maximum amount), all chunks must satisfy those limits for the hatch to function properly. If any chunk fails to meet the requirements, the recipe will not run.
Example Scenario
Consider a recipe where the hatch requires a total of 90 flux to be processed. If the hatch is configured to work across a chunk range of 1:
- The total of 90 flux is divided equally, with each of the 9 chunks responsible for processing 10 flux.
Since v.1.2.0
Multi chunk input requirements have been reworked. Now, each chunk can contribute as much as possible towards the requirement. For example, if the recipe requires 90 flux to be processed, the chunk range is 1, and 2 of the 9 affected chunks have 45 flux in them each, the recipe will work.
Notes
- Multi-chunk behavior is only applicable to certain requirements. Where applicable, this will be mentioned in the requirement documentation.
- All chunks in the specified range must be loaded.
- The chunk range is configurable, but keep in mind that larger ranges will demand more system resources and more chunks to be constantly loaded to function.