Skip to content

Mixin Overhaul for Compatibility#56

Closed
Shad0wlife wants to merge 7 commits intoko-lja:neo/1.21.1from
Shad0wlife:mixin-overhaul
Closed

Mixin Overhaul for Compatibility#56
Shad0wlife wants to merge 7 commits intoko-lja:neo/1.21.1from
Shad0wlife:mixin-overhaul

Conversation

@Shad0wlife
Copy link
Copy Markdown

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

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.
@Shad0wlife
Copy link
Copy Markdown
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.

@ko-lja
Copy link
Copy Markdown
Owner

ko-lja commented Dec 23, 2025

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!

@ko-lja ko-lja closed this Dec 23, 2025
@Shad0wlife
Copy link
Copy Markdown
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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants