From dfa24ac35c9a93b4f9005c84a002c424fb592836 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Sun, 9 Mar 2014 11:25:54 +0100 Subject: [PATCH] trying to stabilize the class transformer a little --- src/main/scala/li/cil/oc/common/asm/ClassTransformer.scala | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/scala/li/cil/oc/common/asm/ClassTransformer.scala b/src/main/scala/li/cil/oc/common/asm/ClassTransformer.scala index 098253729..5efc56a4d 100644 --- a/src/main/scala/li/cil/oc/common/asm/ClassTransformer.scala +++ b/src/main/scala/li/cil/oc/common/asm/ClassTransformer.scala @@ -134,7 +134,9 @@ class ClassTransformer extends IClassTransformer { val tileEntityName = FMLDeobfuscatingRemapper.INSTANCE.map("net.minecraft.tileentity.TileEntity").replace('.', '/') def isTileEntity(classNode: ClassNode): Boolean = { - classNode.name != "java/lang/Object" && (classNode.name == tileEntityName || isTileEntity(classNodeFor(classNode.superName))) + classNode != null && classNode.name != "java/lang/Object" && + (classNode.name == tileEntityName || classNode.superName == tileEntityName || + isTileEntity(classNodeFor(classNode.superName))) } def classNodeFor(name: String) = newClassNode(loader.getClassBytes(name.replace('/', '.')))