ThaumicAdditions-decompiled

Decompiled source tree derived from [1.7.10] Thaumic Additions - 0.41.jar (from liuhao/liangzishidai, main).

  • Mod id: thaumicadditions, version 0.41, Minecraft 1.7.10, Thaumcraft 4 addon. Package root com.pengu.thaumcraft.
  • Decompiled Java: src/main/java (307 classes, Fernflower, class by class; 0 failures).
  • Extracted resources: src/main/resources (assets, mcmod.info, logo).
  • The cofh.api.* classes inside the original jar were not copied; CoFH API comes from CoFHCore (see dependencies.gradle).
  • com.mrdimka.api.power.rj (the "RJ" energy API) was bundled in the original jar and is kept here.
  • Source provenance jar, not used by the build; see ORIGINAL_JAR.txt.

Build entries:

  • ./gradlew build compiles the decompiled sources and resources into build/libs/ (Gradle wrapper + GTNH convention toolchain, same layout as balumg; run with JDK 25).
  • .gitea/workflows/build.yml builds on push and on dispatch, and can publish to the TDLM Maven.

Known issues:

  • @Mod(dependencies = ...) in TA.java: the original had ;required-after:particlelib@[1,). No class imports ParticleLib and ParticleLib is not in TDLM, so TDLM removed it (a comment above @Mod says so). Everything else in the string is unchanged.
  • guiFactory = "mrdimka.thaumcraft.additions.config.ConfigurationGuiFactory" points at a package that does not exist in the jar (the original author renamed packages from mrdimka to pengu); the config GUI factory will not be found.
  • mcmod.info still says "version": "???".
  • Build status: ./gradlew build succeeds locally with JDK 25 (2026-10-11). The built jar has 336 classes: every class of the original jar except the 12 cofh.* API classes, plus the same 282 resources. It has not been run in a game.
  • License of the original mod is unknown.

Repairs made to the raw decompiler output

The decompiler (old MCP Fernflower) leaves systematic artifacts. They were fixed so that the tree compiles; nothing else was changed.

  1. Inner and anonymous classes were decompiled together with their outer class (24 outer classes, 29 inner class files) instead of one file at a time.
  2. switch on enums came out as null.$SwitchMap$...[x.ordinal()] with numeric cases. They were rewritten to switch(x) with the enum constants, using the mapping in the synthetic Outer$1.class (8 files).
  3. package-info.java (two files with @API) was rewritten so the annotation sits before the package declaration.
  4. BlockVisTube.onBlockPreDestroy had a broken new EntityItem / new ItemStack split; rewritten as normal constructor calls.
  5. All SRG names (func_xxxx_y, field_xxxx_y, 5,987 occurrences in 209 files) were replaced with MCP names from the FML 1.7.10 mapping that remoteMappings in gradle.properties points to. String literals and comments were left alone. 20 occurrences (16 distinct names) have no MCP name and stay as SRG names.
  6. VisCondenstator.getIcon: side[0] was shadowed by the method parameter; it is VisCondenstator.side[0] again.
  7. WAILA got a getNBTData(...) method that returns the tag. The original jar was compiled against an older Waila whose interface did not have it; the GTNH Waila interface requires it. (The original would throw AbstractMethodError with the newer Waila.)
  8. The CoFH energy API lives in CoFHLib-1.7.10-Legacy, not CoFHCore, so dependencies.gradle uses that.
S
Description
No description provided
Readme
4.7 MiB
0 Stars 3 Watchers 0 Forks
Languages
Java 100%