diff --git a/paperweight-lib/src/main/kotlin/io/papermc/paperweight/tasks/GenerateMappings.kt b/paperweight-lib/src/main/kotlin/io/papermc/paperweight/tasks/GenerateMappings.kt index 8605f0be..19618b1e 100644 --- a/paperweight-lib/src/main/kotlin/io/papermc/paperweight/tasks/GenerateMappings.kt +++ b/paperweight-lib/src/main/kotlin/io/papermc/paperweight/tasks/GenerateMappings.kt @@ -294,6 +294,15 @@ class ParamsMergeHandler : MappingSetMergerHandler { throw IllegalStateException("Unexpectedly merged method: ${left.fullObfuscatedName}") } + override fun addRightParameterMapping( + right: MethodParameterMapping, + target: MethodMapping, + context: MergeContext? + ): MethodParameterMapping { + // prefix params with _ to avoid conflicts + return target.createParameterMapping(right.index, "_" + right.deobfuscatedName) + } + // Don't take anything from yarn override fun addRightTopLevelClassMapping( right: TopLevelClassMapping?, diff --git a/paperweight-lib/src/main/kotlin/io/papermc/paperweight/tasks/GenerateSrgCsv.kt b/paperweight-lib/src/main/kotlin/io/papermc/paperweight/tasks/GenerateSrgCsv.kt index 1d2a6835..7832ac1a 100644 --- a/paperweight-lib/src/main/kotlin/io/papermc/paperweight/tasks/GenerateSrgCsv.kt +++ b/paperweight-lib/src/main/kotlin/io/papermc/paperweight/tasks/GenerateSrgCsv.kt @@ -35,40 +35,6 @@ abstract class GenerateSrgCsv : ControllableOutputTask() { val srgToOurs = mutableMapOf() val classes = mutableListOf>() - //classes.addAll(obfToOurs.topLevelClassMappings) - //while (classes.isNotEmpty()) { - // val namedClass = classes[0] - // classes.removeAt(0) - // - // val srgClass = if (namedClass is InnerClassMapping) { - // val namedParentClass = namedClass.parent - // val namedSrgClass = obfToSrg.getClassMapping(namedParentClass.obfuscatedName).orElseThrow() - // namedSrgClass.getInnerClassMapping(namedClass.obfuscatedName).orElseThrow() - // } else { - // classes.addAll(namedClass.innerClassMappings) - // obfToSrg.getClassMapping(namedClass.obfuscatedName).orElseThrow() - // } - // - // if (namedClass.deobfuscatedName.contains("LootDataType")) { - // println(namedClass) - // println(srgClass) - // } - // - // namedClass.fieldMappings.forEach { namedField -> - // val srgField = srgClass.getFieldMapping(namedField.obfuscatedName).orElseThrow() - // srgToOurs[srgField.deobfuscatedName] = namedField.deobfuscatedName - // } - // - // namedClass.methodMappings.forEach { namedMethod -> - // val srgMethod = srgClass.getMethodMapping(namedMethod.obfuscatedName, namedMethod.obfuscatedDescriptor).orElseThrow() - // srgToOurs[srgMethod.deobfuscatedName] = namedMethod.deobfuscatedName - // - // namedMethod.parameterMappings.forEachIndexed { index, namedParam -> - // val srgParam = srgMethod.getParameterMapping(index).orElseThrow() - // srgToOurs[srgParam.deobfuscatedName] = namedParam.deobfuscatedName - // } - // } - //} classes.addAll(obfToSrg.topLevelClassMappings) while (classes.isNotEmpty()) { @@ -117,7 +83,7 @@ abstract class GenerateSrgCsv : ControllableOutputTask() { } val namedParam = if (srgMethod.obfuscatedName == "") { // ctors aren't synthetic, no need for fuckery - namedMethod.get().getParameterMapping(srgParam.index) + namedMethod.get().getParameterMapping(srgParam.index + 1) } else if (params.size > index) { Optional.of(params[index]) } else { diff --git a/paperweight-lib/src/main/kotlin/io/papermc/paperweight/tasks/McpConfigTask.kt b/paperweight-lib/src/main/kotlin/io/papermc/paperweight/tasks/McpConfigTask.kt index 265686c5..33261a39 100644 --- a/paperweight-lib/src/main/kotlin/io/papermc/paperweight/tasks/McpConfigTask.kt +++ b/paperweight-lib/src/main/kotlin/io/papermc/paperweight/tasks/McpConfigTask.kt @@ -212,11 +212,7 @@ abstract class PrepareBase : ControllableOutputTask() { content = regex.replace(content) { res -> val mapping = srgToMojang[res.groupValues[0]] if (mapping != null) { - if (res.groupValues[0].startsWith("p")) { - return@replace "_$mapping" - } else { - return@replace mapping - } + return@replace mapping } else { missedMappings.add(res.groupValues[0]) return@replace res.groupValues[0]