Mixin Overhaul for Compatibility#56
Closed
Shad0wlife wants to merge 7 commits intoko-lja:neo/1.21.1from
Closed
Conversation
Updated neoforge moddev and removed extra mixin dependency since it's included in Neoforge by 1.21
Don't overwrite pushPattern and generally use more compatible mixins (Inject instead of Redirect where possible, and WrapOperation instead of Redirect where sensible).
AppFlux does the same thing as that mixin, so we can skip it.
Don't use MixinCraftingCPUCluster because ExtendedAE-Plus does the same thing and both mods used redirects so we got a conflict. Disabled the mixin here and not in ExtendedAE since that one sets a new thread limit (even if it's int.max) and doesn't just fake a calculation result like this mod's mixin does.
Migrated to newer neoforge to allow for newer mixinextras to be used. Fixed deprecated code from forge update (EventbusSubscriber related).
The old syntax without the "=" is deprecated and will be removed in gradle 9, and newer MDKs (so eg. for future MC versions) already use it.
It's supposed to be more reliable than INVOKE_ASSIGN.
Author
|
If possible, someone more experienced with the mechanics of the mod please verify that the pushPattern blocking modes still work fully as intended, since that's the most major change I made. |
Owner
|
Thanks for the PR but i'll have to decline, I already ported the fixes from 1.20.1, just forgot to push them yesterday. Still, many thanks for trying! |
Author
|
I will probably redo this because I can still see overwrites there, and they just mess up compatibility with other mods. But I'll make a separate PR for that when I find the time. |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This is a general overhaul of the mixins of the mod.
The most relevant change is replacing the Overwrite of pushPattern with an injection and expanding the interface of the PatternProviderTarget accordingly via mixin instead of duplicating it.
Due to using MixinExtras with Expression matching, a newer Neoforge version is needed. I just set one I'm currently using in the build settings, but if I can find out which is the first compatible one, I could put that instead.
Also, because this was the original motivation for me to do this, this makes the mod compatible with ExtendedAE-Plus, fixing the (already closed) issue: GaLicn/ExtendedAE_Plus#35