Minecraft removing obfuscation in Java Edition
45 comments
·October 29, 2025pwdisswordfishy
Macha
A lot of mod tooling was built around the obfuscated or community names for those APIs.
gs17
I wouldn't worry too much about it breaking anything with how version-specific modding already is. And by the time the full release is out, I'm sure every tool will have updated based on the new names from the snapshots.
rirze
If I had to guess, the legal team's brains started melting when de-obfuscation was mentioned.
armchairhacker
Minecraft, Roblox, Geometry Dash, Trackmania...these are games that succeeded because of their communities. Alone, they don't provide much for the average player, but creative players build interesting things that appeal to everyone.
I think one of the reasons Vision Pro and metaverse have been struggling is because their engines are bad. Not just locked down, but hard to develop on (although I don't have personal experience, I've heard this about VR in general). If you want to build a community, you must make development easy for hobbyists and small users*. I believe this has held even for the biggest companies, case in point the examples above.
* Though you also need existing reputation, hence small companies struggle to build communities even with good engines.
astrobe_
You can add the Flight Simulator series to the list, which spawned a vast ecosystem of add-ons, both free and commercial.
I believe though, that what you actually need as a big or small company, is good game first and foremost; the engine is secondary. When the community around a game reaches a critical mass, the very small percentage of its members who have the skills to modify things becomes significant as well.
For instance, Richard Burns Rally was not intended to be modded at all, yet the fans added new cars, new tracks, online scoreboards, etc.
In the Luanti [1] community (a voxel games engine/platform, designed to be moddable nearly from the start), one begins to see something similar as well: notable games gets mods, others don't (the former default game is a particular case; it is not exactly good but go tons of mods because of its status, and games based on it benefit from that ecosystem). Yet all use the same engine (perhaps Roblox is similar in that respect, I'm not sure if they have "reified" whole games like Luanti did).
maeln
> I think one of the reasons Vision Pro and metaverse have been struggling is because their engines are bad. Not just locked down, but hard to develop on (although I don't have personal experience, I've heard this about VR in general). If you want to build a community, you must make development easy for hobbyists and small users*. I believe this has held even for the biggest companies, case in point the examples above.
Unity and UE have pretty good VR support nowadays, and even godot is getting there. Plus making a custom engine for VR was never that much harder than for a normal 3D game (well, once some API like OpenXR got normalized).
The big issue with VR right now is that it is more costly to develop for than normal apps and games, while having less user. It makes it a hard sell. For some indie dev, I allow them to profit from a market that is not yet saturated (right now, with no good marketing, you just get buried on steam, any app store, etc). There are many factors that make it more costly, like having to support several mobility and accessibility features for games (for example smooth and jump locomotion, reduce fov when moving the view, etc), that you usually don't have to care for in other plateform. And there is the issue of interactivity. UX (and in many ways UI) is still very far from ideal. Most VR apps and games just try things out, but there is still a world of pattern and good practice to build up. This makes using anything VR often an annoying experience. Especially since some issue can be an absolute no-go for some user. As an example, displaying subtitle in a 6dof environment can be tricky. Some game put it at a fix point of your view, which can cause nausea and readability problem, some move still follows the head/view but with a delay, which reduce nausea issue but can be distracting and also has readability issue (the subs can go out of view).
jon-wood
The other reason being that nobody is asking for The Metaverse, and definitely don’t want to spend huge chunks of cash on a funny hat to wear in order to access it.
beeflet
Some people are asking for The Metaverse. Currently, the entire VRChat userbase. But you're right that there is not a large population of people willing to throw cash at it outside of a minority of virtual furries
kragen
Probably half the people who grew up with Instagram cat filters are furries now.
kg
Critically, VRChat works on desktop (though it's an inferior experience), and you can incrementally enhance your experience with it by doing things like webcam face/hand tracking instead of buying an expensive headset.
kragen
A lot of people seem to be spending huge chunks of cash on enormous monitors, dual monitors, curved monitors, etc., and the appeal of that is mostly that it gets you a little bit closer to wearing a head-mounted display.
shermantanktop
Makes sense that a primate with front-facing eyes that is both predator and prey would prefer to look at things at arms length rather than encase their head in a cocoon that is designed to block environmental awareness.
mikkupikku
Monitors load my desk, not my neck.
stronglikedan
The Meta Quest is very easy to develop for. There's tons of games of all caliber from solo devs up to full studios. The reason the Metaverse is failing is because no one wants it, even though they keep shoving it down people's throats. VR gamers just want to play games, not dick around in "worlds". Meta is tone deaf to this.
Mr_Bees69
UE5 is decent for vr.
bigyabai
> Not just locked down
The lockdown is a big part of it, though. The industry has cross-platform VR/AR SDKs like OpenXR that Apple refuses to implement. A big reason their platform isn't supported day-and-date with multiplat VR releases is Apple's insistence on reinventing the wheel with every platform they make.
If the rumors of Valve's VR headset being able to run flatscreen games are true, it's more-or-less Game Over for the Vision Pro. The appetite for an iPad-like experience with six DOF is already handled by much cheaper machines.
armchairhacker
Many creative people don’t care about being “locked in”, since they already make mods that can be broken by updates (and often are, unintentionally) and threatened legally (for violating IP and DRM). I think the much bigger problem with locked-down engines is simply that the lockdown methods used make it harder to develop on them.
giancarlostoro
I wonder if they'll ever just open source the Java Edition on GitHub. People will buy Minecraft on every platform it is released on, just like Skyrim.
mikkupikku
There's no reason for them not to. Open source launchers using the "honor system" for account verification are already established and normalized. It's trivial to just comment out that verification. The jars and assets are free to download from Microsoft's servers without needing an account. It's a trivial game to get without paying, so I don't see any downside for them to open source the engine.
szundi
[dead]
throwaway48476
More games should be open source like doom. It doesnt effect the art assets which are still copyrighted.
jsheard
Unfortunately that's usually out of the developers hands, very few actually own their entire codebase nowadays. Doing everything from scratch isn't tenable for most projects. Even when they have an "in-house engine" it's usually still tangled up in a dozen proprietary middleware libraries and NDA'ed console SDKs.
Doom being open sourced was half down to Carmack wanting to do it, and half down to Doom 3 being about the tail end of when a small team could roll everything on their own.
PaulKeeble
As I understand it way back in the early Beta days of Minecraft obfuscation was added to avoid mods being embedded into the JAR and it being released as a combination enabling piracy of the game with mods embedded.
This has been a pain to workaround for years as the modding scene has gotten bigger. Hopefully this makes modding a bit more accessible.
kevincox
I'm pretty excited this but for a slightly strange reason. I have a little monitor for the logs that posts things like player joins and deaths to a chat room. It is fun and also encourages people to hop on the server when someone joins.
However the source information was always missing and strange in the logs making matching some messages difficult. Hopefully this will make more messages more unique so that I can easily match the ones I am interested in.
squigz
For those in the modding scene, what difference, if any, will this make? Will this enable anything that was previously not possible?
yrxuthst
Main difference for NeoForge developers will be method parameter names in the IDE, the current mapping doesn't include those. We have community mappings (Parchment) for common methods, but there are a lot of less used functions that just have decompiler names. I don't use Fabric so I'm not sure how it will affect those devs.
VikingCoder
At a guess, it will enable quicker updates on major revisions, where things move around a lot. There will be less reverse-engineering needed.
axus
It's possible that the de-obfuscated symbols will be more backwards-compatible, since they don't need to change with every minor release. Though I'd imagined Forge and Fabric were supposed to provide a stable platform, yet plugins for those still need a different jar for every minor version.
Traubenfuchs
I'd like to see a benchmark between the obfuscated and non obfuscated version.
xxs
same, except for meta space used - the class/variable names don't have pretty much any meaningful impact on java runtime, when the code is JIT'd. Even before (interpret mode) that the className/fields/methods are just references in the constant pool
PaulKeeble
The files will be a little smaller obscured but it doesn't usually impact much other than RAM usage. The algorithms are all the same. Given the size of methods for being JIT compiled is token based not text size I don't think it even impacts that choice. So expect it to be identical.
internetter
Probably virtually the same. If I recall, the "obfuscation" was mostly mangling
Traubenfuchs
Luckily I have never had to deal with obfuscation, but from what I have seen there are some grotesque things like defining every single randomly named method call in an array or map with random order or weirdly combining or tearing apart methods.
The only time I encountered it was when I was working for the government, we were working on the rules that decide who gets audited in depth by the tax police. The .jar it compiled to was obfuscated.
wtallis
My decade-old recollection is also that Minecraft's obfuscation didn't do anything structural, just mangled class and method names. Think of it more like JavaScript minification than a serious attempt to thwart reverse engineering.
> But we encourage people to get creative both in Minecraft and with Minecraft – so in 2019 we tried to make this tedious process a little easier by releasing “obfuscation mappings”. These mappings were essentially a long list that allowed people to match the obfuscated terms to un-obfuscated terms. This alleviated the issue a little, as modders didn’t need to puzzle out what everything did, or what it should be called anymore. But why stop there?
Indeed, why did they even bother with this half-measure in the first place?