aboutsummaryrefslogtreecommitdiff
path: root/mod/src/main/java/moe/ymc/acron/config/Config.java
blob: 3749c251d6a89bd718068fce81c87d43b2fe4714 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package moe.ymc.acron.config;

import moe.ymc.acron.auth.Client;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.jetbrains.annotations.NotNull;

import java.net.InetAddress;
import java.util.Map;

public record Config(@NotNull InetAddress address,
                     int port,
                     boolean useNativeTransport,
                     @NotNull Map<String, Client> clients) {
    private static final Logger LOGGER = LogManager.getLogger();
    private static Config globalConfig;

    @NotNull
    public static Config getGlobalConfig() {
        return globalConfig;
    }

    public static void setGlobalConfig(@NotNull Config globalConfig) {
        Config.globalConfig = globalConfig;
        LOGGER.info("Config loaded with {} clients. Listening on {}:{}.",
                globalConfig.clients.size(),
                globalConfig.address.toString(),
                globalConfig.port);
    }
}