-
Notifications
You must be signed in to change notification settings - Fork 297
Move builtin transform selection to game provider #1056
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
Move builtin transform selection to game provider #1056
Conversation
Co-authored-by: Raik176 <[email protected]> Co-authored-by: Space Walker <[email protected]>
|| className.startsWith("com.mojang.minecraft") // unobf classes in classic | ||
|| className.startsWith("com.mojang.rubydung") // unobf classes in pre-classic |
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.
Should these both end with .
to be consistent with the lines above and below?
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.
They should, thanks for spotting
boolean requiresUrlClassLoader(); | ||
Set<BuiltinTransform> getBuiltinTransforms(String className); | ||
|
||
enum BuiltinTransform { |
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'm unfamiliar with these terms. Specifically STRIP_ENVIRONMENT
and CLASS_TWEAKS
. I looked in FabricTransformer but the usage isn't immediately clear to me. Perhaps we could add some documentation?
EDIT: I put this note in the wrong spot. It's for the enum values.
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 adjusted it, class tweakers is a bit of a future term for this branch, it's the new and eventually more powerful replacement for access wideners.
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.
Either way is fine for me. Just figured it might be useful to preserve backwards compatibility if possible.
Path getLaunchDirectory(); | ||
boolean isObfuscated(); | ||
boolean requiresUrlClassLoader(); | ||
Set<BuiltinTransform> getBuiltinTransforms(String className); |
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.
Should we make this a default method for backwards compat? Other games couldn't use transforms previously so an empty set would make sense.
Doesn't really matter too much though.
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 don't usually do this for internal interfaces like this, a custom GameProvider is probably better off with thinking about what the game actually wants.
We don't know what the right package for an arbitrary game would be and I haven't implemented tracking what a class is yet (game, game lib, mod, maybe more types).
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.
👍 makes sense.
lgtm |
Co-authored-by: Raik176 <[email protected]> Co-authored-by: Space Walker <[email protected]>
Fixes #1055 and #1043