diff --git a/src/main/java/io/github/opencubicchunks/cubicchunks/core/util/CompatHandler.java b/src/main/java/io/github/opencubicchunks/cubicchunks/core/util/CompatHandler.java index 5339c781d..d0cc67d3f 100644 --- a/src/main/java/io/github/opencubicchunks/cubicchunks/core/util/CompatHandler.java +++ b/src/main/java/io/github/opencubicchunks/cubicchunks/core/util/CompatHandler.java @@ -113,11 +113,19 @@ private static Map getPackageToModId() { } private static String getPackageName(Class clazz) { - String canonicalName = clazz.getCanonicalName(); - int dot = canonicalName.lastIndexOf('.'); //cannot occur anywhere in the class name itself + String name = clazz.getCanonicalName(); + if(name == null) { + Class enclosingClass = clazz.getEnclosingClass(); + if (enclosingClass != null) { + return getPackageName(enclosingClass); + } else { + name = clazz.getName(); + } + } + int dot = name.lastIndexOf('.'); //cannot occur anywhere in the class name itself return dot < 0 ? "" //default package - : canonicalName.substring(0, dot); + : name.substring(0, dot); } public static Set getModsForStacktrace(StackTraceElement[] stacktrace) {