On the other, I'd assume this means that any official modding support is now stone dead and will never happen.
Minecraft removing obfuscation in Java Edition
291–300 of 478 posts
Re: Minecraft removing obfuscation in Java Edition
#292As 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.
This already changed A LOT when Forge and later Fabric came out, with a simple patch system akin to BepinEx and a mods folder.
Re: Minecraft removing obfuscation in Java Edition
#293It'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.
In 2004 I played an MMO game on a pirated server. The owner of the server somehow got a version of the server binary, and used a hex editor (!) to add new features to the binary over time. It's the closest I've ever see to someone literally being one of the hackers from Matrix, literally staring at hexadecimal and changing chars one at a time
Re: Minecraft removing obfuscation in Java Edition
#294Earlier quoted context omitted.
So we're not talking about runtime performance, but some minor improvement in loading times? I assume that once the JVM has read the bytecode, it has its own efficient in-memory structures to track references to classes rather than using a hash map with fully qualified names as keys
Proguard was heavily influenced by the needs of early Android devices, where memory was at a real premium. Reducing the size of static tables of strings is a worthwhile optimisation in that environment
Re: Minecraft removing obfuscation in Java Edition
#295On the one hand, great; should hopefully mean the monkey-patching by mods isn't quite as fragile as it is once you get into a decent number of installed mods. On the other, I'd assume this means that any official modding support is now stone dead and will never happen.
> I'd assume this means that any official modding support is now stone dead and will never happen.
I was a bit surprised to read this because talk of modding support had been on the radar since notch days, it's wild to me that this hasn't happened yet.
Re: Minecraft removing obfuscation in Java Edition
#296I consider Microsoft to be genuinely evil as an institution, but this is still nice to see.
The inner platform effect is when, in an effort to make it so people don't have to use the original programming language because programming is complicated, you create a worse programming language and make people use that. In Minecraft, it's data and resource packs. The Java code isn't just a function on the block that renders it, any more - there's a bunch of indirection through resource packs, and they've gone abstraction hell with that too, adding unnecessary abstractions in the way of the actual abstraction they want.
Re: Minecraft removing obfuscation in Java Edition
#297I would rather see allowing creators to monetize their Java edition mods again, and to get rid of their restrictive rules on mods. The old version of the EULA actually gave people a lot of freedom, but then they changed the rules on everyone and locked it down. Obfuscation is not a true problem compared to those.
Re: Minecraft removing obfuscation in Java Edition
#298Earlier quoted context omitted.
I am currently being radicalised against OOP because of one specific senior in my team that uses it relentlessly, no matter the problem domain. I recognise there are problems where OOP is a good abstraction, but there are so many places where it isn't. I suspect many OOP haters have experienced what I'm currently experiencing, stateful objects for handing calculations that should be stateless, a confusing bag of meth…
Separation of data and algorithm is so useful. I can't really comment on how your senior is doing it, but in the area of numeric calculations, making numbers know anything about their calcs is a Bad Idea. Even associations with their units or other metadata should be loose. Functional programming provides such a useful intellectual toolkit even if you program in Java. Sorry to learn, hope you don't get scar tissue fr…
Re: Minecraft removing obfuscation in Java Edition
#299Earlier quoted context omitted.
Should make it easy to have mods running on latest releases.
But the only version that matters is 1.20.1!
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 before I bought it, see? If you bought it today, you wouldn't think hunger ruined the game, you'd rather think I took away a good feature if I showed you a version without hunger.
Re: Minecraft removing obfuscation in Java Edition
#300It'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.