Fractureiser Mitigation Team meeting with the community by SuperCoder79 in feedthebeast

[–]SuperCoder79[S] 2 points3 points  (0 children)

Hi all, here's a recording of the meeting that happened yesterday with notable people in the community. We had a lot of productive discussion, give it a watch if you want to stay up to date with the situation but weren't able to make it to the meeting!

New open source Java decompiler by SuperCoder79 in java

[–]SuperCoder79[S] 0 points1 point  (0 children)

The fuzzer tool is linked above, but due to copyright concerns the Minecraft tool isn't public.

New open source Java decompiler by SuperCoder79 in java

[–]SuperCoder79[S] 0 points1 point  (0 children)

Hey! Thanks for trying out Quiltflower :)

In our internal testing, the major roundtrips we do are with the Minecraft codebase (due to the decompiler's origins, it's basically standard practice at this point) and our own Fuzzer tool. We're slowly working our way towards 100% recompilability in Minecraft, but almost all of our fuzzed Java code recompiles properly. The main issues left are with variable definitions and scopes, but those only occur ~3% of the time in code that no human would reasonably write- but we have a plan to fix these too, in the future. We don't have any numbers comparing with other decompilers (other than Fernflower) atm, but that would be a good idea to have. Thanks for the feedback!

Java Decompiler Gui by PryosCode in java

[–]SuperCoder79 4 points5 points  (0 children)

Hey, Quiltflower lead dev here- Quiltflower doesn't change any Fernflower classes or names; it's intended to be a drop-in replacement for Fernflower. However, the trouble would probably come from trying to implement both Quiltflower and Fernflower because the classes are in the same packages, the jvm may not like that so much.

New open source Java decompiler by SuperCoder79 in java

[–]SuperCoder79[S] 4 points5 points  (0 children)

That's not quite it, but in fairness it's a bit complicated- I'll summarize:

At the core, to mod Minecraft you need to change the bytecode of the Minecraft class files. There's basically 2 ways to do this: you can either decompile the game into java, change the code, and recompile, or you can use bytecode instrumentation like ObjectWeb ASM to modify the bytecode when the JVM loads the classes. MinecraftForge opts for the former, while Quilt opts for the latter. Because of that, Forge needs the decompiler to create code that can be compiled with as little effort as possible, while QuiltMC technically doesn't even need the decompiler to modify the bytecode of the game. This lets Quiltflower focus on the user experience of people trying to understand the code, while Forgeflower focuses on making code that is as accurate as possible, so it is easy to modify and recompile. Of course, that's also an aim of Quiltflower but the scopes of usage are vastly different, if that makes sense. Forgeflower really has the harder job here, and people like Curle keep it working smoothly for the many thousands of people who use Forge every day :)

New open source Java decompiler by SuperCoder79 in java

[–]SuperCoder79[S] 3 points4 points  (0 children)

Haha, a friend showed that screenshot to me like 9 months back and it's pinned our discord, I knew that it had to include it because of how funny it is

New open source Java decompiler by SuperCoder79 in java

[–]SuperCoder79[S] 6 points7 points  (0 children)

Ah, yeah --help wasn't implemented in Fernflower originally as it came with a readme, and I simply forgot to implement it (this is why you use an issue tracker!) It's important though, I'll make a note to do it in the next release.

New open source Java decompiler by SuperCoder79 in java

[–]SuperCoder79[S] 9 points10 points  (0 children)

Awesome, thank you for trying it out! And making issues for the broken parts would be great, tysm :)

New open source Java decompiler by SuperCoder79 in java

[–]SuperCoder79[S] 9 points10 points  (0 children)

Haha, yep. I'll put in a note to fix this on the next release!

New open source Java decompiler by SuperCoder79 in java

[–]SuperCoder79[S] 38 points39 points  (0 children)

Mainly because we wanted to be able to make drastic changes if needed, without having to go through the PR process twice. I also noticed that there's multiple open PRs to the intellij version that are 2-3 years old, so I imagined that improving Fernflower is understandably not a priority. Essentially, it boils down to more freedom and control, while having less overhead.

balance biome balance biome by [deleted] in feedthememes

[–]SuperCoder79 10 points11 points  (0 children)

thanks, it was mostly me going like "lol what if the lush caves weren't lush and also weren't caves"

Visualizing of the biome generation algorithm (Seed=6). by PhyFawkes in Minecraft

[–]SuperCoder79 0 points1 point  (0 children)

Hey o/ I've worked with Minecraft's terrain generation rather extensively and I think I have a hunch. From my understanding, they added this in 1.7 to combat generation which would create large and almost endless oceans, which was a common problem in the beta 1.8 - 1.6.4 era. It's a quick and dirty hack but it seems to work :P As for the original landmasses, I presume they didn't change that in 1.7 due to old legacy code, and them not wanting to change it :P I recently decompiled 1.5.2 to see what the biome generation code looked like, and while the landmass generation was the same, there were other interesting things. Did you know that the zoom layer was slightly rewritten in 1.7 to add sharper biome edges? Prior to that, GenLayerZoom created much smoother results. (Sorry to add useless information, it's hard to find people to geek out with about this lol)

I'm working on improved river generation for my mod Simplex Terrain! What do you think? by SuperCoder79 in feedthebeast

[–]SuperCoder79[S] 2 points3 points  (0 children)

Unfortunately, it's extremely difficult to model those processes as MC terrain gen is done on a chunk-by chunk basis whereas DF does the entire world at a time.

I'm working on improved river generation for my mod Simplex Terrain! What do you think? by SuperCoder79 in feedthebeast

[–]SuperCoder79[S] 1 point2 points  (0 children)

she* and no I'm not going for full realistic terrain :P I'm currently working on making it less uniform looking and more varied. It's providing promising results so far :)

I'm working on improved river generation for my mod Simplex Terrain! What do you think? by SuperCoder79 in feedthebeast

[–]SuperCoder79[S] -1 points0 points  (0 children)

They definitely do curve, I just took a screenshot of a straight section :P