diff --git a/plugin-utils/src/main/java/org/axolotsh/pluginutils/dependency_injection/BaseJavaPlugin.java b/plugin-utils/src/main/java/org/axolotsh/pluginutils/dependency_injection/BaseJavaPlugin.java index 6308b0e..07f655e 100644 --- a/plugin-utils/src/main/java/org/axolotsh/pluginutils/dependency_injection/BaseJavaPlugin.java +++ b/plugin-utils/src/main/java/org/axolotsh/pluginutils/dependency_injection/BaseJavaPlugin.java @@ -107,16 +107,17 @@ public abstract class BaseJavaPlugin extends JavaPlugin { for (var command : commands) { var clazzName = command.getClass().getName(); - command.parentCommand().ifPresent(parentClazz -> { - var parent = commandsByClazz.get(parentClazz); + var parentCommand = command.parentCommand(); + if (parentCommand != null) { + var parent = commandsByClazz.get(parentCommand); if (parent == null) { logger.error("Parent command '{}' for command '{}' cannot be found.", - parentClazz.getName(), + parentCommand.getName(), clazzName); } else result.get(parent).add(command); - }); + } } return result; diff --git a/plugin-utils/src/main/java/org/axolotsh/pluginutils/dependency_injection/entities/ICommand.java b/plugin-utils/src/main/java/org/axolotsh/pluginutils/dependency_injection/entities/ICommand.java index 0ce88c7..fb8d5fa 100644 --- a/plugin-utils/src/main/java/org/axolotsh/pluginutils/dependency_injection/entities/ICommand.java +++ b/plugin-utils/src/main/java/org/axolotsh/pluginutils/dependency_injection/entities/ICommand.java @@ -1,9 +1,9 @@ package org.axolotsh.pluginutils.dependency_injection.entities; import java.util.Collection; -import java.util.Optional; import org.bukkit.permissions.Permission; +import org.jetbrains.annotations.Nullable; import dev.jorel.commandapi.CommandAPICommand; @@ -12,5 +12,6 @@ public interface ICommand { public CommandAPICommand command(); - public Optional> parentCommand(); + @Nullable + public Class parentCommand(); }