Basically title, this thing with two editions of the game slows down development because they now have to write the same thing twice and it splits the userbase. They also don’t want to make Bedrock edition for Linux for some reason.

  • Dark ArcA
    link
    fedilink
    English
    arrow-up
    6
    ·
    5 days ago

    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).