From f44bbdd185e0b0785fe1bb9f79a862b109ad9a7e Mon Sep 17 00:00:00 2001 From: Juuxel <6596629+Juuxel@users.noreply.github.com> Date: Fri, 2 Apr 2021 15:56:57 +0300 Subject: [PATCH] Add unpick constant field remapping (#2236) * Add unpick constant field remapping * Update unpick Co-authored-by: modmuss50 --- build.gradle | 14 +++++++++++++- gradle.properties | 2 +- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index ac209e12af..dba9a1cab7 100644 --- a/build.gradle +++ b/build.gradle @@ -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 } } diff --git a/gradle.properties b/gradle.properties index fc44b8214f..da903cac41 100644 --- a/gradle.properties +++ b/gradle.properties @@ -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