I suspect the real answer is because Microsoft wanted to monetize Minecraft in a way which was not possible with legacy sales. I bought minecraft back in alpha with the promise that I would get any and all updates and future editions for free with purchase. Microsoft legal saw that agreement and knew it was incompatible with their business goals. They knew that incorporating a microtransaction store would basically require unlimited currency for players like me who had purchased it long ago. So the "simple" answer was to re-implement the entire game without the legal encumbrance of the legacy purchases.
Minecraft
Welcome to the Minecraft community on Lemmy and Kbin!
The home for all posts related to the Minecraft franchise: from the classic game to the mobile ports, mods, adventure games, merchandise and similar!
Official Lemmy.world server available!
Lemmy.world hosts an official server that welcomes all players to contribute and have fun:
Minecraft Version: 1.20.x
Address: minecraft.lemmy.world
Please make sure you read our rules before posting.
Rules:
Rules can be clicked on to be expanded.
1: Treat all users with respect.
Bullying, threathening, doxxing, or toherwise hostile behaviors with any of our users will not be tolerated. Be civil, have fun.
2: Posts must be related to the Minecraft franchise.
This includes the main game, titles like Dungeons, fan art, wiki pages, toys, new feature votes, and similar content.
3: No advertising.
If you want to share a product you're a manufacturer or seller of, please contact the moderation team first. Affiliate links to online shopping stores or affiliate coupon codes are not allowed.
4: No piracy.
Links or discussions about cracked versions of games, unauthorized copies of copyrighted material and other similar piracy-related content are not allowed.
5: No NSFW or adult content.
This community is inclusive to users of all ages. Keep in mind Minecraft attracts children and adults alike. Therefore, no NSFW content is allowed.
6: No low-effort meme content.
Memes are allowed, and so are comics or other fan creations. However, low-effort reposts and otherwise overused memes will be removed.
Reddit reposts are allowed.
Reddit reposts are allowed, but you need to include the tag [Reddit] in the title.
Related communities:
-
PC Gaming: [email protected]
-
Games: [email protected]
-
PC Handhelds: [email protected]
-
Minecraft modding: [email protected]
Because of the modding and server software community. It's basically non-existent on Bedrock. Also, Java is much easier to get into as a programming language for beginners.
Bedrock was actually just PocketEdition so the rewrite already sort of existed. But like what others have pointed out, if they just killed Java edition, most Java players would likely just stick with the last version and pretend Bedrock doesn’t exist.
I expect they’ll eventually kill Java but they can’t really do that while there’s an active player base and modding community on it.
Personally I wish Bedrock would just disappear but I know that’s not going to happen :/
Probably because of legacy issues, such as the modding community, java players becoming vehemently against switching to Bedrock because of issues such as:
- No built-in way to select version
- No modding, like at Java
- Microtransaction
- etc.
Also, game breaking bugs
Well ... BE is just a rewrite in C++. But a bad and inflexible one, as we see, so it's very good that we have JE. Lets see for how long, not because discontinuing it would be good for users, but would grant M$ much more control and direct power.
Discontinuing JE, I think, would be beneficial in a way. Modders could finally settle down on the last version, and players would be able to tailor in/out anything they wish from that base. If a mod got written for this final version, it would just keep working for ever (short of modloader version changes and mod incompatibility).
Discontinuing JE would destroy the modding scene and be a generally bad thing for players.
Unless they make it inaccessible, I see no reason that users wouldn't stick around and play the last version.
I don’t think JE can be discontinued for the time being without a lot of uproar. The two editions, while similar on the surface, are two very different games underneath and I and quite a few people I know would never touch bedrock with a ten foot pole. Part of that is of course mod support, part of it are the micro transactions and part of that is just some things working just a little bit differently for no apparent reason. The whole thing just feels a bit uncanny every time I’ve tried it.
We should just rewrite it on Rust. We can start with writing a graphics renderer from scratch.
Because the modding community would have lost its marbles, even if Bedrock Edition fully supported mods, since it would very likely mean their existing work would need to be scrapped.
Yes, this is the reason, summarized well.
If Mojang ever stops updating Java, people will just play the old version because of the huge number of mods. Modded Minecraft servers made Minecraft what it was and then after Mojang put effort into the Java modding community that was doubly true because the client mods got good and got complex.
There are still a lot of popular modpacks on 1.7 (which is over 10 years old)
Make a free one. Based on rust. Using vulkan. Runs best in Linux.
For the lolz
Minecraft java edition already runs best on linux
TBH, Minecraft development has always been extremely conservative. Even basic "hard" features like a modding API, cubic chunks, LoDs or an optimized renderer were too extensive to do.
Bedrock is basically Microsoft sicking a whole team onto a C++ rewrite for their business purposes, not Mojang's core devs deciding to do it.
This is not bad, per se. Their careful, slow direction stopped JE from getting enshittified, bloated, buggy, things like that. But it’s been kinda frustrating, too, given Minecraft’s enormous user base.
That's not true, bedrock started before Microsoft was ever involved; it was the console and mobile version.
Ah, right.
Point still stands though. JE development has been extremely conservative and cautious.
I mean, yes and no. They have (I believe) slowed down, but for quite a while they were making MAJOR refactors every release and the internals were rapidly changing despite not much being visible on the surface.
I think a lot of that stopped with dinnerbone taking a step back ... but I'm also not as involved with the scene anymore so I'm not entirely sure if that's true.
But yeah, they regularly used to screw modders up redoing internals to make things dynamic instead of hard coded and refraction tons and tons of stuff.
I miss the days when they were ambitiously pursuing an official API for mods; now they've kind of resigned to letting the community projects handle that. Which is not a terrible approach, but it's not a great one either.
But yeah, they regularly used to screw modders up redoing internals to make things dynamic instead of hard coded and refraction tons and tons of stuff.
This was always controversial because the ostensible reasons, optimization and future features, seemed to pale in comparison to what random modders were doing hacking at the code. And Minecraft JE, feature wise, hasn’t changed that much.
Has bedrock edition changed much? I remember they had VR at one point, but in general they've kept the features pretty much identical AFAIK
Last I checked its still missing some gameplay features JE has, but generally tries to keep parity with JE, yeah.
I mean not lately. It’s been getting the same filler content updates that Bedrock has been getting. I guess they’ve been cautious about adding meaningful changes.
Well, sorta. Bedrock I believe actually was based off the mobile game, not console edition. Console edition was not so much of a rewrite as an attempt at a direct port for Xbox and PlayStation. One of the details that confirms this is that the old console editions used JE style seed numbers, whereas Bedrock edition kept the shorter seed numbers from mobile edition.
The original console editions are long dead.
Interesting, that's a detail I hadn't heard. So it sounds like the mobile edition eventually ate the console edition and then they wanted it to possibly eat the original Java version too, but couldn't get there(?)
Pretty much. They got real aggressive at one point announcing things they were gonna roll into bedrock edition (this was around when they thought they were bringing combat update over, which never happened).
Then, all of a sudden, they pulled way back. I really got the impression they were thinking to give java the axe, only they discovered how much of a clusterfuck they were about to walk into and changed their minds. Instead suddenly the focus was on bedrock feature parity with Java (which, again technically never happened of course, cause of things like combat update).
I didn't realize bedrock stayed with the old combat system... I honestly largely prefer that one
Microsoft definitely has enough funds to rewrite java edition in C++. Would it be possible to ensure mod compatibility tho?
Would it be possible to ensure mod compatibility tho?
No. That’s the whole point of Java, it’s quite hackable.
It doesn’t need a rewrite TBH, it just needs a little optimization. Heck, a few performance critical components can be written in C++ or whatever within the Java code.
That’s the whole point of Java, it’s quite hackable.
Wouldn't being hackable allow mojang to add compatibly to the C++ edition? I do agree that it just needs optimization though, some mods like Sodium already do this. Check out Fabolously Optimized
The minecraft mod scene you are describing is built around Java and changing Java code within the game, there is no way around that.
Bedrock already has a modding API of sorts.
Sodium, Optifine and such are all living testaments that some random coder can run circles around Mojang in their free time.
I mean, I love mojang, but what you are asking for is basically not possible.
No, the Java version runs within the JVM and the C++ version would run via native code. That's effectively like having something work on an ARM processor and an x86 processor at the same time.
They both could be modded, but it's harder to mod C++ because the optimization phase is ahead of time. Minecraft modding is in part an accident because the optimization phase happens during runtime within the JVM ... that means the binary ".jar" files align much more closely with the code mojang wrote ... where as an ".exe" would be radically changed.
C++ modding would also be more difficult because it's harder to preserve stability in C++. In the JVM, basically the only way the program crashes is if an exception goes uncaught or the programmer explicitly asks the program to termite (which never happens). In C++ there are still exceptions but there are a whole lot of things that are exceptions in Java that aren't in C++ ... so you can't just fence off the modding API cleanly and say "if an exception is thrown while running this mod keep going."
Those two reasons are the major reasons that games pick Lua over native C++ based mods (that and you can secure Lua and prevent it from doing anything it wants ... Java and C++ mods can do anything they want, which is part of why the Minecraft modding scene is so good; if you want to connect to a database for administrative purposes, you can write that mod server side and have your database of block changes to find griefers, your plot database to protect plots, your store database to provide shops, etc).
TIL! Thanks for the explanation. What if they rewrote it in Lua :P
You would get 3 FPS 🙂
I play exclusively multiplayer on a variety of servers and Bedrock support has always been an afterthought to Java in those spaces.
Custom plugins and mods would likely be why, dual supporting for Bedrock is usually out of the question unless the server is quite large and can justify that with enough staff/donations to get it done.
There would definitely be a huge outcry if support for Java was dropped for that reason.
It's a good question. Really the only thing that would have been completely broken if moving to a new version are game mods, which are written in Java. Everything else could be converted to work with a new C++ based version.
Though doing so would result in a lot of new bugs, systems would have different behavior leading to broken mob farms and redstone. I think this would be the main reason. Keep Java around until the Bedrock Edition could handle these worlds with minimal issues.
However, Bedrock involved into a very corporate product. Microtransactions, ads, etc. Java Edition players would be angry if they were forced to move to this version.
Another factor is that Microsoft really doesn't support Linux and MacOS systems. They likely didn't want to add support for them in Bedrock Edition.
Bedrock does have a Linux version tho. The android one. There's programs that can extract it and run it on desktop Linux systems if you buy a license for the apk on Google Play.
I mean by that logic, Mac would also have Bedrock Edition by using a VM or WINE.
But you know that's not what people mean, when people say Linux they don't mean Android and vice versa
Yes, but the kernel is only one part of the operating system. Desktop Linux and Android have different userlands and APIs.
Though as you mention, there are projects that bridge the gaps between the two platforms.
I wouldn't mind if they just give us a final Java edition version that has ray tracing support (the only thing I love about bedrock edition, such fancy shaders).
Everything else can be done with mods, and we could finally settle on one version instead of rewriting all mods over and over again.
There are some ray tracing mods for Java. Not as performant as Bedrock’s implementation, but it’s not bad.
Last time I checked (like two years ago) I got 30 fps on Java with ray tracing that still didn't look as good as the one that gave me 60-90 fps on Bedrock