mirror of
https://github.com/DiscordSRV/Ascension.git
synced 2024-12-25 17:08:27 +01:00
Merge messages-config
This commit is contained in:
commit
59764117d3
2
.github/workflows/crowdin-download.yaml
vendored
2
.github/workflows/crowdin-download.yaml
vendored
@ -40,6 +40,6 @@ jobs:
|
|||||||
project_id: ${{ secrets.CROWDIN_PROJECT_ID }}
|
project_id: ${{ secrets.CROWDIN_PROJECT_ID }}
|
||||||
token: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
|
token: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
|
||||||
source: "i18n/build/source.yaml"
|
source: "i18n/build/source.yaml"
|
||||||
translation: "/i18n/src/main/resources/translations/%three_letters_code%.%file_extension%"
|
translation: "/i18n/src/main/resources/translations/%two_letters_code%.%file_extension%"
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
2
.github/workflows/crowdin-upload.yaml
vendored
2
.github/workflows/crowdin-upload.yaml
vendored
@ -32,6 +32,6 @@ jobs:
|
|||||||
project_id: ${{ secrets.CROWDIN_PROJECT_ID }}
|
project_id: ${{ secrets.CROWDIN_PROJECT_ID }}
|
||||||
token: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
|
token: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
|
||||||
source: "i18n/build/source.yaml"
|
source: "i18n/build/source.yaml"
|
||||||
translation: "/i18n/src/main/resources/translations/%three_letters_code%.%file_extension%"
|
translation: "/i18n/src/main/resources/translations/%two_letters_code%.%file_extension%"
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
@ -26,6 +26,7 @@ import com.discordsrv.bukkit.config.connection.BukkitConnectionConfig;
|
|||||||
import com.discordsrv.bukkit.config.main.BukkitConfig;
|
import com.discordsrv.bukkit.config.main.BukkitConfig;
|
||||||
import com.discordsrv.bukkit.config.manager.BukkitConfigManager;
|
import com.discordsrv.bukkit.config.manager.BukkitConfigManager;
|
||||||
import com.discordsrv.bukkit.config.manager.BukkitConnectionConfigManager;
|
import com.discordsrv.bukkit.config.manager.BukkitConnectionConfigManager;
|
||||||
|
import com.discordsrv.bukkit.config.manager.BukkitMessagesConfigManager;
|
||||||
import com.discordsrv.bukkit.console.BukkitConsole;
|
import com.discordsrv.bukkit.console.BukkitConsole;
|
||||||
import com.discordsrv.bukkit.listener.BukkitConnectionListener;
|
import com.discordsrv.bukkit.listener.BukkitConnectionListener;
|
||||||
import com.discordsrv.bukkit.listener.BukkitDeathListener;
|
import com.discordsrv.bukkit.listener.BukkitDeathListener;
|
||||||
@ -43,6 +44,8 @@ import com.discordsrv.common.ServerDiscordSRV;
|
|||||||
import com.discordsrv.common.command.game.handler.ICommandHandler;
|
import com.discordsrv.common.command.game.handler.ICommandHandler;
|
||||||
import com.discordsrv.common.config.configurate.manager.ConnectionConfigManager;
|
import com.discordsrv.common.config.configurate.manager.ConnectionConfigManager;
|
||||||
import com.discordsrv.common.config.configurate.manager.MainConfigManager;
|
import com.discordsrv.common.config.configurate.manager.MainConfigManager;
|
||||||
|
import com.discordsrv.common.config.configurate.manager.MessagesConfigManager;
|
||||||
|
import com.discordsrv.common.config.messages.MessagesConfig;
|
||||||
import com.discordsrv.common.debug.data.OnlineMode;
|
import com.discordsrv.common.debug.data.OnlineMode;
|
||||||
import com.discordsrv.common.messageforwarding.game.minecrafttodiscord.MinecraftToDiscordChatModule;
|
import com.discordsrv.common.messageforwarding.game.minecrafttodiscord.MinecraftToDiscordChatModule;
|
||||||
import com.discordsrv.common.plugin.PluginManager;
|
import com.discordsrv.common.plugin.PluginManager;
|
||||||
@ -56,7 +59,7 @@ import java.lang.reflect.Field;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
public class BukkitDiscordSRV extends ServerDiscordSRV<DiscordSRVBukkitBootstrap, BukkitConfig, BukkitConnectionConfig> {
|
public class BukkitDiscordSRV extends ServerDiscordSRV<DiscordSRVBukkitBootstrap, BukkitConfig, BukkitConnectionConfig, MessagesConfig> {
|
||||||
|
|
||||||
private BukkitAudiences audiences;
|
private BukkitAudiences audiences;
|
||||||
private BukkitTranslationLoader translationLoader;
|
private BukkitTranslationLoader translationLoader;
|
||||||
@ -71,6 +74,7 @@ public class BukkitDiscordSRV extends ServerDiscordSRV<DiscordSRVBukkitBootstrap
|
|||||||
|
|
||||||
private final BukkitConnectionConfigManager connectionConfigManager;
|
private final BukkitConnectionConfigManager connectionConfigManager;
|
||||||
private final BukkitConfigManager configManager;
|
private final BukkitConfigManager configManager;
|
||||||
|
private final BukkitMessagesConfigManager messagesConfigManager;
|
||||||
|
|
||||||
private static IBukkitScheduler createScheduler(BukkitDiscordSRV discordSRV) {
|
private static IBukkitScheduler createScheduler(BukkitDiscordSRV discordSRV) {
|
||||||
try {
|
try {
|
||||||
@ -92,6 +96,7 @@ public class BukkitDiscordSRV extends ServerDiscordSRV<DiscordSRVBukkitBootstrap
|
|||||||
// Config
|
// Config
|
||||||
this.connectionConfigManager = new BukkitConnectionConfigManager(this);
|
this.connectionConfigManager = new BukkitConnectionConfigManager(this);
|
||||||
this.configManager = new BukkitConfigManager(this);
|
this.configManager = new BukkitConfigManager(this);
|
||||||
|
this.messagesConfigManager = new BukkitMessagesConfigManager(this);
|
||||||
|
|
||||||
load();
|
load();
|
||||||
|
|
||||||
@ -170,6 +175,11 @@ public class BukkitDiscordSRV extends ServerDiscordSRV<DiscordSRVBukkitBootstrap
|
|||||||
return configManager;
|
return configManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public MessagesConfigManager<MessagesConfig> messagesConfigManager() {
|
||||||
|
return messagesConfigManager;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void enable() throws Throwable {
|
protected void enable() throws Throwable {
|
||||||
// Service provider
|
// Service provider
|
||||||
|
@ -0,0 +1,17 @@
|
|||||||
|
package com.discordsrv.bukkit.config.manager;
|
||||||
|
|
||||||
|
import com.discordsrv.common.DiscordSRV;
|
||||||
|
import com.discordsrv.common.config.configurate.manager.MessagesConfigManager;
|
||||||
|
import com.discordsrv.common.config.messages.MessagesConfig;
|
||||||
|
|
||||||
|
public class BukkitMessagesConfigManager extends MessagesConfigManager<MessagesConfig> {
|
||||||
|
|
||||||
|
public BukkitMessagesConfigManager(DiscordSRV discordSRV) {
|
||||||
|
super(discordSRV);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public MessagesConfig createConfiguration() {
|
||||||
|
return new MessagesConfig();
|
||||||
|
}
|
||||||
|
}
|
@ -24,10 +24,12 @@ import com.discordsrv.bungee.player.BungeePlayerProvider;
|
|||||||
import com.discordsrv.bungee.plugin.BungeePluginManager;
|
import com.discordsrv.bungee.plugin.BungeePluginManager;
|
||||||
import com.discordsrv.common.ProxyDiscordSRV;
|
import com.discordsrv.common.ProxyDiscordSRV;
|
||||||
import com.discordsrv.common.command.game.handler.ICommandHandler;
|
import com.discordsrv.common.command.game.handler.ICommandHandler;
|
||||||
|
import com.discordsrv.common.config.configurate.manager.MessagesConfigManager;
|
||||||
import com.discordsrv.common.config.connection.ConnectionConfig;
|
import com.discordsrv.common.config.connection.ConnectionConfig;
|
||||||
import com.discordsrv.common.config.main.MainConfig;
|
import com.discordsrv.common.config.main.MainConfig;
|
||||||
import com.discordsrv.common.config.configurate.manager.ConnectionConfigManager;
|
import com.discordsrv.common.config.configurate.manager.ConnectionConfigManager;
|
||||||
import com.discordsrv.common.config.configurate.manager.MainConfigManager;
|
import com.discordsrv.common.config.configurate.manager.MainConfigManager;
|
||||||
|
import com.discordsrv.common.config.messages.MessagesConfig;
|
||||||
import com.discordsrv.common.debug.data.OnlineMode;
|
import com.discordsrv.common.debug.data.OnlineMode;
|
||||||
import com.discordsrv.common.plugin.PluginManager;
|
import com.discordsrv.common.plugin.PluginManager;
|
||||||
import com.discordsrv.common.scheduler.StandardScheduler;
|
import com.discordsrv.common.scheduler.StandardScheduler;
|
||||||
@ -36,7 +38,7 @@ import net.md_5.bungee.api.ProxyServer;
|
|||||||
import net.md_5.bungee.api.plugin.Plugin;
|
import net.md_5.bungee.api.plugin.Plugin;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
public class BungeeDiscordSRV extends ProxyDiscordSRV<DiscordSRVBungeeBootstrap, MainConfig, ConnectionConfig> {
|
public class BungeeDiscordSRV extends ProxyDiscordSRV<DiscordSRVBungeeBootstrap, MainConfig, ConnectionConfig, MessagesConfig> {
|
||||||
|
|
||||||
private BungeeAudiences audiences;
|
private BungeeAudiences audiences;
|
||||||
|
|
||||||
@ -109,6 +111,11 @@ public class BungeeDiscordSRV extends ProxyDiscordSRV<DiscordSRVBungeeBootstrap,
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public MessagesConfigManager<MessagesConfig> messagesConfigManager() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void enable() throws Throwable {
|
protected void enable() throws Throwable {
|
||||||
// Player related
|
// Player related
|
||||||
|
@ -33,12 +33,15 @@ import com.discordsrv.common.command.discord.DiscordCommandModule;
|
|||||||
import com.discordsrv.common.command.game.GameCommandModule;
|
import com.discordsrv.common.command.game.GameCommandModule;
|
||||||
import com.discordsrv.common.command.game.commands.subcommand.reload.ReloadResults;
|
import com.discordsrv.common.command.game.commands.subcommand.reload.ReloadResults;
|
||||||
import com.discordsrv.common.component.ComponentFactory;
|
import com.discordsrv.common.component.ComponentFactory;
|
||||||
|
import com.discordsrv.common.config.configurate.manager.ConnectionConfigManager;
|
||||||
|
import com.discordsrv.common.config.configurate.manager.MainConfigManager;
|
||||||
|
import com.discordsrv.common.config.configurate.manager.MessagesConfigManager;
|
||||||
|
import com.discordsrv.common.config.configurate.manager.MessagesConfigSingleManager;
|
||||||
import com.discordsrv.common.config.connection.ConnectionConfig;
|
import com.discordsrv.common.config.connection.ConnectionConfig;
|
||||||
import com.discordsrv.common.config.connection.UpdateConfig;
|
import com.discordsrv.common.config.connection.UpdateConfig;
|
||||||
import com.discordsrv.common.config.main.MainConfig;
|
import com.discordsrv.common.config.main.MainConfig;
|
||||||
import com.discordsrv.common.config.main.linking.LinkedAccountConfig;
|
import com.discordsrv.common.config.main.linking.LinkedAccountConfig;
|
||||||
import com.discordsrv.common.config.configurate.manager.ConnectionConfigManager;
|
import com.discordsrv.common.config.messages.MessagesConfig;
|
||||||
import com.discordsrv.common.config.configurate.manager.MainConfigManager;
|
|
||||||
import com.discordsrv.common.debug.data.VersionInfo;
|
import com.discordsrv.common.debug.data.VersionInfo;
|
||||||
import com.discordsrv.common.dependency.DiscordSRVDependencyManager;
|
import com.discordsrv.common.dependency.DiscordSRVDependencyManager;
|
||||||
import com.discordsrv.common.discord.api.DiscordAPIEventModule;
|
import com.discordsrv.common.discord.api.DiscordAPIEventModule;
|
||||||
@ -84,6 +87,7 @@ import okhttp3.ConnectionPool;
|
|||||||
import okhttp3.Dispatcher;
|
import okhttp3.Dispatcher;
|
||||||
import okhttp3.OkHttpClient;
|
import okhttp3.OkHttpClient;
|
||||||
import okhttp3.Request;
|
import okhttp3.Request;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.intellij.lang.annotations.Language;
|
import org.intellij.lang.annotations.Language;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
@ -110,7 +114,12 @@ import java.util.jar.Manifest;
|
|||||||
* @param <C> the config type
|
* @param <C> the config type
|
||||||
* @param <CC> the connections config type
|
* @param <CC> the connections config type
|
||||||
*/
|
*/
|
||||||
public abstract class AbstractDiscordSRV<B extends IBootstrap, C extends MainConfig, CC extends ConnectionConfig> implements DiscordSRV {
|
public abstract class AbstractDiscordSRV<
|
||||||
|
B extends IBootstrap,
|
||||||
|
C extends MainConfig,
|
||||||
|
CC extends ConnectionConfig,
|
||||||
|
MC extends MessagesConfig
|
||||||
|
> implements DiscordSRV {
|
||||||
|
|
||||||
private final AtomicReference<Status> status = new AtomicReference<>(Status.INITIALIZED);
|
private final AtomicReference<Status> status = new AtomicReference<>(Status.INITIALIZED);
|
||||||
private final AtomicReference<Boolean> beenReady = new AtomicReference<>(false);
|
private final AtomicReference<Boolean> beenReady = new AtomicReference<>(false);
|
||||||
@ -380,6 +389,21 @@ public abstract class AbstractDiscordSRV<B extends IBootstrap, C extends MainCon
|
|||||||
return configManager().config();
|
return configManager().config();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public abstract MessagesConfigManager<MC> messagesConfigManager();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public MC messagesConfig(Locale locale) {
|
||||||
|
MessagesConfigSingleManager<MC> manager = messagesConfigManager().getManager(locale);
|
||||||
|
if (manager == null) {
|
||||||
|
manager = messagesConfigManager().getManager(defaultLocale());
|
||||||
|
}
|
||||||
|
if (manager == null) {
|
||||||
|
manager = messagesConfigManager().getManager(Locale.US);
|
||||||
|
}
|
||||||
|
return manager.config();
|
||||||
|
}
|
||||||
|
|
||||||
// Module
|
// Module
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -430,8 +454,15 @@ public abstract class AbstractDiscordSRV<B extends IBootstrap, C extends MainCon
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Locale locale() {
|
public Locale defaultLocale() {
|
||||||
// TODO: config
|
MainConfig config = config();
|
||||||
|
if (config != null) {
|
||||||
|
String defaultLanguage = config.messages.defaultLanguage;
|
||||||
|
if (StringUtils.isNotBlank(defaultLanguage)) {
|
||||||
|
return Locale.forLanguageTag(defaultLanguage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return Locale.getDefault();
|
return Locale.getDefault();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -607,6 +638,7 @@ public abstract class AbstractDiscordSRV<B extends IBootstrap, C extends MainCon
|
|||||||
try {
|
try {
|
||||||
connectionConfigManager().load();
|
connectionConfigManager().load();
|
||||||
configManager().load();
|
configManager().load();
|
||||||
|
messagesConfigManager().load();
|
||||||
|
|
||||||
channelConfig().reload();
|
channelConfig().reload();
|
||||||
} catch (Throwable t) {
|
} catch (Throwable t) {
|
||||||
|
@ -26,10 +26,12 @@ import com.discordsrv.common.channel.ChannelConfigHelper;
|
|||||||
import com.discordsrv.common.command.game.GameCommandExecutionHelper;
|
import com.discordsrv.common.command.game.GameCommandExecutionHelper;
|
||||||
import com.discordsrv.common.command.game.handler.ICommandHandler;
|
import com.discordsrv.common.command.game.handler.ICommandHandler;
|
||||||
import com.discordsrv.common.component.ComponentFactory;
|
import com.discordsrv.common.component.ComponentFactory;
|
||||||
import com.discordsrv.common.config.connection.ConnectionConfig;
|
|
||||||
import com.discordsrv.common.config.main.MainConfig;
|
|
||||||
import com.discordsrv.common.config.configurate.manager.ConnectionConfigManager;
|
import com.discordsrv.common.config.configurate.manager.ConnectionConfigManager;
|
||||||
import com.discordsrv.common.config.configurate.manager.MainConfigManager;
|
import com.discordsrv.common.config.configurate.manager.MainConfigManager;
|
||||||
|
import com.discordsrv.common.config.configurate.manager.MessagesConfigManager;
|
||||||
|
import com.discordsrv.common.config.connection.ConnectionConfig;
|
||||||
|
import com.discordsrv.common.config.main.MainConfig;
|
||||||
|
import com.discordsrv.common.config.messages.MessagesConfig;
|
||||||
import com.discordsrv.common.console.Console;
|
import com.discordsrv.common.console.Console;
|
||||||
import com.discordsrv.common.debug.data.OnlineMode;
|
import com.discordsrv.common.debug.data.OnlineMode;
|
||||||
import com.discordsrv.common.debug.data.VersionInfo;
|
import com.discordsrv.common.debug.data.VersionInfo;
|
||||||
@ -115,6 +117,9 @@ public interface DiscordSRV extends DiscordSRVApi {
|
|||||||
ConnectionConfig connectionConfig();
|
ConnectionConfig connectionConfig();
|
||||||
MainConfigManager<? extends MainConfig> configManager();
|
MainConfigManager<? extends MainConfig> configManager();
|
||||||
MainConfig config();
|
MainConfig config();
|
||||||
|
MessagesConfigManager<? extends MessagesConfig> messagesConfigManager();
|
||||||
|
MessagesConfig messagesConfig(Locale locale);
|
||||||
|
|
||||||
// Config helper
|
// Config helper
|
||||||
ChannelConfigHelper channelConfig();
|
ChannelConfigHelper channelConfig();
|
||||||
|
|
||||||
@ -130,7 +135,7 @@ public interface DiscordSRV extends DiscordSRVApi {
|
|||||||
void unregisterModule(AbstractModule<?> module);
|
void unregisterModule(AbstractModule<?> module);
|
||||||
ModuleManager moduleManager();
|
ModuleManager moduleManager();
|
||||||
|
|
||||||
Locale locale();
|
Locale defaultLocale();
|
||||||
|
|
||||||
// Status
|
// Status
|
||||||
void setStatus(Status status);
|
void setStatus(Status status);
|
||||||
|
@ -21,9 +21,15 @@ package com.discordsrv.common;
|
|||||||
import com.discordsrv.common.bootstrap.IBootstrap;
|
import com.discordsrv.common.bootstrap.IBootstrap;
|
||||||
import com.discordsrv.common.config.connection.ConnectionConfig;
|
import com.discordsrv.common.config.connection.ConnectionConfig;
|
||||||
import com.discordsrv.common.config.main.MainConfig;
|
import com.discordsrv.common.config.main.MainConfig;
|
||||||
|
import com.discordsrv.common.config.messages.MessagesConfig;
|
||||||
import com.discordsrv.common.messageforwarding.game.ServerSwitchMessageModule;
|
import com.discordsrv.common.messageforwarding.game.ServerSwitchMessageModule;
|
||||||
|
|
||||||
public abstract class ProxyDiscordSRV<B extends IBootstrap, C extends MainConfig, CC extends ConnectionConfig> extends AbstractDiscordSRV<B, C, CC> {
|
public abstract class ProxyDiscordSRV<
|
||||||
|
B extends IBootstrap,
|
||||||
|
C extends MainConfig,
|
||||||
|
CC extends ConnectionConfig,
|
||||||
|
MC extends MessagesConfig
|
||||||
|
> extends AbstractDiscordSRV<B, C, CC, MC> {
|
||||||
|
|
||||||
public ProxyDiscordSRV(B bootstrap) {
|
public ProxyDiscordSRV(B bootstrap) {
|
||||||
super(bootstrap);
|
super(bootstrap);
|
||||||
|
@ -21,6 +21,7 @@ package com.discordsrv.common;
|
|||||||
import com.discordsrv.common.bootstrap.IBootstrap;
|
import com.discordsrv.common.bootstrap.IBootstrap;
|
||||||
import com.discordsrv.common.config.connection.ConnectionConfig;
|
import com.discordsrv.common.config.connection.ConnectionConfig;
|
||||||
import com.discordsrv.common.config.main.MainConfig;
|
import com.discordsrv.common.config.main.MainConfig;
|
||||||
|
import com.discordsrv.common.config.messages.MessagesConfig;
|
||||||
import com.discordsrv.common.messageforwarding.game.AwardMessageModule;
|
import com.discordsrv.common.messageforwarding.game.AwardMessageModule;
|
||||||
import com.discordsrv.common.messageforwarding.game.DeathMessageModule;
|
import com.discordsrv.common.messageforwarding.game.DeathMessageModule;
|
||||||
import com.discordsrv.common.player.ServerPlayerProvider;
|
import com.discordsrv.common.player.ServerPlayerProvider;
|
||||||
@ -30,7 +31,12 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
import javax.annotation.OverridingMethodsMustInvokeSuper;
|
import javax.annotation.OverridingMethodsMustInvokeSuper;
|
||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
|
|
||||||
public abstract class ServerDiscordSRV<B extends IBootstrap, C extends MainConfig, CC extends ConnectionConfig> extends AbstractDiscordSRV<B, C, CC> {
|
public abstract class ServerDiscordSRV<
|
||||||
|
B extends IBootstrap,
|
||||||
|
C extends MainConfig,
|
||||||
|
CC extends ConnectionConfig,
|
||||||
|
MC extends MessagesConfig
|
||||||
|
> extends AbstractDiscordSRV<B, C, CC, MC> {
|
||||||
|
|
||||||
public ServerDiscordSRV(B bootstrap) {
|
public ServerDiscordSRV(B bootstrap) {
|
||||||
super(bootstrap);
|
super(bootstrap);
|
||||||
|
@ -0,0 +1,91 @@
|
|||||||
|
package com.discordsrv.common.config.configurate.manager;
|
||||||
|
|
||||||
|
import com.discordsrv.common.DiscordSRV;
|
||||||
|
import com.discordsrv.common.config.main.MainConfig;
|
||||||
|
import com.discordsrv.common.config.messages.MessagesConfig;
|
||||||
|
import com.discordsrv.common.exception.ConfigException;
|
||||||
|
import com.discordsrv.common.logging.Logger;
|
||||||
|
import com.discordsrv.common.logging.NamedLogger;
|
||||||
|
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.nio.file.Path;
|
||||||
|
import java.util.*;
|
||||||
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
|
public abstract class MessagesConfigManager<C extends MessagesConfig> {
|
||||||
|
|
||||||
|
private final Map<Locale, MessagesConfigSingleManager<C>> configs = new LinkedHashMap<>();
|
||||||
|
private final DiscordSRV discordSRV;
|
||||||
|
private final Logger logger;
|
||||||
|
|
||||||
|
public MessagesConfigManager(DiscordSRV discordSRV) {
|
||||||
|
this.discordSRV = discordSRV;
|
||||||
|
this.logger = new NamedLogger(discordSRV, "MESSAGES_CONFIG");
|
||||||
|
}
|
||||||
|
|
||||||
|
public abstract C createConfiguration();
|
||||||
|
|
||||||
|
public MessagesConfigSingleManager<C> getManager(Locale locale) {
|
||||||
|
synchronized (configs) {
|
||||||
|
return configs.get(locale);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Path directory() {
|
||||||
|
return discordSRV.dataDirectory().resolve("messages");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void load() throws ConfigException {
|
||||||
|
synchronized (configs) {
|
||||||
|
configs.clear();
|
||||||
|
|
||||||
|
MainConfig config = discordSRV.config();
|
||||||
|
if (config == null) {
|
||||||
|
throw new ConfigException("MainConfig not available");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (config.messages.multiple) {
|
||||||
|
try {
|
||||||
|
Path messagesDirectory = directory();
|
||||||
|
if (!Files.exists(messagesDirectory)) {
|
||||||
|
Files.createDirectory(messagesDirectory);
|
||||||
|
}
|
||||||
|
|
||||||
|
List<Locale> existing = new ArrayList<>();
|
||||||
|
try (Stream<Path> paths = Files.list(messagesDirectory)) {
|
||||||
|
paths.forEach(path -> {
|
||||||
|
String fileName = path.getFileName().toString();
|
||||||
|
String[] parts = fileName.split("\\.", 2);
|
||||||
|
if (parts.length != 2 || !parts[1].equals("yaml")) {
|
||||||
|
logger.warning("Unexpected messages file: " + fileName + " (invalid language code or not .yaml)");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Locale locale = Locale.forLanguageTag(parts[0]);
|
||||||
|
if (locale == null) {
|
||||||
|
logger.warning("Unexpected messages file: " + fileName + " (unknown locale)");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
configs.put(locale, new MessagesConfigSingleManager<>(discordSRV, this, locale, true));
|
||||||
|
existing.add(locale);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (config.messages.loadAllDefaults) {
|
||||||
|
// TODO: load all default default locales missing
|
||||||
|
}
|
||||||
|
} catch (Throwable t) {
|
||||||
|
throw new ConfigException("Failed to initialize messages configs", t);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Locale defaultLocale = discordSRV.defaultLocale();
|
||||||
|
configs.put(defaultLocale, new MessagesConfigSingleManager<>(discordSRV, this, defaultLocale, false));
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Map.Entry<Locale, MessagesConfigSingleManager<C>> entry : configs.entrySet()) {
|
||||||
|
entry.getValue().load();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,44 @@
|
|||||||
|
package com.discordsrv.common.config.configurate.manager;
|
||||||
|
|
||||||
|
import com.discordsrv.common.DiscordSRV;
|
||||||
|
import com.discordsrv.common.config.configurate.manager.abstraction.TranslatedConfigManager;
|
||||||
|
import com.discordsrv.common.config.configurate.manager.loader.YamlConfigLoaderProvider;
|
||||||
|
import com.discordsrv.common.config.messages.MessagesConfig;
|
||||||
|
import org.spongepowered.configurate.yaml.YamlConfigurationLoader;
|
||||||
|
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
|
public class MessagesConfigSingleManager<C extends MessagesConfig>
|
||||||
|
extends TranslatedConfigManager<C, YamlConfigurationLoader>
|
||||||
|
implements YamlConfigLoaderProvider {
|
||||||
|
|
||||||
|
private final MessagesConfigManager<C> aggregateManager;
|
||||||
|
private final Locale locale;
|
||||||
|
private final boolean multi;
|
||||||
|
|
||||||
|
protected MessagesConfigSingleManager(DiscordSRV discordSRV, MessagesConfigManager<C> aggregateManager, Locale locale, boolean multi) {
|
||||||
|
super(discordSRV);
|
||||||
|
this.aggregateManager = aggregateManager;
|
||||||
|
this.locale = locale;
|
||||||
|
this.multi = multi;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected String fileName() {
|
||||||
|
if (multi) {
|
||||||
|
return aggregateManager.directory().resolve(locale.getISO3Language() + ".yaml").toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
return MessagesConfig.FILE_NAME;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Locale locale() {
|
||||||
|
return locale;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public C createConfiguration() {
|
||||||
|
return aggregateManager.createConfiguration();
|
||||||
|
}
|
||||||
|
}
|
@ -71,7 +71,7 @@ public abstract class ConfigurateConfigManager<T, LT extends AbstractConfigurati
|
|||||||
private final Path filePath;
|
private final Path filePath;
|
||||||
private final ObjectMapper.Factory objectMapper;
|
private final ObjectMapper.Factory objectMapper;
|
||||||
private final ObjectMapper.Factory cleanObjectMapper;
|
private final ObjectMapper.Factory cleanObjectMapper;
|
||||||
private final LT loader;
|
private LT loader;
|
||||||
|
|
||||||
protected T configuration;
|
protected T configuration;
|
||||||
|
|
||||||
@ -83,7 +83,6 @@ public abstract class ConfigurateConfigManager<T, LT extends AbstractConfigurati
|
|||||||
this.filePath = dataDirectory.resolve(fileName());
|
this.filePath = dataDirectory.resolve(fileName());
|
||||||
this.objectMapper = objectMapperBuilder().build();
|
this.objectMapper = objectMapperBuilder().build();
|
||||||
this.cleanObjectMapper = cleanObjectMapperBuilder().build();
|
this.cleanObjectMapper = cleanObjectMapperBuilder().build();
|
||||||
this.loader = createLoader(filePath, nodeOptions());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Path filePath() {
|
public Path filePath() {
|
||||||
@ -91,6 +90,9 @@ public abstract class ConfigurateConfigManager<T, LT extends AbstractConfigurati
|
|||||||
}
|
}
|
||||||
|
|
||||||
public LT loader() {
|
public LT loader() {
|
||||||
|
if (loader == null) {
|
||||||
|
loader = createLoader(filePath(), nodeOptions());
|
||||||
|
}
|
||||||
return loader;
|
return loader;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -312,6 +314,7 @@ public abstract class ConfigurateConfigManager<T, LT extends AbstractConfigurati
|
|||||||
@Override
|
@Override
|
||||||
public void save() throws ConfigException {
|
public void save() throws ConfigException {
|
||||||
try {
|
try {
|
||||||
|
LT loader = loader();
|
||||||
CommentedConfigurationNode node = loader.createNode();
|
CommentedConfigurationNode node = loader.createNode();
|
||||||
save(configuration, (Class<T>) configuration.getClass(), node);
|
save(configuration, (Class<T>) configuration.getClass(), node);
|
||||||
loader.save(node);
|
loader.save(node);
|
||||||
|
@ -36,6 +36,7 @@ import java.nio.file.Path;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
public abstract class TranslatedConfigManager<T extends Config, LT extends AbstractConfigurationLoader<CommentedConfigurationNode>>
|
public abstract class TranslatedConfigManager<T extends Config, LT extends AbstractConfigurationLoader<CommentedConfigurationNode>>
|
||||||
extends ConfigurateConfigManager<T, LT> {
|
extends ConfigurateConfigManager<T, LT> {
|
||||||
@ -53,6 +54,10 @@ public abstract class TranslatedConfigManager<T extends Config, LT extends Abstr
|
|||||||
this.discordSRV = null;
|
this.discordSRV = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Locale locale() {
|
||||||
|
return discordSRV.defaultLocale();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void load() throws ConfigException {
|
public void load() throws ConfigException {
|
||||||
super.reload();
|
super.reload();
|
||||||
@ -112,9 +117,15 @@ public abstract class TranslatedConfigManager<T extends Config, LT extends Abstr
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
String languageCode = discordSRV.locale().getISO3Language();
|
String languageCode = locale().getLanguage();
|
||||||
URL resourceURL = discordSRV.getClass().getClassLoader()
|
String countryCode = locale().getCountry();
|
||||||
.getResource("translations/" + languageCode + ".yml");
|
|
||||||
|
ClassLoader classLoader = discordSRV.getClass().getClassLoader();
|
||||||
|
|
||||||
|
URL resourceURL = classLoader.getResource("translations/" + languageCode + "_" + countryCode + ".yaml");
|
||||||
|
if (resourceURL == null) {
|
||||||
|
resourceURL = classLoader.getResource("translations/" + languageCode + ".yaml");
|
||||||
|
}
|
||||||
if (resourceURL == null) {
|
if (resourceURL == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -87,6 +87,8 @@ public abstract class MainConfig implements Config {
|
|||||||
@Comment("Configuration for the %discord_invite% placeholder. The below options will be attempted in the order they are in")
|
@Comment("Configuration for the %discord_invite% placeholder. The below options will be attempted in the order they are in")
|
||||||
public DiscordInviteConfig invite = new DiscordInviteConfig();
|
public DiscordInviteConfig invite = new DiscordInviteConfig();
|
||||||
|
|
||||||
|
public MessagesMainConfig messages = new MessagesMainConfig();
|
||||||
|
|
||||||
@Order(10) // To go below required linking config @ 5
|
@Order(10) // To go below required linking config @ 5
|
||||||
@Comment("Configuration for the %player_avatar_url% placeholder")
|
@Comment("Configuration for the %player_avatar_url% placeholder")
|
||||||
public AvatarProviderConfig avatarProvider = new AvatarProviderConfig();
|
public AvatarProviderConfig avatarProvider = new AvatarProviderConfig();
|
||||||
|
@ -0,0 +1,18 @@
|
|||||||
|
package com.discordsrv.common.config.main;
|
||||||
|
|
||||||
|
import org.spongepowered.configurate.objectmapping.ConfigSerializable;
|
||||||
|
import org.spongepowered.configurate.objectmapping.meta.Comment;
|
||||||
|
|
||||||
|
@ConfigSerializable
|
||||||
|
public class MessagesMainConfig {
|
||||||
|
|
||||||
|
@Comment("The language code for the default language, if left blank the system default will be used.\n"
|
||||||
|
+ "This should be in the ISO 639-1 format or ISO 639-1 (for example \"en\"), a underscore and a ISO 3166-1 country code to specify dialect (for example \"pt_BR\")")
|
||||||
|
public String defaultLanguage = "en";
|
||||||
|
|
||||||
|
@Comment("If there should be a messages file per language (based on the player's or user's language), otherwise using the default")
|
||||||
|
public boolean multiple = false;
|
||||||
|
|
||||||
|
@Comment("If all languages provided with DiscordSRV should be loaded into the messages directory, only functions when \"multiple\" is set to true")
|
||||||
|
public boolean loadAllDefaults = true;
|
||||||
|
}
|
@ -0,0 +1,18 @@
|
|||||||
|
package com.discordsrv.common.config.messages;
|
||||||
|
|
||||||
|
import com.discordsrv.common.config.Config;
|
||||||
|
import org.spongepowered.configurate.objectmapping.ConfigSerializable;
|
||||||
|
|
||||||
|
@ConfigSerializable
|
||||||
|
public class MessagesConfig implements Config {
|
||||||
|
|
||||||
|
public static final String FILE_NAME = "messages.yaml";
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public final String getFileName() {
|
||||||
|
return FILE_NAME;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String testOption = "test option";
|
||||||
|
|
||||||
|
}
|
@ -20,6 +20,10 @@ package com.discordsrv.common.exception;
|
|||||||
|
|
||||||
public class ConfigException extends Exception {
|
public class ConfigException extends Exception {
|
||||||
|
|
||||||
|
public ConfigException(String message) {
|
||||||
|
super(message);
|
||||||
|
}
|
||||||
|
|
||||||
public ConfigException(String message, Throwable cause) {
|
public ConfigException(String message, Throwable cause) {
|
||||||
super(message, cause);
|
super(message, cause);
|
||||||
}
|
}
|
||||||
|
@ -31,6 +31,7 @@ import com.discordsrv.api.discord.events.message.DiscordMessageDeleteEvent;
|
|||||||
import com.discordsrv.api.discord.events.message.DiscordMessageReceiveEvent;
|
import com.discordsrv.api.discord.events.message.DiscordMessageReceiveEvent;
|
||||||
import com.discordsrv.api.discord.events.message.DiscordMessageUpdateEvent;
|
import com.discordsrv.api.discord.events.message.DiscordMessageUpdateEvent;
|
||||||
import com.discordsrv.api.event.bus.Subscribe;
|
import com.discordsrv.api.event.bus.Subscribe;
|
||||||
|
import com.discordsrv.api.event.events.message.forward.discord.DiscordChatMessageForwardedEvent;
|
||||||
import com.discordsrv.api.event.events.message.receive.discord.DiscordChatMessageProcessEvent;
|
import com.discordsrv.api.event.events.message.receive.discord.DiscordChatMessageProcessEvent;
|
||||||
import com.discordsrv.api.event.events.message.receive.discord.DiscordChatMessageReceiveEvent;
|
import com.discordsrv.api.event.events.message.receive.discord.DiscordChatMessageReceiveEvent;
|
||||||
import com.discordsrv.api.placeholder.util.Placeholders;
|
import com.discordsrv.api.placeholder.util.Placeholders;
|
||||||
@ -203,6 +204,7 @@ public class DiscordChatMessageModule extends AbstractModule<DiscordSRV> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
gameChannel.sendMessage(component);
|
gameChannel.sendMessage(component);
|
||||||
|
discordSRV.eventBus().publish(new DiscordChatMessageForwardedEvent(component, gameChannel));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class MessageSend {
|
public static class MessageSend {
|
||||||
|
@ -24,6 +24,7 @@ import com.discordsrv.common.bootstrap.LifecycleManager;
|
|||||||
import com.discordsrv.common.command.game.handler.ICommandHandler;
|
import com.discordsrv.common.command.game.handler.ICommandHandler;
|
||||||
import com.discordsrv.common.config.configurate.manager.ConnectionConfigManager;
|
import com.discordsrv.common.config.configurate.manager.ConnectionConfigManager;
|
||||||
import com.discordsrv.common.config.configurate.manager.MainConfigManager;
|
import com.discordsrv.common.config.configurate.manager.MainConfigManager;
|
||||||
|
import com.discordsrv.common.config.configurate.manager.MessagesConfigManager;
|
||||||
import com.discordsrv.common.config.configurate.manager.abstraction.ServerConfigManager;
|
import com.discordsrv.common.config.configurate.manager.abstraction.ServerConfigManager;
|
||||||
import com.discordsrv.common.config.connection.ConnectionConfig;
|
import com.discordsrv.common.config.connection.ConnectionConfig;
|
||||||
import com.discordsrv.common.config.main.MainConfig;
|
import com.discordsrv.common.config.main.MainConfig;
|
||||||
@ -31,6 +32,7 @@ import com.discordsrv.common.config.main.PluginIntegrationConfig;
|
|||||||
import com.discordsrv.common.config.main.channels.base.ChannelConfig;
|
import com.discordsrv.common.config.main.channels.base.ChannelConfig;
|
||||||
import com.discordsrv.common.config.main.generic.DestinationConfig;
|
import com.discordsrv.common.config.main.generic.DestinationConfig;
|
||||||
import com.discordsrv.common.config.main.generic.ThreadConfig;
|
import com.discordsrv.common.config.main.generic.ThreadConfig;
|
||||||
|
import com.discordsrv.common.config.messages.MessagesConfig;
|
||||||
import com.discordsrv.common.console.Console;
|
import com.discordsrv.common.console.Console;
|
||||||
import com.discordsrv.common.debug.data.OnlineMode;
|
import com.discordsrv.common.debug.data.OnlineMode;
|
||||||
import com.discordsrv.common.debug.data.VersionInfo;
|
import com.discordsrv.common.debug.data.VersionInfo;
|
||||||
@ -54,7 +56,7 @@ import java.nio.file.Paths;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@SuppressWarnings("ConstantConditions")
|
@SuppressWarnings("ConstantConditions")
|
||||||
public class MockDiscordSRV extends AbstractDiscordSRV<IBootstrap, MainConfig, ConnectionConfig> {
|
public class MockDiscordSRV extends AbstractDiscordSRV<IBootstrap, MainConfig, ConnectionConfig, MessagesConfig> {
|
||||||
|
|
||||||
public static final MockDiscordSRV INSTANCE = new MockDiscordSRV();
|
public static final MockDiscordSRV INSTANCE = new MockDiscordSRV();
|
||||||
|
|
||||||
@ -225,4 +227,9 @@ public class MockDiscordSRV extends AbstractDiscordSRV<IBootstrap, MainConfig, C
|
|||||||
|
|
||||||
return config;
|
return config;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public MessagesConfigManager<MessagesConfig> messagesConfigManager() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -21,10 +21,12 @@ package com.discordsrv.sponge;
|
|||||||
import com.discordsrv.api.DiscordSRVApi;
|
import com.discordsrv.api.DiscordSRVApi;
|
||||||
import com.discordsrv.common.ServerDiscordSRV;
|
import com.discordsrv.common.ServerDiscordSRV;
|
||||||
import com.discordsrv.common.command.game.handler.ICommandHandler;
|
import com.discordsrv.common.command.game.handler.ICommandHandler;
|
||||||
|
import com.discordsrv.common.config.configurate.manager.MessagesConfigManager;
|
||||||
import com.discordsrv.common.config.connection.ConnectionConfig;
|
import com.discordsrv.common.config.connection.ConnectionConfig;
|
||||||
import com.discordsrv.common.config.main.MainConfig;
|
import com.discordsrv.common.config.main.MainConfig;
|
||||||
import com.discordsrv.common.config.configurate.manager.ConnectionConfigManager;
|
import com.discordsrv.common.config.configurate.manager.ConnectionConfigManager;
|
||||||
import com.discordsrv.common.config.configurate.manager.MainConfigManager;
|
import com.discordsrv.common.config.configurate.manager.MainConfigManager;
|
||||||
|
import com.discordsrv.common.config.messages.MessagesConfig;
|
||||||
import com.discordsrv.common.debug.data.OnlineMode;
|
import com.discordsrv.common.debug.data.OnlineMode;
|
||||||
import com.discordsrv.common.plugin.PluginManager;
|
import com.discordsrv.common.plugin.PluginManager;
|
||||||
import com.discordsrv.sponge.console.SpongeConsole;
|
import com.discordsrv.sponge.console.SpongeConsole;
|
||||||
@ -37,7 +39,7 @@ import org.spongepowered.api.event.Listener;
|
|||||||
import org.spongepowered.api.event.lifecycle.ProvideServiceEvent;
|
import org.spongepowered.api.event.lifecycle.ProvideServiceEvent;
|
||||||
import org.spongepowered.plugin.PluginContainer;
|
import org.spongepowered.plugin.PluginContainer;
|
||||||
|
|
||||||
public class SpongeDiscordSRV extends ServerDiscordSRV<DiscordSRVSpongeBootstrap, MainConfig, ConnectionConfig> {
|
public class SpongeDiscordSRV extends ServerDiscordSRV<DiscordSRVSpongeBootstrap, MainConfig, ConnectionConfig, MessagesConfig> {
|
||||||
|
|
||||||
private final SpongeScheduler scheduler;
|
private final SpongeScheduler scheduler;
|
||||||
private final SpongeConsole console;
|
private final SpongeConsole console;
|
||||||
@ -105,6 +107,11 @@ public class SpongeDiscordSRV extends ServerDiscordSRV<DiscordSRVSpongeBootstrap
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public MessagesConfigManager<MessagesConfig> messagesConfigManager() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void enable() throws Throwable {
|
protected void enable() throws Throwable {
|
||||||
// Service provider
|
// Service provider
|
||||||
|
@ -20,10 +20,12 @@ package com.discordsrv.velocity;
|
|||||||
|
|
||||||
import com.discordsrv.common.ProxyDiscordSRV;
|
import com.discordsrv.common.ProxyDiscordSRV;
|
||||||
import com.discordsrv.common.command.game.handler.ICommandHandler;
|
import com.discordsrv.common.command.game.handler.ICommandHandler;
|
||||||
|
import com.discordsrv.common.config.configurate.manager.MessagesConfigManager;
|
||||||
import com.discordsrv.common.config.connection.ConnectionConfig;
|
import com.discordsrv.common.config.connection.ConnectionConfig;
|
||||||
import com.discordsrv.common.config.main.MainConfig;
|
import com.discordsrv.common.config.main.MainConfig;
|
||||||
import com.discordsrv.common.config.configurate.manager.ConnectionConfigManager;
|
import com.discordsrv.common.config.configurate.manager.ConnectionConfigManager;
|
||||||
import com.discordsrv.common.config.configurate.manager.MainConfigManager;
|
import com.discordsrv.common.config.configurate.manager.MainConfigManager;
|
||||||
|
import com.discordsrv.common.config.messages.MessagesConfig;
|
||||||
import com.discordsrv.common.debug.data.OnlineMode;
|
import com.discordsrv.common.debug.data.OnlineMode;
|
||||||
import com.discordsrv.common.plugin.PluginManager;
|
import com.discordsrv.common.plugin.PluginManager;
|
||||||
import com.discordsrv.common.scheduler.StandardScheduler;
|
import com.discordsrv.common.scheduler.StandardScheduler;
|
||||||
@ -39,7 +41,7 @@ import java.net.URL;
|
|||||||
import java.net.URLClassLoader;
|
import java.net.URLClassLoader;
|
||||||
import java.util.jar.JarFile;
|
import java.util.jar.JarFile;
|
||||||
|
|
||||||
public class VelocityDiscordSRV extends ProxyDiscordSRV<DiscordSRVVelocityBootstrap, MainConfig, ConnectionConfig> {
|
public class VelocityDiscordSRV extends ProxyDiscordSRV<DiscordSRVVelocityBootstrap, MainConfig, ConnectionConfig, MessagesConfig> {
|
||||||
|
|
||||||
private final StandardScheduler scheduler;
|
private final StandardScheduler scheduler;
|
||||||
private final VelocityConsole console;
|
private final VelocityConsole console;
|
||||||
@ -121,6 +123,11 @@ public class VelocityDiscordSRV extends ProxyDiscordSRV<DiscordSRVVelocityBootst
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public MessagesConfigManager<MessagesConfig> messagesConfigManager() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void enable() throws Throwable {
|
protected void enable() throws Throwable {
|
||||||
super.enable();
|
super.enable();
|
||||||
|
Loading…
Reference in New Issue
Block a user