Cadiboo Posted October 3, 2018 Posted October 3, 2018 (edited) Minecraft’s launcher downloads the Java it needs to run, why doesn’t Forge use this pre installed Java instead of requiring end-users to download the same (I assume it’s the same) version themselves? Edited October 3, 2018 by Cadiboo users->end-users Quote About Me Spoiler My Discord - Cadiboo#8887 My Website - Cadiboo.github.io My Mods - Cadiboo.github.io/projects My Tutorials - Cadiboo.github.io/tutorials Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support. When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible. Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)
DaemonUmbra Posted October 3, 2018 Posted October 3, 2018 I believe this is because the JRE that Minecraft ships with is 1) Horrifically out of date 2) Not exactly "installed" on the user's system, it's more just extracted into Minecraft's program files, so there are no registry keys or environment variables pointing to it, a program that wants to use it has to already know where it is. 1 Quote This is my Forum Signature, I am currently attempting to transform it into a small guide for fixing easier issues using spoiler blocks to keep things tidy. As the most common issue I feel I should put this outside the main bulk: The only official source for Forge is https://files.minecraftforge.net, and the only site I trust for getting mods is CurseForge. If you use any site other than these, please take a look at the StopModReposts project and install their browser extension, I would also advise running a virus scan. For players asking for assistance with Forge please expand the spoiler below and read the appropriate section(s) in its/their entirety. Spoiler Logs (Most issues require logs to diagnose): Spoiler Please post logs using one of the following sites (Thank you Lumber Wizard for the list): https://gist.github.com/: 100MB Requires member (Free) https://pastebin.com/: 512KB as guest, 10MB as Pro ($$$) https://hastebin.com/: 400KB Do NOT use sites like Mediafire, Dropbox, OneDrive, Google Drive, or a site that has a countdown before offering downloads. What to provide: ...for Crashes and Runtime issues: Minecraft 1.14.4 and newer: Post debug.log Older versions: Please update... ...for Installer Issues: Post your installer log, found in the same place you ran the installer This log will be called either installer.log or named the same as the installer but with .log on the end Note for Windows users: Windows hides file extensions by default so the installer may appear without the .jar extension then when the .log is added the log will appear with the .jar extension Where to get it: Mojang Launcher: When using the Mojang launcher debug.log is found in .minecraft\logs. Curse/Overwolf: If you are using the Curse Launcher, their configurations break Forge's log settings, fortunately there is an easier workaround than I originally thought, this works even with Curse's installation of the Minecraft launcher as long as it is not launched THROUGH Twitch: Spoiler Make sure you have the correct version of Forge installed (some packs are heavily dependent on one specific build of Forge) Make a launcher profile targeting this version of Forge. Set the launcher profile's GameDir property to the pack's instance folder (not the instances folder, the folder that has the pack's name on it). Now launch the pack through that profile and follow the "Mojang Launcher" instructions above. Video: Spoiler or alternately, Fallback ("No logs are generated"): If you don't see logs generated in the usual place, provide the launcher_log.txt from .minecraft Server Not Starting: Spoiler If your server does not start or a command window appears and immediately goes away, run the jar manually and provide the output. Reporting Illegal/Inappropriate Adfocus Ads: Spoiler Get a screenshot of the URL bar or copy/paste the whole URL into a thread on the General Discussion board with a description of the Ad. Lex will need the Ad ID contained in that URL to report it to Adfocus' support team. Posting your mod as a GitHub Repo: Spoiler When you have an issue with your mod the most helpful thing you can do when asking for help is to provide your code to those helping you. The most convenient way to do this is via GitHub or another source control hub. When setting up a GitHub Repo it might seem easy to just upload everything, however this method has the potential for mistakes that could lead to trouble later on, it is recommended to use a Git client or to get comfortable with the Git command line. The following instructions will use the Git Command Line and as such they assume you already have it installed and that you have created a repository. Open a command prompt (CMD, Powershell, Terminal, etc). Navigate to the folder you extracted Forge’s MDK to (the one that had all the licenses in). Run the following commands: git init git remote add origin [Your Repository's URL] In the case of GitHub it should look like: https://GitHub.com/[Your Username]/[Repo Name].git git fetch git checkout --track origin/master git stage * git commit -m "[Your commit message]" git push Navigate to GitHub and you should now see most of the files. note that it is intentional that some are not synced with GitHub and this is done with the (hidden) .gitignore file that Forge’s MDK has provided (hence the strictness on which folder git init is run from) Now you can share your GitHub link with those who you are asking for help. [Workaround line, please ignore]
Cadiboo Posted October 3, 2018 Author Posted October 3, 2018 12 minutes ago, DaemonUmbra said: I believe this is because the JRE that Minecraft ships with is 1) Horrifically out of date 2) Not exactly "installed" on the user's system, it's more just extracted into Minecraft's program files, so there are no registry keys or environment variables pointing to it, a program that wants to use it has to already know where it is. We’re being forced to use the same JRE anyway though, so we can’t exactly help the out of date part and don’t we already know exactly where it is? Quote About Me Spoiler My Discord - Cadiboo#8887 My Website - Cadiboo.github.io My Mods - Cadiboo.github.io/projects My Tutorials - Cadiboo.github.io/tutorials Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support. When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible. Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)
Draco18s Posted October 3, 2018 Posted October 3, 2018 Note that for programming you also need the JDK...which Minecraft does not autodownload. Quote Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
Cadiboo Posted October 3, 2018 Author Posted October 3, 2018 (edited) 2 hours ago, Draco18s said: Note that for programming you also need the JDK...which Minecraft does not autodownload. I assume that that’s only for people who are developing mods (& Forge etc.) though, I don’t see why the end-users of Forge & mods need to redownload Java when it appears that Forge could just directly use Minecraft’s Java. Edited October 3, 2018 by Cadiboo Quote About Me Spoiler My Discord - Cadiboo#8887 My Website - Cadiboo.github.io My Mods - Cadiboo.github.io/projects My Tutorials - Cadiboo.github.io/tutorials Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support. When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible. Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)
LexManos Posted October 3, 2018 Posted October 3, 2018 That is exactly the case, The JRE that the Minecraft launcher installs does not actually inform the OS that it's installed anywhere. So running the jar normally, or through Launch4J has no idea that install even exists. We are working on a a new exe wrapper that is specifically tailored to Minecraft, and will check the known default Minecraft locations as well as the known installed JREs. But that's still in the works and needs a lot more testing. Until then, we're stuck with this. 1 1 Quote I do Forge for free, however the servers to run it arn't free, so anything is appreciated. Consider supporting the team on Patreon
IdrisQe Posted October 3, 2018 Posted October 3, 2018 Unpopular opinion but honestly, I would just keep it as-is. Better to inconvienience users very slightly into downloading an updated Java every few months (which takes like... 15 minutes) than letting them unwittingly use the broken, dangerously unsecure old version Minecraft ships with. If anything, Forge should complain when the Java version is too old. Security and functionality trumps very, very minor user inconvienience. At least in my eyes. Quote
Cadiboo Posted October 3, 2018 Author Posted October 3, 2018 1 hour ago, IdrisQe said: Unpopular opinion but honestly, I would just keep it as-is. Better to inconvienience users very slightly into downloading an updated Java every few months (which takes like... 15 minutes) than letting them unwittingly use the broken, dangerously unsecure old version Minecraft ships with. If anything, Forge should complain when the Java version is too old. Security and functionality trumps very, very minor user inconvienience. At least in my eyes. This isn’t an unpopular opinion at all, it’s a great idea. However, we still have to use (target/retain comparability with) the Java version that Minecraft uses because all their code is written in it. It seems to me that Mojang has fallen down on pretty much everything except for adding features so far. They don’t have a Modding API, lots of their code is badly written, lots of their code is old and should be updated and, as you said, they use a very outdated java version. Also Forge’s Internals use some Java Internals like Sun’s classloader (I think) that only work on specific versions of java (i.e. the version of Java that Minecraft uses). This is why Forge breaks on Java 9 (I think). I also pretty sure that a lot of effort went into making Forge work with Java 9 for 1.13 though. Quote About Me Spoiler My Discord - Cadiboo#8887 My Website - Cadiboo.github.io My Mods - Cadiboo.github.io/projects My Tutorials - Cadiboo.github.io/tutorials Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support. When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible. Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)
Cadiboo Posted October 3, 2018 Author Posted October 3, 2018 10 hours ago, diesieben07 said: Double clicking the installer jar file will use any system-installed Java, there is no way to change this. The .exe version of the installer uses Launch4j as far as I know, which also uses any system-installed Java. 3 hours ago, LexManos said: That is exactly the case, The JRE that the Minecraft launcher installs does not actually inform the OS that it's installed anywhere. So running the jar normally, or through Launch4J has no idea that install even exists. We are working on a a new exe wrapper that is specifically tailored to Minecraft, and will check the known default Minecraft locations as well as the known installed JREs. But that's still in the works and needs a lot more testing. Until then, we're stuck with this. Thanks! This is what I was looking for. Any idea why Forge didn’t initially (when it was created) start by using Minecrafts Java though? It seems like it would have been the logical way to streamline the installation for end-users. Then again, Forge probably wasn’t created with end-users in mind who didn’t know how to install Java. Quote About Me Spoiler My Discord - Cadiboo#8887 My Website - Cadiboo.github.io My Mods - Cadiboo.github.io/projects My Tutorials - Cadiboo.github.io/tutorials Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support. When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible. Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)
Animefan8888 Posted October 4, 2018 Posted October 4, 2018 55 minutes ago, Cadiboo said: Thanks! This is what I was looking for. Any idea why Forge didn’t initially (when it was created) start by using Minecrafts Java though? It seems like it would have been the logical way to streamline the installation for end-users. Then again, Forge probably wasn’t created with end-users in mind who didn’t know how to install Java. Minecraft didn't start using there own Java until sometime around the new launcher. Quote VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect. Forge and vanilla BlockState generator.
Draco18s Posted October 4, 2018 Posted October 4, 2018 4 minutes ago, Animefan8888 said: Minecraft didn't start using there own Java until sometime around the new launcher. 2 Quote Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
Cadiboo Posted October 4, 2018 Author Posted October 4, 2018 7 minutes ago, Animefan8888 said: Minecraft didn't start using their own Java until sometime around the new launcher. That makes sense, thanks! Quote About Me Spoiler My Discord - Cadiboo#8887 My Website - Cadiboo.github.io My Mods - Cadiboo.github.io/projects My Tutorials - Cadiboo.github.io/tutorials Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support. When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible. Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)
Animefan8888 Posted October 4, 2018 Posted October 4, 2018 39 minutes ago, Draco18s said: Yes I know, but my phone doesn't agree with me or I'm just typing to fast. And I didn't feel like fixing it. Quote VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect. Forge and vanilla BlockState generator.
Draco18s Posted October 4, 2018 Posted October 4, 2018 17 minutes ago, Animefan8888 said: Yes I know, but my phone doesn't agree with me or I'm just typing to fast. And I didn't feel like fixing it. I've been there. My tablet doesn't know the word "do" 2 Quote Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
IdrisQe Posted October 4, 2018 Posted October 4, 2018 10 hours ago, Cadiboo said: I also pretty sure that a lot of effort went into making Forge work with Java 9 for 1.13 though. Wait, does 1.13 require Java 9? That will be a headache for anyone wanting multiple instances... Since you'd need Java 8 for a 1.12.2 instance or below, and Java 9 for 1.13+... And Java automatically uninstalls other versions when you install a new one now. Oh boy. Quote
Cadiboo Posted October 4, 2018 Author Posted October 4, 2018 46 minutes ago, IdrisQe said: Wait, does 1.13 require Java 9? That will be a headache for anyone wanting multiple instances... Since you'd need Java 8 for a 1.12.2 instance or below, and Java 9 for 1.13+... And Java automatically uninstalls other versions when you install a new one now. Oh boy. I believe that Minecraft (or most of it at least) should work with pretty much any Java >= Java_8u151. However it was designed to work with Java_8u151 (the JRE that it ships with). It does not require any specific Java (except that the Java you use must be compatible with Java_8u151). Forge on the other hand currently requires Java 8 because 10 hours ago, Cadiboo said: Forge’s Internals use some Java Internals like Sun’s classloader (I think) that only work on specific versions of java You would have to ask someone else for a concrete reason as to why a lot of work went into making Forge able to use Java 9 (for the 1.13 version of Forge), but here’s my speculation: - They were already rewriting the entirety of the mod loading system (The Internals that use Java’s (Sun’s) Internals) - It will allow modders to use new Java features not available in Java 8 - Security patches/upgrades etc. - Performance patches/upgrades etc. - Newer versions of software is almost universally better. Quote About Me Spoiler My Discord - Cadiboo#8887 My Website - Cadiboo.github.io My Mods - Cadiboo.github.io/projects My Tutorials - Cadiboo.github.io/tutorials Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support. When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible. Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)
DaemonUmbra Posted October 6, 2018 Posted October 6, 2018 I think I've seen manual Java installation (Not auto-update) prompt for what versions to remove with the new installation, for which deselect all (don't remove any) is an option. However a new Java version will take over for simple "java" invocations via CLI, so this would require specifying the full path to the outdated Java binary/binaries. Note: I have not installed Java fresh in a long time so your mileage may vary. Quote This is my Forum Signature, I am currently attempting to transform it into a small guide for fixing easier issues using spoiler blocks to keep things tidy. As the most common issue I feel I should put this outside the main bulk: The only official source for Forge is https://files.minecraftforge.net, and the only site I trust for getting mods is CurseForge. If you use any site other than these, please take a look at the StopModReposts project and install their browser extension, I would also advise running a virus scan. For players asking for assistance with Forge please expand the spoiler below and read the appropriate section(s) in its/their entirety. Spoiler Logs (Most issues require logs to diagnose): Spoiler Please post logs using one of the following sites (Thank you Lumber Wizard for the list): https://gist.github.com/: 100MB Requires member (Free) https://pastebin.com/: 512KB as guest, 10MB as Pro ($$$) https://hastebin.com/: 400KB Do NOT use sites like Mediafire, Dropbox, OneDrive, Google Drive, or a site that has a countdown before offering downloads. What to provide: ...for Crashes and Runtime issues: Minecraft 1.14.4 and newer: Post debug.log Older versions: Please update... ...for Installer Issues: Post your installer log, found in the same place you ran the installer This log will be called either installer.log or named the same as the installer but with .log on the end Note for Windows users: Windows hides file extensions by default so the installer may appear without the .jar extension then when the .log is added the log will appear with the .jar extension Where to get it: Mojang Launcher: When using the Mojang launcher debug.log is found in .minecraft\logs. Curse/Overwolf: If you are using the Curse Launcher, their configurations break Forge's log settings, fortunately there is an easier workaround than I originally thought, this works even with Curse's installation of the Minecraft launcher as long as it is not launched THROUGH Twitch: Spoiler Make sure you have the correct version of Forge installed (some packs are heavily dependent on one specific build of Forge) Make a launcher profile targeting this version of Forge. Set the launcher profile's GameDir property to the pack's instance folder (not the instances folder, the folder that has the pack's name on it). Now launch the pack through that profile and follow the "Mojang Launcher" instructions above. Video: Spoiler or alternately, Fallback ("No logs are generated"): If you don't see logs generated in the usual place, provide the launcher_log.txt from .minecraft Server Not Starting: Spoiler If your server does not start or a command window appears and immediately goes away, run the jar manually and provide the output. Reporting Illegal/Inappropriate Adfocus Ads: Spoiler Get a screenshot of the URL bar or copy/paste the whole URL into a thread on the General Discussion board with a description of the Ad. Lex will need the Ad ID contained in that URL to report it to Adfocus' support team. Posting your mod as a GitHub Repo: Spoiler When you have an issue with your mod the most helpful thing you can do when asking for help is to provide your code to those helping you. The most convenient way to do this is via GitHub or another source control hub. When setting up a GitHub Repo it might seem easy to just upload everything, however this method has the potential for mistakes that could lead to trouble later on, it is recommended to use a Git client or to get comfortable with the Git command line. The following instructions will use the Git Command Line and as such they assume you already have it installed and that you have created a repository. Open a command prompt (CMD, Powershell, Terminal, etc). Navigate to the folder you extracted Forge’s MDK to (the one that had all the licenses in). Run the following commands: git init git remote add origin [Your Repository's URL] In the case of GitHub it should look like: https://GitHub.com/[Your Username]/[Repo Name].git git fetch git checkout --track origin/master git stage * git commit -m "[Your commit message]" git push Navigate to GitHub and you should now see most of the files. note that it is intentional that some are not synced with GitHub and this is done with the (hidden) .gitignore file that Forge’s MDK has provided (hence the strictness on which folder git init is run from) Now you can share your GitHub link with those who you are asking for help. [Workaround line, please ignore]
Cadiboo Posted October 6, 2018 Author Posted October 6, 2018 On Mac (at least in my experience) new Java versions don’t physically delete or uninstall previous versions, they just change JAVA_HOME and other variables to the new installation, and leave the old installations alone in the JavaVirtualMachines folder. Removing the new installation (& setting JAVA_HOME to the old installation) seems to revert the update. Quote About Me Spoiler My Discord - Cadiboo#8887 My Website - Cadiboo.github.io My Mods - Cadiboo.github.io/projects My Tutorials - Cadiboo.github.io/tutorials Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support. When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible. Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.