You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Backports the later Immersive Engineering Crusher synchronization fix to Minecraft 1.12.2.
IE 0.12-98 synchronizes the Crusher's full process queue to clients. The client then reconstructs every queued process and resolves its recipe from NBT, causing substantial client-thread load in large modpacks.
This patch:
stops Crushers from syncing their full process queue to clients;
keeps the full queue for world saves;
syncs only the render-active state;
leaves processing, recipes, energy, redstone, inputs and outputs unchanged.
Introduction of README Fix for Crushers
A new fix has been incorporated in the README for Crushers. This prevents the repeated synchronization of their process queue on clients, eliminating potential inefficiencies.
Setting-up of Configuration Option for Crusher Sync Fix
A new configuration option has been introduced in the UTConfigMods.java file for the Crusher Process Queue Sync Fix. This gives the user flexibility, though it requires a restart to apply settings.
Application of New Mixin in UTMixinLoader
The UTMixinLoader.java file has been updated to load a new tool, called a mixin, for the Crusher synchronization fix. This ensures better integrated operation of multiple functionalities.
Implementation of Mixin Logic in New File
A new file UTIECrusherSyncMixin.java has been added, which contains the mixin logic to manage the synchronization behavior of Crushers. This ensures that the client does not reconstruct the process queue excessively and manages the render-active state correctly, bringing about a smoother user experience.
Creation of New Mixin Configuration File
A new mixin configuration file mixins.immersiveengineering.crushersync.json has been created to include the newly added mixin for Crusher synchronization. This helps in a more organized structure of the code while letting users customize specifics of the synchronization.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Backports the later Immersive Engineering Crusher synchronization fix to Minecraft 1.12.2.
IE 0.12-98 synchronizes the Crusher's full process queue to clients. The client then reconstructs every queued process and resolves its recipe from NBT, causing substantial client-thread load in large modpacks.
This patch:
Upstream fixes
Original fix, on the newer 1.18 codebase:
7d76b1c— Allow multiblocks to opt out of syncing the process queue to the client, and sync active state independentlyOfficial 1.16.5 backport:
68816c8— Backport: Allow multiblocks to opt out of syncing the process queue to the client, and sync active state independentlyBoth close the original report:
Issue #5077 — Degraded FPS when crushers are being overloaded with items
Profiling
same conditions, multiple profiles.
/sparkc profiler --interval 1 --timeout 60Before:
After:
