From 711f3e2885bb067121c3d39c810ba93883b1d792 Mon Sep 17 00:00:00 2001 From: ChomeNS <95471003+ChomeNS@users.noreply.github.com> Date: Sat, 3 May 2025 08:42:41 +0700 Subject: [PATCH] refactor: clean up Main class a bit --- .../java/me/chayapak1/chomens_bot/Main.java | 72 ++++++++++--------- 1 file changed, 38 insertions(+), 34 deletions(-) diff --git a/src/main/java/me/chayapak1/chomens_bot/Main.java b/src/main/java/me/chayapak1/chomens_bot/Main.java index f70f51e2..9eea13b3 100644 --- a/src/main/java/me/chayapak1/chomens_bot/Main.java +++ b/src/main/java/me/chayapak1/chomens_bot/Main.java @@ -53,39 +53,7 @@ public class Main { public static IRCPlugin irc; public static void main (final String[] args) throws IOException { - final Path configPath = Path.of("config.yml"); - - final Constructor constructor = new Constructor(Configuration.class, new LoaderOptions()); - final Yaml yaml = new Yaml(constructor); - - if (!Files.exists(configPath)) { - // creates config file from default-config.yml - final InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("default-config.yml"); - - if (is == null) System.exit(1); - - final BufferedReader reader = new BufferedReader(new InputStreamReader(is)); - final StringBuilder stringBuilder = new StringBuilder(); - while (reader.ready()) { - final char character = (char) reader.read(); - stringBuilder.append(character); - } - final String defaultConfig = stringBuilder.toString(); - - // writes it - final BufferedWriter configWriter = Files.newBufferedWriter(configPath); - configWriter.write(defaultConfig); - configWriter.close(); - - LoggerUtilities.log("config.yml file was not found, so the default one was created. Please modify it to your needs."); - - System.exit(1); - } - - final InputStream opt = Files.newInputStream(configPath); - final BufferedReader reader = new BufferedReader(new InputStreamReader(opt)); - - config = yaml.load(reader); + loadConfig(); final Thread shutdownThread = new Thread(Main::handleShutdown, "ChomeNS Bot Shutdown Thread"); Runtime.getRuntime().addShutdownHook(shutdownThread); @@ -123,7 +91,43 @@ public class Main { } } - public static void initializeBots () { + private static void loadConfig () throws IOException { + final Path configPath = Path.of("config.yml"); + + final Constructor constructor = new Constructor(Configuration.class, new LoaderOptions()); + final Yaml yaml = new Yaml(constructor); + + if (!Files.exists(configPath)) { + // creates config file from default-config.yml + final InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("default-config.yml"); + + if (is == null) System.exit(1); + + final BufferedReader reader = new BufferedReader(new InputStreamReader(is)); + final StringBuilder stringBuilder = new StringBuilder(); + while (reader.ready()) { + final char character = (char) reader.read(); + stringBuilder.append(character); + } + final String defaultConfig = stringBuilder.toString(); + + // writes it + final BufferedWriter configWriter = Files.newBufferedWriter(configPath); + configWriter.write(defaultConfig); + configWriter.close(); + + LoggerUtilities.log("config.yml file was not found, so the default one was created. Please modify it to your needs."); + + System.exit(1); + } + + final InputStream opt = Files.newInputStream(configPath); + final BufferedReader reader = new BufferedReader(new InputStreamReader(opt)); + + config = yaml.load(reader); + } + + private static void initializeBots () { alreadyStarted = true; try {