Closed PukPukov closed 1 year ago
We're not going to force anyone to use a specific Java version other than what the minimum is. Latest Minecraft version already requires Java 17.
If you need Java 21 features, require it in your plugin and tell your users to use that version and/or the enable preview flag.
papers policy generally is supporting the latest two LTS versions, but obviously MC can set higher limits than that and we have to move with it (as we did in the past). its expected that the next MC update will move to java 21. paper will never require preview features, thats stupid, they aren't meant to be used in production. they are meant to be used by devs to give feedback to the jdk maintainers.
While latest Java is 21, plugin developers still should stay on Java 8 because of retrograde server owners and hostings and thats like will be forever, until Minecraft itself will not force usage of latest JDK to allow plugin developers use latest features of Java, like switches, pattern matching, loom, string templates, enhanced instanceof, text blocks, structured concurrency, var, records, sealed classes, Stream#toList() and much more that i don't remember now.
There is no single reason to stay on old java, java don't break backward compatibility, migration to new jdk is seamless. There is even no sense to use the old java because of nostalgia, performance or unpleasant changes (what happens with minecraft, when someone, for example, does not like the lags in 1.13+ or the pvp mechanics in 1.9+)—any change in java only improves the language, without prohibiting or worsening anything, and even the performance is only improving.
The only way to go forward is to force those who do not see a strict need for updates. There is feedback loop between programmers and server owners—developers want to spread they plugins as wide as they can, so they choosing to support legacy java, and server owners thats why is able to skip plugins on new java in favor of legacy plugins. The only one who can broke this loop is who can affect everyone, and this is minecraft, spigot or paper. Two first don't want to do it. This should be done by paper.