diff --git a/src/main/java/cpw/mods/modlauncher/ModernFixCachingClassTransformer.java b/src/main/java/cpw/mods/modlauncher/ModernFixCachingClassTransformer.java index 44bef8a6..1e09c60b 100644 --- a/src/main/java/cpw/mods/modlauncher/ModernFixCachingClassTransformer.java +++ b/src/main/java/cpw/mods/modlauncher/ModernFixCachingClassTransformer.java @@ -144,14 +144,14 @@ public class ModernFixCachingClassTransformer extends ClassTransformer { @Override public byte[] transform(byte[] inputClass, String className, String reason) { /* We only want to cache actual transformations */ - if(ITransformerActivity.CLASSLOADING_REASON.equals(reason)) { + if(ITransformerActivity.CLASSLOADING_REASON.equals(reason) || "mixin".equals(reason)) { final byte[] classToHash = inputClass; ArrayList hashList = computeHash(className, classToHash, reason); if(hashList == null) return super.transform(inputClass, className, reason); /* Check if the cache contains a transformed class matching these hashes */ /* TODO maybe sanitize the class name? */ - File cacheLocation = new File(CLASS_CACHE_FOLDER, className.replace('.', '/')); + File cacheLocation = new File(CLASS_CACHE_FOLDER, className.replace('.', '/') + "." + reason); boolean hashesMatch = true; try(ObjectInputStream stream = new ObjectInputStream(new FileInputStream(cacheLocation))) { ArrayList savedHash = (ArrayList)stream.readObject();