ForgeFlower
ForgeFlower copied to clipboard
Forge's modifications to FernFlower. Fixing various bugs/inconsistencies. Main Repo: https://github.com/MinecraftForge/FernFlower
This PR is the result of copying all the commits made on top of https://github.com/MinecraftForge/FernFlowerLegacy, converting those to patches, and applying them in the style of ForgeFlower. All upstream patches...
This primarily reduces the memory consumed by FF, now able to decompile one of the 1.18.2 snapshots with a minimum of 2GB of ram, rather than the 4+GB previously required....
Broken out of #96 It appears that a lot of inner classes have gained a Signature attribute, which causes generic signature processing to activate. This exposed some issues in its...
[22w11a diff](https://gist.github.com/coehlrich/c7f30609139747ec30a6e31a5c73fccc) [1.18.2-rc1 diff](https://gist.github.com/coehlrich/32afd338ce82fce4c7671d6ab83b13bb) Fixes the compile error where a generic is assigned into a variable with the type `StringReader` [here](https://gist.github.com/coehlrich/c7f30609139747ec30a6e31a5c73fccc#file-pattern-matching-instanceof-22w11a-patch-L344-L349) in 22w11a. Doesn't currently support the way ecj compiles...
In the vanilla minecraft server source (1.19.3), in `net.minecraft.world.level.levelgen.WorldDimensions` (mojang mappings) the following happens when decompiling  ```java public WorldDimensions.Complete bake(Registry existingRegistry) { Stream stream = Stream.concat(existingRegistry.registryKeySet().stream(), this.dimensions.registryKeySet().stream()).distinct(); List list...
When running ForgeFlower with `-udv=0`, debug names are showing up in the output. Here are the options I'm running with: ``` "-din=1", "-rbr=0", "-dgs=1", "-asc=1", "-hdc=0", "-rsy=1", "-iec=1", "-udv=0", "-jvn=1",...
This is due to https://github.com/MinecraftForge/ForgeFlower/blob/master/FernFlower-Patches/0037-Do-not-rebuild-variable-names-in-lambdas.patch For background on what that code is doing (re: the patch message): That allows the decompiler to fix variable names in a nested class or...
When decompiling the following project then threads start to hang: https://gofile.io/d/6FlfC2 The used command is with "Build: 1.5.478.16 - Wed Aug 05 01:34:59 GMT 2020" is: java -mx1G -jar forgeflower.jar...
(Originally opened as https://github.com/MinecraftForge/ForgeGradle/issues/713 on the wrong repo) This is a very minor enchancement, but it should be pretty easy to implement See InputMapping clinit: ``` MethodType methodtype = MethodType.methodType(Boolean.TYPE);...
1.16-pre1 ScaffoldingBlock's static class doesn't condense stack variables into the argument list. This causes the field initializes to not be inlined. ``` static { VoxelShape voxelshape = Block.func_208617_a(0.0D, 14.0D, 0.0D,...