diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mod/util/remapper/ClassLoaderRemapper.java b/arclight-common/src/main/java/io/izzel/arclight/common/mod/util/remapper/ClassLoaderRemapper.java index 19bdb9a1..089fb114 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mod/util/remapper/ClassLoaderRemapper.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mod/util/remapper/ClassLoaderRemapper.java @@ -34,7 +34,7 @@ import java.util.Objects; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicInteger; -public class ClassLoaderRemapper extends JarRemapper { +public class ClassLoaderRemapper extends LenientJarRemapper { private static final Logger LOGGER = LogManager.getLogger("Arclight"); private static final String PREFIX = "net/minecraft/"; @@ -51,7 +51,7 @@ public class ClassLoaderRemapper extends JarRemapper { this.jarMapping.setInheritanceMap(ArclightRemapper.INSTANCE.inheritanceMap); this.jarMapping.setFallbackInheritanceProvider(GlobalClassRepo.inheritanceProvider()); this.toBukkitMapping.setFallbackInheritanceProvider(GlobalClassRepo.inheritanceProvider()); - this.toBukkitRemapper = new JarRemapper(this.toBukkitMapping); + this.toBukkitRemapper = new LenientJarRemapper(this.toBukkitMapping); this.generatedHandler = generateReflectionHandler(); GlobalClassRepo.INSTANCE.addRepo(new ClassLoaderRepo(this.classLoader)); } diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mod/util/remapper/LenientJarRemapper.java b/arclight-common/src/main/java/io/izzel/arclight/common/mod/util/remapper/LenientJarRemapper.java new file mode 100644 index 00000000..82c2f7f8 --- /dev/null +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mod/util/remapper/LenientJarRemapper.java @@ -0,0 +1,20 @@ +package io.izzel.arclight.common.mod.util.remapper; + +import net.md_5.specialsource.JarMapping; +import net.md_5.specialsource.JarRemapper; + +public class LenientJarRemapper extends JarRemapper { + + public LenientJarRemapper(JarMapping jarMapping) { + super(jarMapping); + } + + @Override + public String mapSignature(String signature, boolean typeSignature) { + try { + return super.mapSignature(signature, typeSignature); + } catch (Exception e) { + return signature; + } + } +}