From b2ef2bed36096993074efcdd8a9a62ee342429d5 Mon Sep 17 00:00:00 2001 From: James Clarke Date: Tue, 2 Jul 2013 20:46:35 +0100 Subject: [PATCH] Fixed ClassCastException when loading ModLoader mods --- .../cpw/mods/fml/common/ModClassLoader.java | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/fml/common/cpw/mods/fml/common/ModClassLoader.java b/fml/common/cpw/mods/fml/common/ModClassLoader.java index 78ae96ebf..0c49b31c3 100644 --- a/fml/common/cpw/mods/fml/common/ModClassLoader.java +++ b/fml/common/cpw/mods/fml/common/ModClassLoader.java @@ -81,8 +81,21 @@ public class ModClassLoader extends URLClassLoader public Class loadBaseModClass(String modClazzName) throws Exception { - AccessTransformer transformer = (AccessTransformer)mainClassLoader.getTransformers().get(0); - transformer.ensurePublicAccessFor(modClazzName); + AccessTransformer accessTransformer = null; + for (IClassTransformer transformer : mainClassLoader.getTransformers()) + { + if (transformer instanceof AccessTransformer) + { + accessTransformer = (AccessTransformer) transformer; + break; + } + } + if (accessTransformer == null) + { + FMLLog.log(Level.SEVERE, "No access transformer found"); + throw new LoaderException(); + } + accessTransformer.ensurePublicAccessFor(modClazzName); return (Class) Class.forName(modClazzName, true, this); } }