Earlier quoted context omitted.
If everyone does it wrong, then that alone means it itself is wrong.
Everyone? Really, that's your take? Most code out there is OOP and I find it hard to believe that everything is wrong.
Minecraft removing obfuscation in Java Edition
461–470 of 478 posts
Re: Minecraft removing obfuscation in Java Edition
#462Earlier quoted context omitted.
On the other hand, Java's tooling for correctly refactoring at scale is pretty impressive: using IntelliJ, it's pretty tractable to unwind quite a few messes using automatic tools in a way that's hard to match in many languages that are often considered better.
The language Kotlin is actually developed by JetBrains
Re: Minecraft removing obfuscation in Java Edition
#463As 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.
Re: Minecraft removing obfuscation in Java Edition
#464I have to assume this runs the risk of opening the floodgates for potential vulnerabilities to be discovered now. Hopefully they're prepared to start working on a bunch of new bug reports.
Re: Minecraft removing obfuscation in Java Edition
#465Earlier quoted context omitted.
It's not that simple in practice.
What isn't? Disabling Vanilla mechanics? Specifically which of those you mentioned aren't easily disabled with a data pack or simple mod?
You can't just remove the fields for a mob's armour items because all the mods that interact with mobs are checking what armour they have, and you'll get a runtime linking error. Best you can do is remove the code that spawns mobs with random armour so they always spawn without armour. There may still be armoured mobs spawned by mods.
In automation mods there was a concept called "sided inventory" where a machine block presents a different part of its inventory depending on which side of the block you access it from. When hoppers were added to the base game, they copied this exactly, but changed which sides accessed which part of which blocks to make them compatible with hoppers, because hoppers can only take items out of the bottom and put items into the top and sides. This affected all automation mods which, instead of using a more intuitive side mapping, use a mapping that makes sense for hoppers. Also, all other mods that add machine blocks now specify side mappings that make sense for hoppers.
Of course in principle you can rewrite the game and all your mods from scratch to match whatever vision you have, but I hope it's obvious that nobody would actually do that.
Even removing a single block or item is nontrivial. You can't remove the field because you'll get runtime linking errors from mods. You can't make it null. Even mods that don't rely on that item may be checking if a player is using it for some feature (and you'd like that check to always be false). There's a good chance many of the mods you want use it in recipes because it's available. Best you can do is remove the ways to obtain/create the item, and add a bunch of recipe overrides so it's not used in recipes either. If you have the mod that shows you a list of every item in the game, it'll still show up there.
Re: Minecraft removing obfuscation in Java Edition
#466Earlier quoted context omitted.
This is also true, and also why I want it to be a relatively unopinionated base engine. Unfortunately technical advancements came alongside opinionated content. 1.8 brought creative mode and fast/tintable skylight updates - and hunger and very griefy endermen and a bucnh of worldgen structures. 1.0 brought itemstack NBT - to support enchantments and potions - and gave a sandbox game an official end. 1.3 brought clien…
I do remember your microblocks mod. Yeah, 1.7.10 is many modders' favorite, I know. If you did stop at 1.7.10, I guess you know about the GTNH people's crazy work in keeping that version running? For a while, you could 1.7.10 with a newer version of Java than the current latest version.
Re: Minecraft removing obfuscation in Java Edition
#467Earlier quoted context omitted.
What isn't? Disabling Vanilla mechanics? Specifically which of those you mentioned aren't easily disabled with a data pack or simple mod?
One reason is that all the other mods you wanted to use were redesigned to match the vanilla mechanics, so even if you use another mod to disable the vanilla mechanics, you're still suffering their consequences. They may even be redesigned in ways that require the vanilla mechanics. You can't just remove the fields for a mob's armour items because all the mods that interact with mobs are checking what armour they hav…
After 15 years of playing, it still feels very much like a wonderful sandbox, which I regularly modify however I want, with very rarely any issues, including some of the exact things you've mentioned.
And thankfully, the modding scene is as vibrant as ever!
Re: Minecraft removing obfuscation in Java Edition
#468Earlier quoted context omitted.
Wouldn’t the structure of the code be be more copyrightable than the names?
community makes mods, they don't duplicate game code structure, and if they do it's clearly by accident because the code is obfuscated
Re: Minecraft removing obfuscation in Java Edition
#469Earlier quoted context omitted.
So anyone who reports higher numbers than Minecraft is lying, but Minecraft's numbers are all accurate? You have literally just invented a conspiracy theory to affirm your biases around this matter. Also note that monthly active users for Roblox and Fortnite equate to monthly revenue, whereas I doubt there are as many people buying Minecraft in-app purchases.
> So anyone who reports higher numbers than Minecraft is lying, but Minecraft's numbers are all accurate? Minecraft has made press releases detailing active player counts (“Up to”139,000,000 MAU in 2021). See here: https://web.archive.org/web/20210809155838/https://news.xbox... This does claim that 238,000,000 copies have been sold but that there are 400,000,000 registered Minecraft players in China (this would be ab…
> This was incredibly abrasive.
I reserve the right to be abrasive when people randomly decide to spread baseless claims.
[1] https://s27.q4cdn.com/984876518/files/doc_financials/2025/q3...
Re: Minecraft removing obfuscation in Java Edition
#470Earlier quoted context omitted.
Any modern IDE will let you immediately bring up the subclasses with a single hotkey. If you have an abstract class with only a single subclass and that's not because new code is going to be added soon then yes, it's a bad design decision. Fortunately, also easy to fix with good IDEs.
In my last project every class had a corresponding abstract class, and then we used DI to use the real class. Good to be rid of it.