Add unpick constant field remapping (#2236)

* Add unpick constant field remapping

* Update unpick

Co-authored-by: modmuss50 <modmuss50@gmail.com>
This commit is contained in:
Juuxel 2021-04-02 15:56:57 +03:00 committed by GitHub
parent 2fb24b985f
commit f44bbdd185
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 2 deletions

View File

@ -633,6 +633,7 @@ task mapNamedJar(dependsOn: ["mergeV2", "unpickIntermediaryJar"]) {
import daomephsta.unpick.constantmappers.datadriven.parser.v2.UnpickV2Reader
import daomephsta.unpick.constantmappers.datadriven.parser.v2.UnpickV2Writer
import daomephsta.unpick.constantmappers.datadriven.parser.v2.UnpickV2Remapper
import daomephsta.unpick.constantmappers.datadriven.parser.FieldKey
import daomephsta.unpick.constantmappers.datadriven.parser.MethodKey
import net.fabricmc.mapping.tree.TinyMappingFactory
@ -680,6 +681,7 @@ task remapUnpickDefinitionsIntermediary(type : FileOutputInput, dependsOn: [comb
doLast {
def classMappings = [:]
def methodMappings = [:]
def fieldMappings = [:]
mappingsInput.withReader {reader ->
def tinyTree = TinyMappingFactory.loadWithDetection(reader)
@ -700,13 +702,23 @@ task remapUnpickDefinitionsIntermediary(type : FileOutputInput, dependsOn: [comb
methodDef.getName("intermediary")
)
}
classDef.fields.forEach { fieldDef ->
fieldMappings.put(
new FieldKey(
classDef.getName("named"),
fieldDef.getName("named")
),
fieldDef.getName("intermediary")
)
}
}
}
input.withInputStream {
new UnpickV2Reader(it).withCloseable {reader ->
def writer = new UnpickV2Writer()
reader.accept(new UnpickV2Remapper(classMappings, methodMappings, writer))
reader.accept(new UnpickV2Remapper(classMappings, methodMappings, fieldMappings, writer))
output.text = writer.output
}
}

View File

@ -3,7 +3,7 @@ org.gradle.jvmargs=-Xmx1G
enigma_version=0.26.0
stitch_version=0.5.1+build.77
unpick_version=2.1.1
unpick_version=2.2.0
# Loader is only used by javadoc generation/linking
fabric_loader_version=0.11.1
jetbrains_annotations_version=20.1.0