diff options
Diffstat (limited to 'runtime-engine/plugins/src/main')
2 files changed, 18 insertions, 4 deletions
diff --git a/runtime-engine/plugins/src/main/java/me/shedaniel/rei/impl/common/plugins/PluginManagerImpl.java b/runtime-engine/plugins/src/main/java/me/shedaniel/rei/impl/common/plugins/PluginManagerImpl.java index 7544bdffd..cca94c79e 100644 --- a/runtime-engine/plugins/src/main/java/me/shedaniel/rei/impl/common/plugins/PluginManagerImpl.java +++ b/runtime-engine/plugins/src/main/java/me/shedaniel/rei/impl/common/plugins/PluginManagerImpl.java @@ -41,6 +41,8 @@ import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.function.UnaryOperator; +import static me.shedaniel.rei.impl.common.plugins.PluginReloaderImpl.name; + @ApiStatus.Internal public class PluginManagerImpl<P extends REIPlugin<?>> implements PluginManager<P>, PluginView<P> { private final List<Reloadable<P>> reloadables = new ArrayList<>(); @@ -97,7 +99,7 @@ public class PluginManagerImpl<P extends REIPlugin<?>> implements PluginManager< @Override public void registerPlugin(REIPluginProvider<? extends P> plugin) { plugins.add((REIPluginProvider<P>) plugin); - InternalLogger.getInstance().info("Registered plugin provider %s for %s", plugin.getPluginProviderName(), PluginReloaderImpl.name(pluginClass)); + InternalLogger.getInstance().info("Registered plugin provider %s for %s", plugin.getPluginProviderName(), name(pluginClass)); } @Override diff --git a/runtime-engine/plugins/src/main/java/me/shedaniel/rei/impl/common/plugins/PluginReloaderImpl.java b/runtime-engine/plugins/src/main/java/me/shedaniel/rei/impl/common/plugins/PluginReloaderImpl.java index 312d4e7e4..693969a9e 100644 --- a/runtime-engine/plugins/src/main/java/me/shedaniel/rei/impl/common/plugins/PluginReloaderImpl.java +++ b/runtime-engine/plugins/src/main/java/me/shedaniel/rei/impl/common/plugins/PluginReloaderImpl.java @@ -283,9 +283,21 @@ public class PluginReloaderImpl<P extends REIPlugin<?>> { } 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); + } + + static String _name(Class<?> clazz) { + String name = clazz.getName(); + if (name.contains(".")) { + name = name.substring(name.lastIndexOf(".") + 1); + } + return name.replace('$', '.'); } public List<ReloadStage> getObservedStages() { |
