From 4902169b42da160359a1ddb3d86917412aeac3c0 Mon Sep 17 00:00:00 2001 From: 3arthqu4ke <56741599+3arthqu4ke@users.noreply.github.com> Date: Tue, 13 Aug 2024 12:28:36 +0200 Subject: [PATCH] Fixed plugin command not showing plugins --- .../headlessmc/api/command/CopyContext.java | 20 +++++++++++++++++++ .../launcher/command/PluginsCommand.java | 1 + .../launcher/plugin/PluginManager.java | 2 ++ 3 files changed, 23 insertions(+) create mode 100644 headlessmc-api/src/main/java/me/earth/headlessmc/api/command/CopyContext.java diff --git a/headlessmc-api/src/main/java/me/earth/headlessmc/api/command/CopyContext.java b/headlessmc-api/src/main/java/me/earth/headlessmc/api/command/CopyContext.java new file mode 100644 index 00000000..2398271e --- /dev/null +++ b/headlessmc-api/src/main/java/me/earth/headlessmc/api/command/CopyContext.java @@ -0,0 +1,20 @@ +package me.earth.headlessmc.api.command; + +import me.earth.headlessmc.api.HeadlessMc; + +public class CopyContext extends CommandContextImpl { + public CopyContext(HeadlessMc ctx, boolean baseContext) { + super(ctx); + CommandContext before = baseContext ? ctx.getCommandLine().getBaseContext() : ctx.getCommandLine().getCommandContext(); + for (Command command : before) { + add(command); + } + } + + // TODO: actually we should always expose this + @Override + public void add(Command command) { + super.add(command); + } + +} diff --git a/headlessmc-launcher/src/main/java/me/earth/headlessmc/launcher/command/PluginsCommand.java b/headlessmc-launcher/src/main/java/me/earth/headlessmc/launcher/command/PluginsCommand.java index f9498094..9c085c61 100644 --- a/headlessmc-launcher/src/main/java/me/earth/headlessmc/launcher/command/PluginsCommand.java +++ b/headlessmc-launcher/src/main/java/me/earth/headlessmc/launcher/command/PluginsCommand.java @@ -18,6 +18,7 @@ public void execute(String line, String... args) throws CommandException { ctx.log(new Table() .withColumn("name", HasName::getName) .withColumn("description", HasDescription::getDescription) + .addAll(ctx.getPluginManager().getPlugins()) .build()); } diff --git a/headlessmc-launcher/src/main/java/me/earth/headlessmc/launcher/plugin/PluginManager.java b/headlessmc-launcher/src/main/java/me/earth/headlessmc/launcher/plugin/PluginManager.java index 5ff792ea..220b93c0 100644 --- a/headlessmc-launcher/src/main/java/me/earth/headlessmc/launcher/plugin/PluginManager.java +++ b/headlessmc-launcher/src/main/java/me/earth/headlessmc/launcher/plugin/PluginManager.java @@ -1,11 +1,13 @@ package me.earth.headlessmc.launcher.plugin; +import lombok.Getter; import me.earth.headlessmc.launcher.Launcher; import java.util.ArrayList; import java.util.List; import java.util.ServiceLoader; +@Getter public class PluginManager { private final List plugins = new ArrayList<>();