Live data from Hacker News

Minecraft removing obfuscation in Java Edition

minecraft.net

91–100 of 478 posts

Re: Minecraft removing obfuscation in Java Edition

#91
post #53

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 ex…

Roblox had a phenomenal engine when it came out and its terrain destruction is still unmatched. In 2006, I could download the Roblox app and bam, I would play thousands of 3D multiplayer games for free that loaded near instantly. With fully destructible buildings and dynamic terrain. Somehow I didn't get viruses from remote code execution. That was groundbreaking at the time. In that era, I'd have to download Steam,…

how big was Roblox in 2006?

> In that era, I'd have to download Steam, buy individual games like Counterstrike, and the wackiest thing would be the "surf" gamemode.

You could also play any Source mod. Also WC3 maps were insane at the time.

Re: Minecraft removing obfuscation in Java Edition

#92

Earlier quoted context omitted.

Me too. Having only a vague familiarity with the game, I thought that mods were using some official plugin system. I had no idea that minecraft modders (presumably kids/teens?) were not only reverse engineering things but also creating an entire ecosystem to work around proguard.

Not only working around proguard, but Minecraft mods are built on top of an incredibly cool and flexible runtime class file rewriting framework that means that each JAR can use simple declarative annotations like @Inject to rewrite minecraft methods on the fly when their mod is loaded or unloaded. This massively revolutionized mod development, which was previously reliant on tens of thousands of lines of manually com…

The devs for Java Edition really have mods in mind nowadays.

- They left in the code debug features that they used to strip out.

- They left in the code their testing infrastructure that they used to strip out as well.

- They started making everything namespaced to differentiate contents between mods (like in this week's snapshot they made gamerules namespaced with the "minecraft:" prefix like items and blocks and whatnot)

- They are adding a lot more "building blocks" type features that both allow new /easier things in datapacks, and in mods as well.

Method patching with Mixins is less needed now because the game's internal APIs are more versatile than ever.

Re: Minecraft removing obfuscation in Java Edition

#94

It's extraordinary to me that Minecraft is both the game that has the most robust mod community out there and that the modders were working from obfuscated, decompiled Java binaries. With elaborate tooling to deobfuscate and then reobfuscate using the same mangled names. For over a decade! What dedication.

To be fair, since 2019 Mojang has been providing the mappings instead of everyone having to use community-created ones.

Re: Minecraft removing obfuscation in Java Edition

#95

Earlier quoted context omitted.

Probably virtually the same. If I recall, the "obfuscation" was mostly mangling

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 c…

For Minecraft it’s just removing names and replacing them with random strings

Re: Minecraft removing obfuscation in Java Edition

#96

Earlier quoted context omitted.

I am terrified by Minecraft mods always being distributed from dodgy download sites and not rarely come with their own Windows EXE installers. And as far as I know there is no sandboxing at all in the game (uhm, no pun intended) so once installed the mod has full access to your computer?

This is not the norm these days! There are popular mod loaders like curseforge that pulled from moderated repositories. It’s still not bulletproof, but a far cry from trusting some installer executable

I prefer modrinth as well, both are good but curseforge has done some things which makes us require an api etc. for true automation where modrinth is genuinely nice.

I used to use prism launcher which would just give me a search box and It on the side would have things like modrinth / curseforge etc., Usually I preferred Modrinth but there were some modpacks just on curseforge only but I never really downloaded a shady modpack from some random website aside from these two, In fact sometimes I never opened up a website but just prismlauncher itself lol

Re: Minecraft removing obfuscation in Java Edition

#97
post #13

For those in the modding scene, what difference, if any, will this make? Will this enable anything that was previously not possible?

At a guess, it will enable quicker updates on major revisions, where things move around a lot. There will be less reverse-engineering needed.

They were already releasing official mappings.

Re: Minecraft removing obfuscation in Java Edition

#99

It's extraordinary to me that Minecraft is both the game that has the most robust mod community out there and that the modders were working from obfuscated, decompiled Java binaries. With elaborate tooling to deobfuscate and then reobfuscate using the same mangled names. For over a decade! What dedication.

[deleted]

Re: Minecraft removing obfuscation in Java Edition

#100

> 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 call…

Perhaps it was easier? There were also probably legal reasons.
Post reply on HN