Applied-energistics-2: [1.9] Migration to Java 8

Created on 13 Dec 2014  Â·  25Comments  Â·  Source: AppliedEnergistics/Applied-Energistics-2

The new minecraft launcher is now bundling Java 8 and basically defining it as baseline for minecraft.

Therefore we should consider the advantages and disadvantages of switching to Java8.

enhancement

Most helpful comment

Many (popular) 1.8+ mods are already enforcing Java 8. Forge itself will not enforce it, they are still in the "but... but.. the minecraft requirements say it needs to run on a toaster".

All 25 comments

We need to wait for Forge, or is there an official statement of Lex

Mojang, isn't enforcing the use of the new launcher as well as that Linux wasn't mentioned, probably because they only supply a .jar for Linux, so Liniux will still be able to use Java6/Java7/Java8 32-bit or 64bit.

Also need to pay attention to the third party launchers like FTB, ATL etc I guess

Just to consider if it is feasible. Not that I absolutely want to migrate under any circumstance.
Forge can block it, if not compatible with Java 8. But they can still target Java 6 themselves and also support Java 8 mods. Nothing from Java prevents it.

Mojang can pretty easily enforce the new launcher by updating the current one automatically.
Especially as this can reduce the work they need to invest into supporting other java versions.
The Forge installer also only supports the vanilla launcher.

I personally would only pay attention to launchers like MultiMC.
But then again I suspect most people using MultiMC are able to also install Java8.
FTB for example is part of or partnered with curse (I do not really follow it) and are probably supported by creeperhost and maybe others. So in my opinion it is their job to adapt, if they want to stay in business.

Looking back how long it took for 1.7 to be somewhat usable, but still missing some 1.6 features...
If Mojang decides to use Java 8 for 1.9, I would not be surprised that it will take 2 or more years to adapt modded minecraft to it.

If Mojang decides to use Java 8 for 1.9, I would not be surprised that it will take 2 or more years to adapt modded minecraft to it.

Why is that? A java program compiled for Java 6 can run in Java 8, plus most mods even if they were compiled with Java 8 wouldn't benefit at all. In fact most mods' source code is probably compatible with Java 1.5. The only thinks that may be used that are not in Java 6 are Strings in switch Statements and Catch with multiple types from Java 7. I believe you can already use lambdas like in Java 8 through the Scala library.

@psxlover If we use Java 8 features (namely classes), people with lower JRE can not use them, because their game would crash.

Java 7 brings also try-with-resources, which would improve the file handling quite a bit.
But it is mostly for the Java 8 Stream API.
Sure you could use the scala library, but did you ever look at it and how tedious it is to be used in Java? Not even considering, that IDEs do not really support the way scala generates their classnames.

Streams API would be nice, indeed. All the for loops with a return statement in them.. would be all gone!

what about.. lambda expressions ? =P

Nobody cares about them :P

(or you could just use scala and have all J8 the features all the time)</partialsarcasm>

We are aware some of our mods are in Scala ^^
but its still not the same, interaction can be a pain

There are builds of forge for 1.8 now and a good hand full of mods are starting to support 1.8 as well. Can we expect a 1.8 build in the near future? If it's not java 8 required doesn't bother me I'm just interested in the new features of 1.8 vanilla with AE networks.

Please don't post on irrelevant issues, asking for ETA.

We want to release at least one additional revision until we update. Also considering our size, we wait for a recommended Forge Version.

Also we need to finalize the bugs on 1.7.10 before migrating, else users will not stop bugging us about bugs in 1.7.10 when we already moved on.

Understandable thanks. At least we know you have a work plan in place for
it.
On Jan 2, 2015 9:58 AM, "thatsIch" [email protected] wrote:

We want to release at least one additional revision until we update. Also
considering our size, we wait for a recommended Forge Version.

Also we need to finalize the bugs on 1.7.10 before migrating, else users
will not stop bugging us about bugs in 1.7.10 when we already moved on.

—
Reply to this email directly or view it on GitHub
https://github.com/AppliedEnergistics/Applied-Energistics-2/issues/590#issuecomment-68542000
.

For what it's worth, I've been running my Forge server on Java 8 (openjdk8) on FreeBSD for months now. almost zero issues compared to constant issues with java 7 and 6. I'm running AE2 rv1 beta 37 on that server.

@cathode thats not the issue. The issue is, when we start JDK 8 classes, all other which do not have JRE 8 installed, will crash, because they are missing the classes.

I run personally JDK 8 as my development environment, so I know there are no issues, from the Mojang stats, only about 20% of all users are using Java 8 with still a small percentage using Java 6.

So by doing that, we would force users to use Java 8, but imo its not our place to decide. Forge is a better handler to deal with such dependencies.

@bonii-xx started a post on reddit about it.
Of course Forge would still be better overall, but there should also be some pressure put on Forge by the mod devs.

That was more out of curiousity, and to see how the situation currently is. Java7 is viable, but Grum himself told me that the "new" launcher and the "newer" launcher that enforces Java8 will coexist for a while, so you can't depend on the vanilla launcher giving people Java8.

When Mojang moves their Code from minimal requirement of Java 6 to Java 8, we all can enforce it and put pressure

https://help.mojang.com/customer/portal/articles/325948-minecraft-system-requirements

This is apparently post-poned to 1.9 due to Forge

Got fixed, didn't it? There are a couple of 1.7 mods which require Java 8 now, so I expect you could switch if you want to.

We can switch any time, but since the base application is still Minecraft and they have the min requirement of Java 6, Forge is the next best instance to enforce it. This is additionally annoying if you put Java 8 Classes in your API and other people/mods can not use it

Many (popular) 1.8+ mods are already enforcing Java 8. Forge itself will not enforce it, they are still in the "but... but.. the minecraft requirements say it needs to run on a toaster".

Was this page helpful?
0 / 5 - 0 ratings

Related issues

fmohican picture fmohican  Â·  5Comments

sagesse-cn picture sagesse-cn  Â·  4Comments

zxvnm4 picture zxvnm4  Â·  3Comments

StrayCargo picture StrayCargo  Â·  4Comments

coehlrich picture coehlrich  Â·  5Comments