当你要制作一个整合包的时候,你可能需要对模组中的一些配方与规则进行自定义。一般情况下我们可以通过模组制作者提供的config文件(配置文件教程)对模组参数进行一些修改。也可以通过添加类似于CraftTweaker一样的模组进行整合包自定义。
但有的时候,我们并不能找到模组的cfg文件,同时又想对相关模组进行修改该怎么办呢?这个时候可以使用反编译手段将特定的.class文件变为.java文件,然后对源代码进行修改。

方法1:cfr反编译:

cfr反编译支持java-8中的lambda表达式,甚至可以编译Java9,10,12中的新功能,甚至可以将其他JVM语言的class文件反编译成Java文件。

1.首先我们在cfr下载网址下载该jar包:

java 工具类 转string java转class工具_反编译

下载之后将其放入一个指定的文件夹内同时在该文件夹新建一个java包:

java 工具类 转string java转class工具_编辑器_02

2.将我们需要反编译的jar包放入该文件夹内,并进入cmd控制台输入一下指令:

指令格式:

java -jar cfr名称 编译的jar包名称 --outputdir 编译后的输出路径

指令演示:

java -jar cfr-0.152.jar TrueRGB-0.1.5.jar --outputdir D:/反编译工具包/cfr反编译/java

java 工具类 转string java转class工具_反编译_03

等待系统自动反编译:

java 工具类 转string java转class工具_minecraft_04

3.最终我们可以在我们新建的java包中得到该jar包的所有源代码:

java 工具类 转string java转class工具_编辑器_05

方法2:jad反编译:

1.首先我们要下载一个反编译工具包(下载地址在文末)

下载完之后解压文件夹,进入该文件夹中:

java 工具类 转string java转class工具_minecraft_06

2.进入第一个文件夹ctoj -> 进入 ‘classto’ -> 把我们需要反编译的.class文件放入该文件夹中:

这里以工业2(ic2)模组为例:

java 工具类 转string java转class工具_反编译_07

我们回到ctoj中,在栏中输入cmd进入控制台:

java 工具类 转string java转class工具_java_08

3.在cmd中输入如下指令:

jad -o -r -s java -d java classto/**/*.class

等待反编译进程完成:

java 工具类 转string java转class工具_编辑器_09

4.进入ctoj文件夹,在java文件夹中我们可以找到反编译后的.java文件:

java 工具类 转string java转class工具_java 工具类 转string_10

在这之后你就可以对代码进行修改了!

反编译工具包下载密码:9dy5