feat: implemented TSRGWriter

This commit is contained in:
zaaarf 2023-08-27 02:04:14 +02:00
parent 4243892870
commit 1d13d08565
No known key found for this signature in database
GPG key ID: 6445A5CD15E5B40C
2 changed files with 31 additions and 1 deletions

View file

@ -24,7 +24,6 @@ dependencies {
implementation 'ftbsc.lll:mapper:0.2.2'
implementation 'com.google.auto.service:auto-service-annotations:1.1.0'
annotationProcessor 'com.google.auto.service:auto-service:1.1.0'
}
jar {

View file

@ -0,0 +1,31 @@
package ftbsc.lll.mapper.writer.impl;
import com.google.auto.service.AutoService;
import ftbsc.lll.mapper.IMapper;
import ftbsc.lll.mapper.writer.IWriter;
import java.io.PrintWriter;
/**
* Writes to TSRG, an intermediary format used by Forge.
*/
@AutoService(IWriter.class)
public class TSRGWriter implements IWriter {
@Override
public String uniqueId() {
return "tsrg";
}
@Override
public void write(IMapper mapper, PrintWriter writer) {
writer.println("tsrg2 left right");
mapper.getRawMappings().forEach((name, data) -> {
writer.printf("%s %s\n", data.name, data.nameMapped);
data.getFields().forEach((fieldName, fieldData) ->
writer.printf("\t%s %s\n", fieldName, fieldData.nameMapped));
data.getMethods().forEach(((methodSignature, methodData) ->
writer.printf("\t%s %s %s\n", methodSignature.name,
methodSignature.descriptor, methodData.nameMapped)));
});
}
}