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, the tooling existed before Minecraft and they published obfuscation maps that map the obfuscated names to the non obfuscated ones.
Minecraft removing obfuscation in Java Edition
301–310 of 478 posts
Re: Minecraft removing obfuscation in Java Edition
#302Earlier quoted context omitted.
For me, it's the fact that the mess of DAOs and Factories that constituted "enterprise" Java in the 00s was a special kind of hellscape that was actively encouraged by the design of the language. Most code bases don't need dynamically loaded objects designed with interfaces that can be swapped out. In fact, that functionality is nearly never useful. But that's how most people wrote Java code. It was terrible and taug…
> Most code bases don't need dynamically loaded objects designed with interfaces that can be swapped out. In fact, that functionality is nearly never useful. But that's how most people wrote Java code. Perhaps I'm not following, but dynamically loaded objects are the core feature of shared libraries. Among it's purposes, it allows code to be reused and even updated without having to recompile the project. That's pret…
Of course you can, wtf?
Mock are often the reason of tests being green and app not working :)
Re: Minecraft removing obfuscation in Java Edition
#303Earlier quoted context omitted.
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…
As a reverse engineer, I totally get the phrase. Even with non-obfuscated code, if you're working with a decompilation you don't get any of the accompanying code comments or documentation. The more abstractions are present, the harder it is to understand what's going on. And, the harder it is to figure out what code changes are needed to implement your desired feature. C++ vtables are especially annoying. You can see…
Re: Minecraft removing obfuscation in Java Edition
#304One and only account (Mojang) that I can think of that I lost because it got taken over, and I couldn’t get support to help fix it (something about “go make another Mojang account”?)… and since I don’t really get the migration process they did or final outcome, it’s more of a “oh well losing that sucks”.
Re: Minecraft removing obfuscation in Java Edition
#305On 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 haven't played minecraft in a fair while, but started with the alpha builds back when the Seecret updates were the most exciting thing going for the game. > 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.
The original issue with official modding support, from my perspective, has always been a legal one. But the Mojang EULA explicitly allows modding now. So I would see this decision as one in a long line of decisions by Mojang to both normalise the legal relationship with modders, and beyond that giving a "thumbs up" to the community.
Re: Minecraft removing obfuscation in Java Edition
#306It'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.
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.
You have to have Factories and inheritence..
/s
Re: Minecraft removing obfuscation in Java Edition
#307Earlier quoted context omitted.
> Most code bases don't need dynamically loaded objects designed with interfaces that can be swapped out. In fact, that functionality is nearly never useful. But that's how most people wrote Java code. Perhaps I'm not following, but dynamically loaded objects are the core feature of shared libraries. Among it's purposes, it allows code to be reused and even updated without having to recompile the project. That's pret…
>You cannot have quality software without these basic testing techniques Of course you can, wtf? Mock are often the reason of tests being green and app not working :)
Explain then what is your alternative to unit and integration tests.
> Mock are often the reason of tests being green and app not working :)
I don't think that's a valid assumption. Tests just verify the system under test, and test doubles are there only to provide inputs in a way that isolates your system under test. If your tests either leave out invariants that are behind bugs and regressions or have invalid/insufficient inputs, the problem lies in how you created tests, not in the concept of a mock.
Workman and it's tools.
Re: Minecraft removing obfuscation in Java Edition
#308I 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.
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 don't see any reason why this would change just because the game client was made open source.
Re: Minecraft removing obfuscation in Java Edition
#309"Minecraft: Java Edition" has been obfuscated since the release. No, It was obfuscated since around 1.8 when you (Microsoft) buy up Mojang Studios. before that? meh, It wasn't. That's the main reason why JE has broader mod ecosystem from the start., result being 1.7.2 being the one of the most active modded versions since most of them can't get passed to around 1.8. The motive behind this is probably due to them find…
This is deliberate misinformation. You can easily see that versions prior to Beta 1.8 were obfuscated just by downloading the .jar for the older versions on minecraft.wiki. You can even view some of the old MCP mappings here: https://archive.org/details/minecraftcoderpack
It’s disinformation if it’s deliberate.
Re: Minecraft removing obfuscation in Java Edition
#310Probably the same with java. No point doing so with our beyond fast and powerful computers.