From 7c8efa597beffc853c60157a50f49b8d245a1fb9 Mon Sep 17 00:00:00 2001 From: Finn Date: Sun, 18 Jan 2026 22:56:12 +0100 Subject: [PATCH] Added StopCommand --- .../insserver/Main.java | 7 ++++-- .../insserver/commands/StopCommand.java | 23 +++++++++++++++++++ 2 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 src/main/java/org/openautonomousconnection/insserver/commands/StopCommand.java diff --git a/src/main/java/org/openautonomousconnection/insserver/Main.java b/src/main/java/org/openautonomousconnection/insserver/Main.java index 697c4a6..ede9410 100644 --- a/src/main/java/org/openautonomousconnection/insserver/Main.java +++ b/src/main/java/org/openautonomousconnection/insserver/Main.java @@ -7,6 +7,7 @@ import dev.unlegitdqrk.unlegitlibrary.event.EventManager; import dev.unlegitdqrk.unlegitlibrary.file.ConfigurationManager; import dev.unlegitdqrk.unlegitlibrary.network.system.packets.PacketHandler; import lombok.Getter; +import org.openautonomousconnection.insserver.commands.StopCommand; import org.openautonomousconnection.protocol.ProtocolBridge; import org.openautonomousconnection.protocol.ProtocolValues; import org.openautonomousconnection.protocol.versions.ProtocolVersion; @@ -15,8 +16,9 @@ import java.io.File; import java.util.Scanner; public class Main { - private static final CommandPermission PERMISSION_ALL = new CommandPermission("all", 1); + public static final CommandPermission PERMISSION_ALL = new CommandPermission("all", 1); private static final CommandExecutor commandExecutor = new CommandExecutor("INS", PERMISSION_ALL) {}; + @Getter private static CommandManager commandManager; @Getter @@ -33,7 +35,6 @@ public class Main { ConfigurationManager config = new ConfigurationManager(new File("config.properties")); - if (!config.isSet("db.url")) { config.set( "db.url", @@ -87,6 +88,8 @@ public class Main { server.getNetwork().start(); commandManager = new CommandManager(values.eventManager); + commandManager.registerCommand(StopCommand.class); + Scanner scanner = new Scanner(System.in); while (true) { diff --git a/src/main/java/org/openautonomousconnection/insserver/commands/StopCommand.java b/src/main/java/org/openautonomousconnection/insserver/commands/StopCommand.java new file mode 100644 index 0000000..b4d17fc --- /dev/null +++ b/src/main/java/org/openautonomousconnection/insserver/commands/StopCommand.java @@ -0,0 +1,23 @@ +package org.openautonomousconnection.insserver.commands; + +import dev.unlegitdqrk.unlegitlibrary.command.Command; +import dev.unlegitdqrk.unlegitlibrary.command.CommandExecutor; +import dev.unlegitdqrk.unlegitlibrary.command.CommandManager; +import dev.unlegitdqrk.unlegitlibrary.command.CommandPermission; +import org.openautonomousconnection.insserver.Main; + +import javax.management.InstanceAlreadyExistsException; +import java.util.ArrayList; +import java.util.Collections; + +public class StopCommand extends Command { + + public StopCommand() throws InstanceAlreadyExistsException { + super(Main.getCommandManager(), "stop", "Stop the Server", "stop", Collections.singletonList(Main.PERMISSION_ALL), new ArrayList<>()); + } + + @Override + public void execute(CommandExecutor commandExecutor, String s, String[] strings) { + System.exit(0); + } +}