-
Notifications
You must be signed in to change notification settings - Fork 20
Updated 1.20.1 - Build Fixes #118
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Ah it also becomes compatible with development on JDK24; but that's neither here nor there. |
|
Hey, as long there are no breaking things we need to fix, we have no reason to update the 1.20.1 branch. The last update was an huge improvement for AU so we decided we would do another update here.
How?
You don't want to write and structure your code by having "maybe someone will use reflection" in mind. If someone wants to get into your code, they will. Especially since we have the mixin framework. By using an interface someone can just implement it.
I would strictly go against this. An Interface is there to describe how a class would look like by describing the methods. There are even a lot of discussion about "interface constant antipattern".
If there is no breaking change or a new feature we need or want to rely on. Then there is no reason to update it. By updating it we also will increase the require min version of JEI which might force others to also update when there is no reason for.
Why is that the case? |
|
Unnecessary changes. Won't be merged. Being able to develop on a newer JDK is also not helpful since the game needs to run on the supported Java version anyways. In the case of 1.20, this would be Java 17. |
All good. But by the way, it all works on JDK 24 - including the game. Runs even more smoothly for me with the new GC changes. |
Less unnecessary verbosity
Isn't that what the modding community is doing almost entirely? Some beginner level bytecode patching with massive reflection style morphs.
It's actually called the constant interface pattern. The antipattern is using it when there's no need or related use cases and having things
Agree. I put it here just in case someone else wants it - I hate doing rework - so if It solves issues for someone it's great, if not well at least no more rework for them.
Honestly I didn't look into the why and how. Just got the thing to build correctly and noticed about half my issues disappeared in the modpacks I use this on when I updated the JEI version AND this mod together; just changing JEI did nothing... I don't think this mod had any issues with it but JEI might have somewhere. Edit: To clarify I only said half because there's some parts that this mod doesnt touch that I'd need to to fix the others /sigh. Isn't the point of this entire mod to fix compatibility issues - such strange concerns? And yes, I tested with fabric and noticed absolutely no changes. It's the strangest thing and why I speculated it only impacted forge Forge. Don't want to send people looking into a rabbit hole that's not there. Maybe it did and my tests just didn't pick them up. Honestly it was purely a convenience fix for my gaming experience - I don't care/need this implemented lol. |
Issue Reference
Not Applicable.
Proposed Changes
Additional Context
This isn't a big thing and only improves compatibility when Forge is the mod loader despite not being a forge specific change. Fabric and others have a more java-like dependency management and won't see any real postivies except compatibility and semantic.