diff --git a/deob/src/main/java/dev/openrs2/deob/transform/VisibilityTransformer.kt b/deob/src/main/java/dev/openrs2/deob/transform/VisibilityTransformer.kt index 8974e2a3..b2bd45b2 100644 --- a/deob/src/main/java/dev/openrs2/deob/transform/VisibilityTransformer.kt +++ b/deob/src/main/java/dev/openrs2/deob/transform/VisibilityTransformer.kt @@ -56,8 +56,13 @@ class VisibilityTransformer : Transformer() { references: Multimap, String>, disjointSet: DisjointSet, member: MemberRef, + classAccess: Int, access: Int ): Int { + if (classAccess and Opcodes.ACC_INTERFACE != 0) { + return Opcodes.ACC_PUBLIC + } + val method = Type.getType(member.desc).sort == Type.METHOD if (method) { if (member.name == "") { @@ -120,6 +125,7 @@ class VisibilityTransformer : Transformer() { fieldReferences, inheritedFieldSets, MemberRef(clazz, field), + clazz.access, access ) field.access = (access and VISIBILITY_FLAGS.inv()) or visibility @@ -137,6 +143,7 @@ class VisibilityTransformer : Transformer() { methodReferences, inheritedMethodSets, MemberRef(clazz, method), + clazz.access, access ) method.access = (access and VISIBILITY_FLAGS.inv()) or visibility