-
-
Notifications
You must be signed in to change notification settings - Fork 25
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
CoreMods 5.2: ES6 language support, additional ASMAPI methods, and all-around cleanup #64
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
This PR has been completed, tested (Forge 43.4.4 with some changes that I will include in a PR), and polished to the best of my ability. It is now ready for review. I have updated the PR description to include as much detail about the included changes as possible. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, just a few small things.
Please also make the static ThreadLocal field final in CoreModTracker.
/* | ||
* Copyright (c) Forge Development LLC | ||
* SPDX-License-Identifier: LGPL-2.1-only | ||
*/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would personally prefer if these licence headers were skipped for JS files, but leaving Lex to decide on that. Note that Nashorn has a fast-path for files under 512 bytes, so adding licence headers may slow down load times.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Honestly I have no opinion on this, I don't think it matters tho especially for test scripts as they should be small and are only used for tests not production.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about the CoreMods in Forge itself?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All of them are already over 512B so its a non-issue having the headers in there.
src/main/java/net/minecraftforge/coremod/transformer/CoreModBaseTransformer.java
Show resolved
Hide resolved
Full Changelog: https://gist.github.com/Jonathing/c3ad28b2a048ac839a7baba5417ee870 The key features are: - ES6 language support - Thoroughly updated ASMAPI, with full documentation - Bug fixes (some optional for backwards-compatibility) - Partial internal code cleanup
94bd6c7
to
347bbde
Compare
Merged in e7503dd manually so I could tag. |
This PR is the culmination. The quintessential climax. The king. All of the above. I humbly (and proudly) request that this PR marks CoreMods 5.2.0. Once this PR is merged, I will resume work on bumping CoreMods on all applicable versions of Minecraft Forge.
Merging Process
For this PR, I would like approvals from both @LexManos and @PaintNinja in order to make sure I am not doing anything majorly stupid. However, I've been testing all of these changes so far in my own side projects and can assure you that they work well. Over the next 1-2 days, I'll be doing additional testing and making sure all the code is sane and nothing is broken.
Features
module-info.java
that is backwards compatible with existing versions of Forge (tested on 1.19.2).ASMAPI
to make maintainability less of a pain in the ass.buildMethodCall()
to be removed in CoreMods 6.0.0.ASMAPI
.ASMAPI
.Future Plans
Although not part of this PR for CoreMods 5.2.0, there are several points of interest that I want to touch on in the next version of CoreMods.
@Test
annotation.require = 0
.