@@ -84,11 +84,11 @@ object DynamicReflectionSerializer : Loadable {
8484 .associate { it[0 ].split(' $' ).last() to it[1 ] }
8585 }
8686
87- private val String .remappedName get() = mappings.getOrDefault(this , this )
87+ val String .remappedName get() = mappings.getOrDefault(this , this )
8888
89- private fun <T : Any > Class<T>.dynamicName (remap : Boolean ) =
90- if (remap) simpleName .remappedName else simpleName
91- private fun Field.dynamicName (remap : Boolean ) =
89+ fun <T : Any > Class<T>.dynamicName (remap : Boolean ) =
90+ if (remap) canonicalName .remappedName else simpleName
91+ fun Field.dynamicName (remap : Boolean ) =
9292 if (remap) name.remappedName else name
9393
9494 fun Any.dynamicString (
@@ -133,7 +133,7 @@ object DynamicReflectionSerializer : Loadable {
133133 }
134134 val fieldValue = field.get(this )
135135 val fieldIndent = " $indent${" " .repeat(INDENT )} "
136- builder.appendLine(" $fieldIndent${field.dynamicName(remap)} : ${fieldValue.formatFieldValue()} " )
136+ builder.appendLine(" $fieldIndent${field.dynamicName(remap)} : ${fieldValue.formatFieldValue(remap )} " )
137137
138138 if (currentDepth < maxRecursionDepth
139139 && fieldValue != null
@@ -153,22 +153,26 @@ object DynamicReflectionSerializer : Loadable {
153153 }
154154 }
155155
156- private fun Any?.formatFieldValue (): String =
156+ private fun Any?.formatFieldValue (remap : Boolean ): String =
157157 when (this ) {
158158 is String -> " \" ${this } \" "
159- is Collection <* > -> " [${joinToString(" , " ) { it.formatFieldValue() }} ]"
160- is Array <* > -> " [${joinToString(" , " ) { it.formatFieldValue() }} ]"
159+ is Collection <* > -> " [${joinToString(" , " ) { it.formatFieldValue(remap ) }} ]"
160+ is Array <* > -> " [${joinToString(" , " ) { it.formatFieldValue(remap ) }} ]"
161161 is Map <* , * > -> " {${
162162 entries.joinToString(" , " ) { (k, v) ->
163- " ${k.formatFieldValue()} : ${v.formatFieldValue()} "
163+ " ${k.formatFieldValue(remap )} : ${v.formatFieldValue(remap )} "
164164 }
165165 } }"
166166
167167 is Text -> string
168168 is Identifier -> " $namespace :$path "
169169 is NbtCompound -> asString()
170170 is RegistryEntry <* > -> " ${value()} "
171- else -> this ?.toString() ? : " null"
171+ else -> {
172+ if (this ?.javaClass?.canonicalName?.contains(" minecraft" ) == true )
173+ " ${this .javaClass.dynamicName(remap).substringAfterLast(' .' )} @${Integer .toHexString(hashCode())} "
174+ else this ?.toString() ? : " null"
175+ }
172176 }
173177
174178 override fun load () = " Loaded ${mappings.size} deobfuscated qualifier"
0 commit comments