Minecraft: Java Edition has been obfuscated since its release. This obfuscation meant that people couldn’t see our source code. Instead, everything was scrambled – and those who wanted to mod Java Edition had to try and piece together what every class and function in the code did.

Modding is at the heart of Java Edition – and obfuscation makes modding harder. We’re excited about this change to remove obfuscation, as it should make it quicker and easier for modders to create and improve mods. Now you won’t have to untangle tricky code or deal with unclear names. What’s more, de-bugging will become more straightforward, and crash logs will actually be readable!

surprisingly fantastic and consumer friendly move from mojang, good on them

  • chunes@lemmy.world
    link
    fedilink
    English
    arrow-up
    36
    arrow-down
    2
    ·
    1 month ago

    Why not go open source? What are they so afraid of, given anyone can now see the source code by using a simple tool?

      • chunes@lemmy.world
        link
        fedilink
        English
        arrow-up
        4
        arrow-down
        5
        ·
        edit-2
        1 month ago

        I mean releasing the source under a license like GPL (or whatever the modern equivalent is).

        • Korhaka@sopuli.xyz
          link
          fedilink
          English
          arrow-up
          62
          arrow-down
          1
          ·
          1 month ago

          Because then anyone could fork it and redistribute the game which I presume they don’t want.

          It would be sweet for us if they did, but I can see why they don’t want to do that.

          • chunes@lemmy.world
            link
            fedilink
            English
            arrow-up
            7
            arrow-down
            3
            ·
            edit-2
            1 month ago

            They could distribute source ports of the game, but you’d still have to buy the game in order to make use of them. Textures, sound effects, animations, etc. are (usually) not source code.

            That’s why people still buy Doom 2 even though it was open-sourced in 1997.

            • Korhaka@sopuli.xyz
              link
              fedilink
              English
              arrow-up
              11
              ·
              1 month ago

              Fork it and use your own texture and sound pack doesn’t sound like much work tbh. Any major modpack could just redistribute the game as a fork and it would be awesome. But Microsoft probably don’t want that.

            • sus@programming.dev
              link
              fedilink
              English
              arrow-up
              13
              arrow-down
              2
              ·
              edit-2
              1 month ago

              The small amount of sales of doom 2 today is not at all comparable to the massive amount of minecraft sales and minecraft-related microtransactions that microsoft is raking in. Doom has many modern sequels that are far more popular today than doom 2, while minecraft does not have any official sequel.

              • chunes@lemmy.world
                link
                fedilink
                English
                arrow-up
                3
                ·
                1 month ago

                Open-sourcing Doom increased, rather than decreased sales.

                Doom also went open source long before there were any sequels, and while it was still the hottest shit in PC gaming.

              • azertyfun@sh.itjust.works
                link
                fedilink
                English
                arrow-up
                1
                ·
                1 month ago

                And Hytale got shitcanned!

                It’s actually amazing that in an industry so hell-bent on copying successful formulas ad-nauseam (e.g. Quake&Doom spawning the whole genre of First Person Shooters), Minecraft has not seen anything reach the status of spiritual successor in over 15 years of charts-topping sales performance. Not from its own studio, not from its former creator, not with the Late Hypixel Studios.

                There are survival games and base-building games and exploration games, but none of them are “Minecraft-likes” in the way that early FPS were “Quake-likes”. CS has Valorant. LoL has Dota. Tekken has Street Fighter. PUBG has Fortnite has Roblox. Minecraft somehow remains truly one-of-a-kind, a gaming UFO that eludes suits looking for a replicable formula. I actually believe Mojang themselves don’t understand why Minecraft works in the first place either, which is why every update seemingly either underwhelms or angers everyone. That game is lightning in a bottle and no-one knows what to do with it.

                If Nadella had a stroke so bad he decided to make Minecraft FOSS, I’d be really interested to see what would happen. If any for-profit company was allowed to make direct Minecraft derivatives, I do think we would see a level of creativity and innovation that would dwarf even the already extremely prolific current modding scene.

              • C8r9VwDUTeY3ZufQRYvq@sopuli.xyz
                link
                fedilink
                English
                arrow-up
                1
                ·
                1 month ago

                What proportion of those sales are for Java edition? This sounds like an attempt to make mods and therefore java edition into a more popular/appealing product. They know that most users are not going to do anything with source code.

    • YTG123@sopuli.xyz
      link
      fedilink
      English
      arrow-up
      46
      arrow-down
      3
      ·
      1 month ago

      Open source includes unlimited distribution. The game is still paid and they want to reserve distribution rights.

      • finitebanjo@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        arrow-down
        2
        ·
        1 month ago

        To add to this, it’s exclusively available on the Microsoft Store, which has gotten so bad lately that I refused the terms on their most recent update and haven’t had it installed on any machines since.

        • Lorem Ipsum dolor sit amet@lemmy.world
          link
          fedilink
          English
          arrow-up
          4
          ·
          edit-2
          1 month ago

          It isn’t? Minecraft: Java Edition (which is getting deobfuscated) is available on their website for Windows, MacOS and Linux. Minecraft: Bedrock Edition has nothing to do with these news.

          • finitebanjo@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            arrow-down
            2
            ·
            edit-2
            1 month ago

            I could be mistaken but I’m 90% sure the website redirects you to buy it on the Microsoft Store, which is also how it will be installed and launched.

            • Lorem Ipsum dolor sit amet@lemmy.world
              link
              fedilink
              English
              arrow-up
              3
              ·
              1 month ago

              No it isn’t. On Windows there are two versions of Minecraft. “Minecraft: Bedrock Edition” available as a UWP using the Microsoft Store, written in C++ and supporting crossplay with the Minecraft releases for consoles and mobile phones and “Minecraft: Java Edition” available through minecraft.net, written in Java and supporting crossplay with the MacOS and Linux versions.

              • finitebanjo@lemmy.world
                link
                fedilink
                English
                arrow-up
                1
                arrow-down
                1
                ·
                1 month ago

                The Java and Bedrock edition came bundled together for me. Maybe theres a way to redeem it somewhere other than the store, but I am still pretty sure its been the way I described ever since Minecraft was purchased by Microsoft.

      • Derpgon@programming.dev
        link
        fedilink
        English
        arrow-up
        8
        arrow-down
        4
        ·
        1 month ago

        Open-source and source-available are used interchangeably. Releasing the source does not mean the license will allow any form of redistribution or recompilation.

        If you decompile the game yourself you can infinitely distribute the game as well. This is not an argument.

        • Jerkface (any/all)@lemmy.ca
          link
          fedilink
          English
          arrow-up
          2
          ·
          edit-2
          1 month ago

          No don’t look it up, simply assume that you know what it means without ever seeing a definition because your brain is just better than everyone else’s.

          https://opensource.org/osd

          The Open Source Definition
          Page created on July 7, 2006 | Last modified on February 16, 2024

          Introduction

          Open source doesn’t just mean access to the source code. The distribution terms of open source software must comply with the following criteria:

    • Truscape@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      21
      ·
      1 month ago

      Modloaders also mainly exist due to the onerous terms of any mojang/minecraft API for java edition that would exist - Forge/Fabric/etc… are designed to rip open the game and then stitch it back together with the desired goodies. Anything official would probably still have strings that would bind the modders, so modders won’t embrace the system wholeheartedly (similar to how datapacks can’t replace mods).

    • Warl0k3@lemmy.world
      link
      fedilink
      English
      arrow-up
      47
      ·
      edit-2
      1 month ago

      As I understand it no, the modloaders will still handle things like file management and conflicts and load orders and etc. Individual mods could implement solutions for that, but it makes more sense to centralize that effort around the modloaders.

      What this will do is make it much less tedious to develop the mods in the first place.

      (I may be wrong and the role of modloaders may have changed in the six years since I was last active in the modding scene without my knowing it)

  • gnu@lemmy.zip
    link
    fedilink
    English
    arrow-up
    37
    ·
    1 month ago

    Can’t say I saw that coming, particularly after Microsoft bought them. Nice to have a surprise be pleasant once in a while.

  • mlg@lemmy.world
    link
    fedilink
    English
    arrow-up
    30
    arrow-down
    1
    ·
    1 month ago

    Finally we can view Mojang’s shitty server multi-threading implementation in all its glory.

    spoiler

    ___

  • NotSteve_@piefed.ca
    link
    fedilink
    English
    arrow-up
    7
    ·
    1 month ago

    I’m not super familiar with Java, but does this mean Java edition is basically source available, or is it still compiled Java bytecode but with proper variable names?

      • addie@feddit.uk
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 month ago

        Indeed - most Java IDEs have FernFlower built in, so it’s dead easy.

        Decompiled Java is surprisingly close to the original, especially compared to eg. decompiled C++; good luck with that. You get all the class, function and variable names back on the original line numbers.

        What you do not get back is any comments. So you can see what and how, but not why. Admittedly, most comments are kind of useless and do not explain ‘why’ very well, but for weird-but-critical code they can be essential.

  • Unattributed 𓂃✍︎@feddit.online
    link
    fedilink
    English
    arrow-up
    25
    arrow-down
    4
    ·
    1 month ago

    Not only do I think this will generate a fair number of CVE’s, I think there will be a lot of optimization of the code going on.

    Look at what happened with OpenOffice a few years back – the Oracle buyout of Sun Microsystems forced the forking of OpenOffice to LibreOffice – during which the new Dev team took the time cleanup and refactor the code. This resulted in a suite that was about 10 percent smaller, and removed a bunch of redundant things (like multiple copies of icons).

    I bet we see something similar with Minecraft – even if it can’t be an “authorized” version.

    • DaPorkchop_ [any]@lemmy.ml
      link
      fedilink
      English
      arrow-up
      23
      ·
      1 month ago

      This doesn’t really change too much for the modding scene, it just allows the deobfuscation step to be skipped when setting up a dev environment. Mojang has already been providing official deobfuscation mappings for years, and before that we had community-made ones which were already pretty great.

      There are already plenty of mods which drastically overhaul how major parts of the game work to get better performance, and there are some projects like Gregtech: New Horizons and CleanroomMC which have pretty much completely torn apart and rebuilt the game on older versions from before official deobfuscation mappings were even available.

      • Unattributed 𓂃✍︎@feddit.online
        link
        fedilink
        English
        arrow-up
        5
        ·
        1 month ago

        Right, but this means these efforts can be undertaken on the current release, and done without having to work around Mohjang’s obfuscation.

        Removing this kind of barrier is a major change. Less time will be spent on trying to understand code that has been obscured from view. It will be easier to ensure “correctness” in code that is optimizing the server (ie, that new code will not break internal dependencies). It will be easier to ensure compatibility between the official release and community based extensions.

        I understand that the modding community has been able to do a lot up to this point…(I play on an optimized modpack). But, I’m betting this will actually produce a larger jump in terms of the efficiency of all codebases - including Mohjangs. Just the reports that document issues (not CVE level issues) for Mohjang will lead to them improving the base code.

        • DaPorkchop_ [any]@lemmy.ml
          link
          fedilink
          English
          arrow-up
          2
          arrow-down
          1
          ·
          1 month ago

          My point is that literally nobody has been looking at obfuscated code for at least 5 years by now. All the toolchains automatically handle de- and reobfuscation transparently to the point that nobody has to think about it anymore unless maybe you are one of the like 3 people who is actually maintaining the classloading stage of a modloader, or if you are manually writing a bytecode transformer (which almost nobody has needed to do for years either, ever since tools like Mixin entered the scene).

          For 99.9% of the modding community, and this includes most optimization mods, the only thing that is going to change is everyone deletes a line or two from their build.gradle and continues about their day.

          As far as reporting things to Mojang: again, nothing changes here either, everyone who has ever set up a mod dev environment already has a copy of the deobfuscated source code on their computer, which is the only thing they are looking at when inspecting the minecraft source code or making changes to it. There have been reports on the issue tracker with actual suggested code changes basically since the issue tracker became a thing.

          • Unattributed 𓂃✍︎@feddit.online
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 month ago

            Okay - I am a bit of a dreamer, but I hope that Mojang dropping the obfuscation side of things is a sign that they are interested in working more closely with the community.

            Of course, if I were to put on my pessimistic hat, I might think this is a move for Mojang to distance themselves from the Java edition as it’s likely that Microsoft thinks from a business perspective focusing on Bedrock is a better deal.

        • brucethemoose@lemmy.world
          link
          fedilink
          English
          arrow-up
          4
          ·
          edit-2
          1 month ago

          It has. There have been major rewrites of parts of the codebase, like Sodium, Cubic Chunk, server frameworks, just to start.

          Major performance issues, and associated code fixes, have been repeatedly reported to Mojang’s tracker.

          The issue is that any major modification is inherently incompatible with other major modifications, hence most persist for one version (or a few) before the devs burns out maintaining it. There are two solutions to this:

          • Get Mojang to pull in large optimizations. Thus far, they have been uninterested in this (though some controversy over Optifine may have left a bad taste).

          • Pull the changes into a modding framework. Understandably, Fabric/Forge aren’t willing to pull in a huge overhaul they’d have to maintain. Mojang may have similar feelings.

          Some modifications (like Sodium) minimize vanilla changes to prioritize compatibility, and are popular to the extent that some other mods implement workarounds for them specifically. But this is rare, and it’s still problematic.

          • Unattributed 𓂃✍︎@feddit.online
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 month ago

            Get Mojang to pull in large optimizations. Thus far, they have been uninterested in this (though some controversy over Optifine may have left a bad taste).

            I remember that. I think the issue there was it mostly handled badly… It seemed like Mojang was trying to go behind the communities back (which I thought sounded a lot like the way Microsoft does things…so I blamed them instead of Mojang). IMO - if this is an era of more open-collaboration it may be possible for Mojang to benefit from working with the community. (There is an excellent example of this in the way AMD has worked with the Open Source community…)

            Pull the changes into a modding framework. Understandably, Fabric/Forge aren’t willing to pull in a huge overhaul they’d have to maintain. Mojang may have similar feelings.

            I can see that too… That’s why I am thinking that it might be possible for there to be a more collaborative effort… Like a repository set up where community devs can submit PR’s for changes, and Mojang can either approve or deny them. If that started working well, I could see a situation where there are specifically Mojang employed community devs, the role of working on changes that will help both the main Minecraft tree and the modding community.

            (Okay, I am probably more optimistic than I should be – after all Microsoft is in the mix here…)

            • brucethemoose@lemmy.world
              link
              fedilink
              English
              arrow-up
              2
              ·
              edit-2
              1 month ago

              Yeah, that sounds dreamy. It could certainly work.

              And yeah, the problem is not just Microsoft but Mojang. Mojang is an extremely conservative/careful dev, even before they got bought by MS. It’s why the game hasn’t enshittified too bad, but also why development seems to move so slow for arguably the biggest game on Earth.

              Collaborating via a repo like that would be… a lot.

              Again, it’d be awesome and I think it would work, but it would be a massive step even if Microsoft wasn’t in the picture.

              • Unattributed 𓂃✍︎@feddit.online
                link
                fedilink
                English
                arrow-up
                2
                ·
                1 month ago

                Yeah, Mojang’s conservative development style is arguably the reason for Minecraft’s success, while also being a source of frustration and friction for the community, IMO.

                MS is another story altogether, though. While Mojang is a very thoughtful company, MS is driven by profit. I’m honestly surprised there aren’t more collisions between the two cultures.

  • ZoteTheMighty@lemmy.zip
    link
    fedilink
    English
    arrow-up
    129
    arrow-down
    2
    ·
    1 month ago

    So, what’s the catch? Surely Microsoft and Mojang didn’t just suddenly become good?

    • Serinus@lemmy.world
      link
      fedilink
      English
      arrow-up
      13
      arrow-down
      3
      ·
      1 month ago

      I wonder how good AI is at deobfuscating code. It seems like the kind of thing it might be good at.

      • Cethin@lemmy.zip
        link
        fedilink
        English
        arrow-up
        9
        arrow-down
        2
        ·
        1 month ago

        With how bad it is at writing it, I’m guessing similarly bad. It’ll do something, but odds are it introduces a ton of errors that you then have to track down. That’s the best case. Worst case, it just creates something totally different that looks similar to the input but doesn’t do the same thing.

    • Prove_your_argument@piefed.social
      link
      fedilink
      English
      arrow-up
      120
      arrow-down
      1
      ·
      1 month ago

      The monkeypaw says they will stop updates for the java edition or release a new version that doesn’t work on the java edition.

      They probably see how many sales are generated from the free work done by modders though. If someone wants to come along and do for free the thing you might have to actually pay designers, developers, artists and all the support staff for and they still need to pay you to play it, you’d be foolish not to encourage the exploitation of free labor.

      • lepinkainen@lemmy.world
        link
        fedilink
        English
        arrow-up
        21
        ·
        1 month ago

        Young generations and mobile players are on bedrock

        Everyone else plays Java where you can easily self-host a server

      • ChapulinColorado@lemmy.world
        link
        fedilink
        English
        arrow-up
        6
        ·
        1 month ago

        I was thinking the same thing. If the de-obfuscation tools are already out there, it might cost them more money to keep that layer. Their developers also have to use it to read the crash logs and the like from the sounds of it. Less layers = less maintenance = less cost. More mods = keeps the game relevant.

          • Trainguyrom@reddthat.com
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 month ago

            Complete with microtransactions and a horrible lack of customizability! Seriously I just wanted to play some Minecraft in RTX but you literally can’t use the nVidia RTX stuff outside of the demo maps, otherwise you have to purchase a different texture pack with real money. And basically everything in the Bedrock Marketplace costs real money, and very little is free.

            Meanwhile Java edition doesn’t have any paid content in part because the original Minecraft license specified anyone was free to make mods and custom content but were explicitly restricted from charging money for it

      • LiveLM@lemmy.zip
        link
        fedilink
        English
        arrow-up
        54
        ·
        edit-2
        1 month ago

        Call me ignorant, if this happened and it brought a new golden era of modding (1.7.10 style) where everyone’s playing the same version I’d be maybe the happiest player ever.
        Modders backporting content is nothing new, hell, they even brought the mobs that didn’t make the cut from those stupid mob votes to life.
        Let modding become the new updates, fuck it. At this point they’d likely be better realised than Microsoft’s efforts.

        • CertifiedBlackGuy@lemmy.world
          link
          fedilink
          English
          arrow-up
          9
          ·
          1 month ago

          1.7.10

          Y’all can try and pull it from my cold, dead hands.

          I should boot up the ol modpack and see what it do—oh, right, it crashes 🥹

      • Honytawk@lemmy.zip
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 month ago

        If that happens, the modding scene would boom incredibly

        And you’d have some smart nerds who take it upon them to keep updating the game much better than Mojang ever could.

        It would become open source almost

    • ayyy@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      11
      ·
      1 month ago

      It’s a 20 year old game going into abandonware mode. This is the nicest way for them to do that.

      • IngeniousRocks (They/She) @lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        26
        arrow-down
        1
        ·
        1 month ago
        1. Its 16, not 20, the earliest version “Cave Game Tech Test” was in May 2009.

        2. They’re still actively pushing updates, a really big one is scheduled for the holiday season. Additional biomes and mini-bosses were added last year with structures hinting at development plans for a 4th dimension. The lighting engine is being actively redone.

        Minecraft is absolutely not gearing down into abandonware mode.

    • atopi@piefed.blahaj.zone
      link
      fedilink
      English
      arrow-up
      14
      ·
      edit-2
      1 month ago

      Havent they been making changes to help mod/datapack development for a while?

      Modding is such a big part of the game, helping it would get more people playing the game

      • SuperDuperKitten@lemmy.blahaj.zone
        link
        fedilink
        English
        arrow-up
        10
        ·
        1 month ago

        They made “datapack” which is a way of playing with mods without having to use third-party mod loaders like Forge and Fabric but (don’t quote me on this as I’m not a mod developer) it’s not as powerful compare to the mod loaders.

          • Xylight@lemdro.id
            link
            fedilink
            English
            arrow-up
            3
            ·
            1 month ago

            Not sure if it’s just what they want, it’s mostly that Minecraft’s spaghetti code had a lot of things hardcoded. Lately they’ve been changing a lot of things to be data-driven, and able to be changed by datapacks

    • wabafee@lemmy.world
      link
      fedilink
      English
      arrow-up
      47
      ·
      edit-2
      1 month ago

      I guess it just doesn’t make sense to obfuscate it when mods in general runs the Minecraft community in turn making more profit to Mojang/Microsoft. My other suspicion is potential competition. There is this game called Vintage Story which kinda directly competes with Minecraft seems gaining ground and was built to be moddable from the start.

      • PlexSheep@infosec.pub
        link
        fedilink
        English
        arrow-up
        4
        ·
        1 month ago

        Exactly. Community bindings do exist and are used over the official bindings already, and I think the source code obfuscation is just an annoyance by now.

    • PlexSheep@infosec.pub
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 month ago

      That would be good though. Better the communities finds them and they can be patched than when only some black hats know them.

    • Rob Bos@lemmy.ca
      link
      fedilink
      English
      arrow-up
      56
      ·
      1 month ago

      Unironically, me too. They’re there now, waiting to be discovered. We can find them now on our terms or be surprised by them later.

    • DanWolfstone@leminal.space
      link
      fedilink
      English
      arrow-up
      19
      ·
      1 month ago

      Wasn’t log4j originally found by 2b2t players, then used maliciously and reported later on, then going onto get fixed by every major server framework like bukkit, paper, fabric, and more?

      • sus@programming.dev
        link
        fedilink
        English
        arrow-up
        18
        ·
        edit-2
        1 month ago

        Nah, it was found sometime before november 24 2021, publicly disclosed in december 9 2021, and only used by 2b2t players on december 10 2021.

    • brucethemoose@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 month ago

      Do you play on a server?

      I haven’t found fun modded ‘communities’ since like 1.7.10. All Forge modded servers I’ve tried either seem to be ‘commercial’ servers with zero render distance and basically no community, or ghost towns.

      • DarkAri@lemmy.blahaj.zone
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 month ago

        I’m playing on moddedmc.net or something rn. There isn’t many on the server. I haven’t played in a few years and so I’m making my rounds. I don’t have any friends especially with a PC so I mostly just solo by myself for a few weeks until I get bored.

  • Treczoks@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 month ago

    Obfuscation got more and more useless, as there was a serious pressure that AFAIK even tools popped up to specifically de-obfuscate Minecraft.

    • JackbyDev@programming.dev
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 month ago

      They’ve had something for quite a while now that made it so names weren’t changed between releases so stuff would work better. I don’t remember what it’s called. Like it used to be that a new version meant figuring out everything again.

  • Lena@gregtech.eu
    link
    fedilink
    English
    arrow-up
    6
    ·
    1 month ago

    Oh, wow. Just reading the title made me really excited about this.

    I don’t really care what their incentive for this was, it’s a good move for the community.