Jump to content

Recommended Posts

Posted

today I was testing I Minecraft will run on the newest version of java (java version 10.0.2 at the time of testing) and to my surprised Minecraft launched with no problems. it also fixed a problem with my fps that I had in single player. sadly that forge is still is encoded with Java 8. forge crashed when using Java 10 I think if forge was encoded with Java 10 it will work fine

Posted

It's not as simple as you think.
Forge uses a lot of Java backend/internal stuff and most, if not all, of it has changed between Java versions 8 and 9/10.

All of that has to be rewritten to work in Java 9+

It's being worked on though, Forge 1.13 will run on Java 9+

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.

  Reveal hidden contents

 

Posted (edited)
  On 8/27/2018 at 2:54 AM, DaemonUmbra said:

It's not as simple as you think.
Forge uses a lot of Java backend/internal stuff and most, if not all, of it has changed between Java versions 8 and 9/10.

All of that has to be rewritten to work in Java 9+

It's being worked on though, Forge 1.13 will run on Java 9+

Expand  

will it have java 8 compatibility as well? What is the difference that java 9 has changed no ASM or something, no Annotations because that's all I could think of. 


I remember reading the major changes and all that happened was new things called nodes or something?

Edited by jredfox
Posted

I don't have an answer for that currently.

Worst case you can still use launcher profiles to target standalone Java installations.

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.

  Reveal hidden contents

 

Posted (edited)
  On 8/27/2018 at 8:10 AM, diesieben07 said:

Yes. The launcher ships with Java 8 currently, so it's likely that that will still be supported.

 

Mostly the classloader hacks that are done at startup. In general anything that uses reflection to hack into internals will no longer work out of the box.

Expand  

I thought reflection was still in java 9+? do you have to use nodes instead to set stuff? 

Without reflection you can't even correctly set the itemstacks size without a loop. And all the methods that should be public that I invoke

Edited by jredfox
Posted (edited)
  On 8/27/2018 at 8:25 AM, diesieben07 said:

Yes, of course it is. But, by default, you cannot access private methods of other modules. There are workarounds, I'll leave it to you to google.

 

What are you even talking about?

 

Dafuq?

 

Dafuq²?

Expand  

for example the itemstack.stackSize cannot be directly set you cannot say itemstack.stackSize += 10; ... there are also alot of  private fields that cannot be set nor gotten related to the minecraft class.

IItemRenderer port will no longer work since it uses reflection to set an object. Many many things will break there has to be a way to allow reflection

Edited by jredfox
Posted
  On 8/27/2018 at 8:34 AM, diesieben07 said:

Yes, that is how Java works. It's called encapsulation. Don't like it? Use a better language (in Kotlin you can do stack.count += 10 out of the box, because it understands Java getters and setters).

 

  1. Access transformers.
  2. Like I said, there are workarounds. Most likely Forge will make sure that reflection on the "minecraft module" will still work just fine.

Go away.

Expand  

Ok well whatever forge uses to get private values I will just have to re-write my ReflectionUtil to match forge's even if it's an access transformer. Thanks.

Posted

@jredfox Please stop spouting your ignorant  nonsense. this is not the place for basic java tutorials.

@diesieben07 This thread is over.

 

The re-written forge will load on j8+ It has J9+ in mind but due to Minecraft currently targeting J8 it must maintain compatibility.

This is a tricky thing due to a lot of java's refactors in J9. But we are confident we can get everything working.

 

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Guest
This topic is now closed to further replies.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.