Skip to content

Mixin Overhaul v2#57

Open
Shad0wlife wants to merge 4 commits intoko-lja:neo/1.21.1from
Shad0wlife:mixin-overhaul-v2
Open

Mixin Overhaul v2#57
Shad0wlife wants to merge 4 commits intoko-lja:neo/1.21.1from
Shad0wlife:mixin-overhaul-v2

Conversation

@Shad0wlife
Copy link
Copy Markdown

Another attempt at optimizing some mixins.

These are only the changes that would have worked from the last PR anyways.

  • build script cleanup
  • mod compatibility with AppFlux and ExtendedAE Plus
  • mixin optimizations: Removed 2 Redirects which are really more 1 Inject and 1 WrapOperation.

As I mentioned in a comment on the (closed) last PR, there is still one overwrite in place. It doesn't cause an issue (as far as I could tell with the mods I tested with), so I didn't spend too much time investigating how to get rid of that as well.

I kinda also want to return to mixing into the TargetCache instead of fully replacing it, but I'm not sure how to do that currently, as the decision logic for the blocking feature got moved there and needs the ConfigManager which you added in your own copy of it. I have an idea on how to handle that by basically writing that with a setter instead, but it's not completely perfect, so if I ever get around to working on that, I'll do it in a separate PR. I think that this change would also indirectly get rid of the overwrite, so that'd be neat.

Feedback welcome!

- Remove mixingradle dependency -> it's included in neoforge by 1.21.1
- Fix build.gradle variable assignment syntax to new standard
- MixinControllerValidator: Use WrapOperation instead of redirect to allow for potential chained Wraps from other mods.
- MixinSettingToggleButton: Removed an unneccessary redirect of a function call even though it only wanted to inject three other function calls after it.
Disable MixinCraftingCPUCluster when ExtendedAE Plus is active since it does the same thing in a somewhat more elegant manner and since both redirect, they would conflict otherwise.
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.

1 participant