From 6fe1330038abfcebd7af09021b65276aca89424e Mon Sep 17 00:00:00 2001 From: xGinko Date: Tue, 30 Jul 2024 20:47:30 +0200 Subject: [PATCH] simplify command reload --- .../commands/VillagerOptimizerCommand.java | 24 ++++++++----------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/src/main/java/me/xginko/villageroptimizer/commands/VillagerOptimizerCommand.java b/src/main/java/me/xginko/villageroptimizer/commands/VillagerOptimizerCommand.java index 5866c3d..5c3560d 100644 --- a/src/main/java/me/xginko/villageroptimizer/commands/VillagerOptimizerCommand.java +++ b/src/main/java/me/xginko/villageroptimizer/commands/VillagerOptimizerCommand.java @@ -11,11 +11,11 @@ import org.jetbrains.annotations.NotNull; import org.reflections.Reflections; import org.reflections.scanners.Scanners; +import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Modifier; import java.util.Arrays; import java.util.HashSet; import java.util.List; -import java.util.Objects; import java.util.Set; public abstract class VillagerOptimizerCommand implements Enableable, Disableable, CommandExecutor, TabCompleter { @@ -36,19 +36,15 @@ public abstract class VillagerOptimizerCommand implements Enableable, Disableabl COMMANDS.forEach(VillagerOptimizerCommand::disable); COMMANDS.clear(); - COMMANDS_PACKAGE.get(Scanners.SubTypes.of(VillagerOptimizerCommand.class).asClass()) - .stream() - .filter(clazz -> !clazz.isInterface() && !Modifier.isAbstract(clazz.getModifiers())) - .map(clazz -> { - try { - return (VillagerOptimizerCommand) clazz.getDeclaredConstructor().newInstance(); - } catch (Throwable t) { - VillagerOptimizer.logger().error("Failed initialising command '{}'.", clazz.getSimpleName(), t); - return null; - } - }) - .filter(Objects::nonNull) - .forEach(COMMANDS::add); + for (Class clazz : COMMANDS_PACKAGE.get(Scanners.SubTypes.of(VillagerOptimizerCommand.class).asClass())) { + if (clazz.isInterface() || Modifier.isAbstract(clazz.getModifiers())) continue; + + try { + COMMANDS.add((VillagerOptimizerCommand) clazz.getDeclaredConstructor().newInstance()); + } catch (InstantiationException | IllegalAccessException | InvocationTargetException | NoSuchMethodException e) { + VillagerOptimizer.logger().error("Failed initialising command class '{}'.", clazz.getSimpleName(), e); + } + } COMMANDS.forEach(VillagerOptimizerCommand::enable); }