Live data from Hacker News

Minecraft removing obfuscation in Java Edition

minecraft.net

381–390 of 478 posts

Re: Minecraft removing obfuscation in Java Edition

#381

Earlier quoted context omitted.

PaperMC exclusively uses Mojang mappings, and it's the most popular loader for server-side modding these days.

Paper isn’t a mod loader, it uses Fabric under the hood. Also, what makes you think it’s the most popular server? I thought it was fading. I switched my server from Paper to Fabric years ago.

I've recently been setting up a velocity server network for some friends and friends of friends, and I agree with your findings. I don't have much history on Forge vs Paper vs Fabric vs..... (and found it all very overwhelming, honestly) but from what I can tell, the popular sites like modrinth have communities way more focused around Forge/NeoForge.

Paper does seem to have it's own site for plugins, hangar or something? (Don't have my web history on this PC) but the community support doesn't seem nearly as fleshed out.

It is incredible though, before 1.21 the last time I played around with MC server hosting was probably around 1.8 days, when it seemed like you only had Bukkit and a few plugins for it

Re: Minecraft removing obfuscation in Java Edition

#382
I hope Claude Code follows the same path. It's just wrong to have such a key tool in your development toolchain obfuscated. Changes to CC reflect in the way I work. I've been modding the app for ever now. Something as simple as evalling prompt changes, or finding ways to optimize context. Just make it OSS, like Codex. To add insult to injury, Claude has coined some key industry standards, such as MCP, now Skills. It also supports plugins, inviting others to release their plugins as OSS on Github [1], while their core remains proprietary.

[1] https://www.anthropic.com/news/claude-code-plugins#:~:text=P...

Re: Minecraft removing obfuscation in Java Edition

#383
post #137

Earlier quoted context omitted.

More proof that you don't need the source code to modify software. Then again, Java has always been easy to decompile, and IMHO the biggest obstacle to understanding is the "object-oriented obfuscation" that's inherent in large codebases even when you have the original source.

First time I have heard of object-oriented obfuscation. I get it, but in general I don't get the OO hate. It's all about the problem domain imo. I can't imagine building something like a graphics framework without some subtyping. Unfortunately, people often use crap examples for OO. The worst is probably employee, where employee and contractor are subtypes of worker, or some other chicanery like that. Of course in th…

OOP is just not how computers work.

Computers work on data. Every single software problem is a data problem. Learning to think about problems in a data oriented way will make you a better developer and will make many difficult problems easier to think about and to write software to solve.

In addition to that, data oriented software almost inherently runs faster because it uses the cache more efficiently.

The objects that fall out of data oriented development represent what is actually going on inside the application instead of how an observer would model it naively.

I really like data oriented development and I wish I had examples I could show, but they are all $employer’s.

Re: Minecraft removing obfuscation in Java Edition

#384
post #137

Earlier quoted context omitted.

More proof that you don't need the source code to modify software. Then again, Java has always been easy to decompile, and IMHO the biggest obstacle to understanding is the "object-oriented obfuscation" that's inherent in large codebases even when you have the original source.

First time I have heard of object-oriented obfuscation. I get it, but in general I don't get the OO hate. It's all about the problem domain imo. I can't imagine building something like a graphics framework without some subtyping. Unfortunately, people often use crap examples for OO. The worst is probably employee, where employee and contractor are subtypes of worker, or some other chicanery like that. Of course in th…

Yeah, I agree with you, and actually like OOP where it's appropriate.

Unfortunately there were so many bad examples from the old Java "every thing needs a dozen factories and thousands of interfaces" days that most people haven't seen the cases where it works well.

Re: Minecraft removing obfuscation in Java Edition

#385

Earlier quoted context omitted.

Does copyright apply to variable names?

Given the Oracle v Google decision, the likely answer is yes. But then there’s a fair use argument to be made.

I was initially a little confused at your comment. I had thought the decision was against Oracle being able to sue for use of the Java API.

Reading a little closer, the decision was that even assuming the API copyright claim was valid, Google's use of the API was fair use.

> In April 2021, the Supreme Court ruled in a 6–2 decision that Google's use of the Java APIs served an organizing function and fell within the four factors of fair use, bypassing the question on the copyrightability of the APIs. The decision reversed the Federal Circuit ruling and remanded the case for further review.

https://en.wikipedia.org/wiki/Google_LLC_v._Oracle_America,_....

Re: Minecraft removing obfuscation in Java Edition

#386
post #308

Earlier quoted context omitted.

I don't even think open sourcing Minecraft would hurt them financially. People don't buy Minecraft because that's the only way to play the game; it's not, it's easy to find ways to run Minecraft for free. The reason people buy it is to join servers. Most serious servers only allow players with valid paid Minecraft accounts to join, because it allows the server owner to ban people or otherwise keep track of people. I…

People could set up 3rd party auth systems and eliminate the need for mojang

Maybe, but the "paying" is load-bearing, because you need to prevent banned people from just creating new accounts.

Sure a different approach might be possible, but would likely also hinder adoption of such a 3rd party account system.

Re: Minecraft removing obfuscation in Java Edition

#387
post #20

Earlier quoted context omitted.

But the only version that matters is 1.20.1!

In reality, Minecraft gets less Minecrafty in every update, and your baseline is whenever you bought it. I bought the game after they added fences and fishing rods and before the Nether. The nether ruined the game, beds ruined the game, hunger ruined the game, potions, enchantments, villager trading, and hoppers ruined the game, but redstone and minecarts and dungeons didn't ruin the game because those were added bef…

I bought it like, 15 years ago, and have enjoyed most updates, though certainly not all. I would not say anything "ruined" the game; I was just making a joke about which versions mod developers support

Re: Minecraft removing obfuscation in Java Edition

#388

Earlier quoted context omitted.

That's definitely true, and I think that's a testament to Minecraft / Java's strong OO design—it dovetails very nicely with the Open/Close principle. However my view is that for a mod to be a mod, there's always going to be stuff that you can't/shouldn't implement just with datapacks—whether that's complex rendering features, new entity logic, or whatever. The Mixin processor makes it really easy to build these kinds…

These tools sound very powerful, could they find use for other Java codebases?

I don't know where you'd use it besides modding, but it is a general-purpose framework: https://github.com/SpongePowered/Mixin

Re: Minecraft removing obfuscation in Java Edition

#390
post #308

Earlier quoted context omitted.

I don't even think open sourcing Minecraft would hurt them financially. People don't buy Minecraft because that's the only way to play the game; it's not, it's easy to find ways to run Minecraft for free. The reason people buy it is to join servers. Most serious servers only allow players with valid paid Minecraft accounts to join, because it allows the server owner to ban people or otherwise keep track of people. I…

People could set up 3rd party auth systems and eliminate the need for mojang

You can already do that and some do. Mojang, for some incomprehensible reason, even lets you disable auth in the official server's settings (`online-mode=false`).
Post reply on HN