-
Notifications
You must be signed in to change notification settings - Fork 186
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
Some Mods don't work and Vanilla Game features are broken as theseus ships JRE instead of JDK #1192
Comments
Because Minecraft runs with just JRE, this should be the target for Minecraft mods. If you want to use mods that rely on APIs meant for developers, you are welcome to install a JDK yourself. Most users don't need that. |
This is true for 1.16.x and older. Since 1.17, the game uses a full JDK. While it doesn't use any JDK-specific features yet, they officially run on a full JDK. If the Modrinth launcher doesn't do that (like the official launcher does), it's just setting itself up for incompatibilities like these. |
Additional comment: the Vanilla game does actually use the JDK. The absence of it might make users confused why the |
Saying most users don't need it isn't really helping. There are mods that need the JDK and it is used by the minecraft launcher. Mod devs go off what the Minecraft Launcher uses and so should theseus. Making it needlessly break mods that work on the minecraft launcher is not something that should be wanted. And yeah I can install a jdk, but people that don't even know what JDK or JRE means still pay modded minecraft. And the mods should just work and not need tinkering. And as @Gaming32 pointed out, it seems to also break vanilla behavior. |
Some mods are made only for development environment, but we shouldn't turn the launcher into a DE because of these specific mods. However, breaking the vanilla functionality is unacceptable for the launcher, so I support the suggestion. |
I don't think the mods linked in the issue are meant to only run on a dev env, and I don't see how or why a mod would be specifically made for a dev env? It may have features that help you develop but it wouldn't make that much sense to make them "only for" a dev env |
Here's an example from my bookmarks: EZForever/ThatOrThis#27 (comment) |
None of the mods are for "dev env" its just that there are some features in the JDK (Instruments) for runtime class redefinition which are not present in the JRE. These features need to be present for some mods to work. |
I wasn't aware that the MoJREs are JDKs, so yeah, for compatibility reasons it would be better to map MoJREs to Azul's JDK packages, but that's because it seems that Modrinth App is breaking some of the vanilla functionality like Updated to acknowledge that all MoJREs are JDKs. Footnotes |
Well but there is not other way that I know of to change the inheritance structure of Classes. And do what has been done Another example of a mod using this is impirium as I pointed out above. That behavior is supported by all other launchers, including the vanilla Default launcher, so it should be too on Modrinth launcher without any tinkering. And why only 21? 17 is just as affected by this. |
Has there been any update to this? |
Describe the bug
As the Modrinth launcher uses a JRE by default instrumentation isn't available, but some mods do rely on it to work.
Examples are: https://modrinth.com/mod/tameable-axolotls and https://modrinth.com/mod/impirium.
Steps to reproduce
Expected behavior
Theseus should ship a JDK by default as that is what most users have and is required for some extreme modifications of Minecraft.
System information
Linux, but that should be irrelevant
Additional context
No response
The text was updated successfully, but these errors were encountered: