Move builtin transform selection to game provider - #1056
Conversation
Co-authored-by: Raik176 <raikmaus321@gmail.com> Co-authored-by: Space Walker <spacedoesrs@gmail.com>
| || 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.
Should these both end with . to be consistent with the lines above and below?
There was a problem hiding this comment.
They should, thanks for spotting
| boolean requiresUrlClassLoader(); | ||
| Set<BuiltinTransform> getBuiltinTransforms(String className); | ||
|
|
||
| enum BuiltinTransform { |
There was a problem hiding this comment.
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.
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.
Gamebuster19901
left a comment
There was a problem hiding this comment.
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.
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.
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).
|
lgtm |
Co-authored-by: Raik176 <raikmaus321@gmail.com> Co-authored-by: Space Walker <spacedoesrs@gmail.com>
Fixes #1055 and #1043