Skip to content

Commit 23262c2

Browse files
Add support for extraParams.txt format
1 parent 7286b52 commit 23262c2

2 files changed

Lines changed: 20 additions & 17 deletions

File tree

src/patcher/java/net/minecraftforge/gradle/patcher/PatcherPlugin.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -342,12 +342,12 @@ public void apply(@Nonnull Project project) {
342342
createExc.get().dependsOn(ext);
343343
}
344344

345-
if (createExc.get().getConstructors() == null) {
346-
TaskProvider<ExtractMCPData> ext = project.getTasks().register("extractConstructors", ExtractMCPData.class);
345+
if (createExc.get().getExtraParameters() == null) {
346+
TaskProvider<ExtractMCPData> ext = project.getTasks().register("extractExtraParams", ExtractMCPData.class);
347347
ext.get().setConfig(mcpConfig);
348-
ext.get().setKey("constructors");
348+
ext.get().setKey("extraParams");
349349
ext.get().setOutput(project.file("build/" + ext.get().getName() + "/output.txt"));
350-
createExc.get().setConstructors(ext.get().getOutput());
350+
createExc.get().setExtraParameters(ext.get().getOutput());
351351
createExc.get().dependsOn(ext);
352352
}
353353
} else if (patcher != null) {
@@ -388,7 +388,7 @@ public void apply(@Nonnull Project project) {
388388
createMcp2Obf.get().dependsOn(createMcp2Srg.get());
389389
}
390390

391-
if (createExc.get().getSrg() == null) { //TODO: Make a macro for Srg/Static/Constructors
391+
if (createExc.get().getSrg() == null) { //TODO: Make a macro for Srg/Static/ExtraParams
392392
ExtractMCPData extract = ((ExtractMCPData) tasks.getByName("extractSrg"));
393393
if (extract != null) {
394394
createExc.get().setSrg(extract.getOutput());
@@ -410,14 +410,14 @@ public void apply(@Nonnull Project project) {
410410
createExc.get().dependsOn(task);
411411
}
412412
}
413-
if (createExc.get().getConstructors() == null) {
414-
ExtractMCPData extract = ((ExtractMCPData) tasks.getByName("extractConstructors"));
413+
if (createExc.get().getExtraParameters() == null) {
414+
ExtractMCPData extract = ((ExtractMCPData) tasks.getByName("extractExtraParams"));
415415
if (extract != null) {
416-
createExc.get().setConstructors(extract.getOutput());
416+
createExc.get().setExtraParameters(extract.getOutput());
417417
createExc.get().dependsOn(extract);
418418
} else {
419419
TaskCreateExc task = (TaskCreateExc) tasks.getByName(createExc.get().getName());
420-
createExc.get().setConstructors(task.getConstructors());
420+
createExc.get().setExtraParameters(task.getExtraParameters());
421421
createExc.get().dependsOn(task);
422422
}
423423
}

src/patcher/java/net/minecraftforge/gradle/patcher/task/TaskCreateExc.java

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public class TaskCreateExc extends DefaultTask {
5454

5555
private File srg;
5656
private File statics;
57-
private File constructors;
57+
private File extraParams;
5858
private File mappings;
5959
private File output = getProject().file("build/" + getName() + "/output.exc");
6060

@@ -100,8 +100,11 @@ public void run() throws IOException {
100100
}
101101
}
102102

103-
Files.readLines(getConstructors(), StandardCharsets.UTF_8).stream().map(l -> l.split(" ")).forEach(pts -> {
104-
out.add(pts[1] + ".<init>" + pts[2] + "=|" + String.join(",", buildArgs(pts[0], pts[2], false)));
103+
Files.readLines(getExtraParameters(), StandardCharsets.UTF_8).stream().map(l -> l.split(" ")).forEach(pts -> {
104+
if(pts.length == 3) //legacy constructors.txt format
105+
out.add(pts[1] + ".<init>" + pts[2] + "=|" + String.join(",", buildArgs("i" + pts[0], pts[2], false)));
106+
else if(pts.length == 4) //extraParams.txt format
107+
out.add(pts[1] + "." + pts[2] + pts[3] + "=|" + String.join(",", buildArgs(pts[0], pts[3], pts[0].charAt(0) == 's')));
105108
});
106109

107110
try (FileOutputStream fos = new FileOutputStream(getOutput())) {
@@ -110,7 +113,7 @@ public void run() throws IOException {
110113
}
111114

112115
private List<String> buildArgs(String name, String desc, boolean isStatic) {
113-
String prefix = "p_i" + name + "_";
116+
String prefix = "p_" + name + "_";
114117
if (name.startsWith("func_")) {
115118
prefix = "p_" + name.split("_")[1] + "_";
116119
}
@@ -198,11 +201,11 @@ public void setStatics(File value) {
198201
this.statics = value;
199202
}
200203
@InputFile
201-
public File getConstructors() {
202-
return this.constructors;
204+
public File getExtraParameters() {
205+
return this.extraParams;
203206
}
204-
public void setConstructors(File value) {
205-
this.constructors = value;
207+
public void setExtraParameters(File value) {
208+
this.extraParams = value;
206209
}
207210
@InputFile
208211
public File getMappings() {

0 commit comments

Comments
 (0)