cleanup/drop-unused-mappings-props
channel / mappingsVersion / remoteMappings 是上一次“换成 MCP 名”时留下的。 源码实际用的是 Forge 内嵌名(setBlockName、setMaxDamage 等),构建也走内嵌映射, 这三项不起作用。删除前后 compileJava 产物的全部 class 逐字节一致。 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
ThaumicAdditions-decompiled
Decompiled source tree derived from [1.7.10] Thaumic Additions - 0.41.jar (from liuhao/liangzishidai, main).
- Mod id:
thaumicadditions, version0.41, Minecraft 1.7.10, Thaumcraft 4 addon. Package rootcom.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 fromCoFHCore(seedependencies.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 buildcompiles the decompiled sources and resources intobuild/libs/(Gradle wrapper + GTNH convention toolchain, same layout asbalumg; run with JDK 25)..gitea/workflows/build.ymlbuilds on push and on dispatch, and can publish to the TDLM Maven.
Known issues:
@Mod(dependencies = ...)inTA.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@Modsays 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 frommrdimkatopengu); the config GUI factory will not be found.mcmod.infostill says"version": "???".- Build status:
./gradlew buildsucceeds locally with JDK 25 (2026-10-11). The built jar has 336 classes: every class of the original jar except the 12cofh.*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.
- 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.
switchon enums came out asnull.$SwitchMap$...[x.ordinal()]with numericcases. They were rewritten toswitch(x)with the enum constants, using the mapping in the syntheticOuter$1.class(8 files).package-info.java(two files with@API) was rewritten so the annotation sits before thepackagedeclaration.BlockVisTube.onBlockPreDestroyhad a brokennew EntityItem/new ItemStacksplit; rewritten as normal constructor calls.- 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 thatremoteMappingsingradle.propertiespoints to. String literals and comments were left alone. 20 occurrences (16 distinct names) have no MCP name and stay as SRG names. VisCondenstator.getIcon:side[0]was shadowed by the method parameter; it isVisCondenstator.side[0]again.WAILAgot agetNBTData(...)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 throwAbstractMethodErrorwith the newer Waila.)- The CoFH energy API lives in
CoFHLib-1.7.10-Legacy, notCoFHCore, sodependencies.gradleuses that.
Languages
Java
100%