diff --git a/src/main/java/net/fabricmc/tinyremapper/TinyRemapper.java b/src/main/java/net/fabricmc/tinyremapper/TinyRemapper.java index c9dedc84..3c4d823a 100644 --- a/src/main/java/net/fabricmc/tinyremapper/TinyRemapper.java +++ b/src/main/java/net/fabricmc/tinyremapper/TinyRemapper.java @@ -894,7 +894,8 @@ private void handleConflicts(MrjState state) { Map mappings = member.type == TrMember.MemberType.METHOD ? methodMap : fieldMap; String mappingName = mappings.get(member.cls.getName()+"/"+member.getId()); - if (mappingName == null) { // no direct mapping match, try parents + // Attempt to find a mapping name for the member + if (mappingName == null) { Queue queue = new ArrayDeque<>(member.cls.parents); ClassInstance cls; @@ -906,6 +907,14 @@ private void handleConflicts(MrjState state) { } } + if (mappingName == null) { + String fullName = member.cls.getName() + "/" + member.getNewMappedName(); + + if (entry.getValue().contains(fullName)) { + mappingName = fullName; + } + } + if (mappingName == null) { unfixableConflicts = true; } else {