Closed brucethemoose closed 2 years ago
I'm not sure, honestly.
They made significant changes to the build process between the releases of 9 and 11, so they are distributed and built differently.
Also, yeah, none of those flags are relevant to MSVC, they are for GCC (though some will be accepted by Clang as well). You could try to reuse parts of JDK-MCs build process, I'm not sure how cleanly they would fit in with the 8 source, though.
As an interesting twist, Enigmatica 6 (and other large 1.16.5 modpacks) are explicitly compatible with Java 15 now, as is Minecraft Forge. I don't think that was true a few months ago.
Forge for 1.16, however, is explicitly incompatible with Java 16, but Minecraft 1.17 requires it. So maybe this problem will solve itself soon enough.
My local build of jdk-mc, albeit still being migrated to Java 16/17, works with both older and newer versions of Minecraft.
They added a weird library that is loaded where its only purpose is to check if the version is the 'right' version of Java, and if it's not it won't let it run. I have no idea why they did this, but that entirely library is now effectively voided out by the runtime.
My local build of jdk-mc, albeit still being migrated to Java 16/17, works with both older and newer versions of Minecraft.
They added a weird library that is loaded where its only purpose is to check if the version is the 'right' version of Java, and if it's not it won't let it run. I have no idea why they did this, but that entirely library is now effectively voided out by the runtime.
By they, you mean Forge?
For what its worth, I tried the last Java 15 release in a 1.16 Forge modpack, and it seemed to work fine.
Hi all I believe I have answers for a few questions pointed on this issue report. But first I would like to know if are there any performance boosts with the JDK-MC? I mean, I'm not trying to undervalue the project, but in general optimizations gain so little in performance that don't even worth the effort. I'm not a programmer yet, but I wish to and I'm working on it. I couldn't get JDK-MC working with All The Mods 6 modpack (an 1.16.5 famous forge modpack), so I can't point here the comparisons myself. That said let's proceed!
They added a weird library that is loaded where its only purpose is to check if the version is the 'right' version of Java, and if it's not it won't let it run. I have no idea why they did this, but that entirely library is now effectively voided out by the runtime.
The answer of why the forge team added a "Check System" to make sure the user is using the "right version" of java at least for me is quite simple. The users in the near past was using OpenJ9 version of JDK because they wanted to reduce the memory footprint of JVM, in fact it reduced to a reasonable values but at the same time introduced a lot of bugs that Forge team just don't want to be bothered to fix. That was what I saw in the forge forum, Git repo and livestreams from CPW(One of the developers). Certainly this is making it harder to the JDK-MC project make Forge work with all Minecraft Modpacks.
Anyway I'm very interested in the JDK-MC project since it's start. Port it to Java 8 or 11 would be awesome, but I'm lacking of knowledge to understand how to proceed with the compilation. I hope one day I can make my commits to that project.
Written with the help of deepl.com. Expect grammatical and concordance errors.
I'm not having much luck with any of the recent jdk-mc releases, but would there be any benefit to compiling plain old JDK8 with extra flags? And if so, what flags should I go about using?
In addition to the regular documentation, there's a bit of info on (gcc?) flags here, but I assume they don't apply to Visual Studio's compiler: https://august.nagro.us/optimized-openjdk.html
This isn't a jdk-mc issue, but I'm having trouble interpreting the build documentation or using your code as an example for JDK8. And this seems to be the definitive hub for platform optimized, Minecraft optimized Java build info.