aboutsummaryrefslogtreecommitdiff
path: root/runtime/src/main/java/me/shedaniel/rei/impl/common
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/src/main/java/me/shedaniel/rei/impl/common')
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/common/plugins/PluginManagerImpl.java18
1 files changed, 15 insertions, 3 deletions
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/common/plugins/PluginManagerImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/common/plugins/PluginManagerImpl.java
index 1264b9abf..54342abdf 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/common/plugins/PluginManagerImpl.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/common/plugins/PluginManagerImpl.java
@@ -269,9 +269,21 @@ public class PluginManagerImpl<P extends REIPlugin<?>> implements PluginManager<
}
private static String name(Class<?> clazz) {
- String simpleName = clazz.getSimpleName();
- if (simpleName.isEmpty()) return clazz.getName();
- return simpleName;
+ for (Class<?> anInterface : clazz.getInterfaces()) {
+ if (!anInterface.getName().startsWith("me.shedaniel.rei.impl")) {
+ return _name(anInterface);
+ }
+ }
+
+ return _name(clazz);
+ }
+
+ private static String _name(Class<?> clazz) {
+ String name = clazz.getName();
+ if (name.contains(".")) {
+ name = name.substring(name.lastIndexOf(".") + 1);
+ }
+ return name.replace('$', '.');
}
@Override