mirror of
https://github.com/DiscordSRV/Ascension.git
synced 2024-11-01 08:39:31 +01:00
Remove a unnecessary abstraction, improve some documentation
This commit is contained in:
parent
7d4755240f
commit
fdaa215601
@ -40,7 +40,7 @@ import com.discordsrv.bukkit.requiredlinking.BukkitRequiredLinkingModule;
|
|||||||
import com.discordsrv.bukkit.scheduler.BukkitScheduler;
|
import com.discordsrv.bukkit.scheduler.BukkitScheduler;
|
||||||
import com.discordsrv.bukkit.scheduler.FoliaScheduler;
|
import com.discordsrv.bukkit.scheduler.FoliaScheduler;
|
||||||
import com.discordsrv.bukkit.scheduler.IBukkitScheduler;
|
import com.discordsrv.bukkit.scheduler.IBukkitScheduler;
|
||||||
import com.discordsrv.common.ServerDiscordSRV;
|
import com.discordsrv.common.AbstractDiscordSRV;
|
||||||
import com.discordsrv.common.abstraction.plugin.PluginManager;
|
import com.discordsrv.common.abstraction.plugin.PluginManager;
|
||||||
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;
|
||||||
@ -59,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, MessagesConfig> {
|
public class BukkitDiscordSRV extends AbstractDiscordSRV<DiscordSRVBukkitBootstrap, BukkitConfig, BukkitConnectionConfig, MessagesConfig> {
|
||||||
|
|
||||||
private BukkitAudiences audiences;
|
private BukkitAudiences audiences;
|
||||||
private BukkitTranslationLoader translationLoader;
|
private BukkitTranslationLoader translationLoader;
|
||||||
@ -124,6 +124,11 @@ public class BukkitDiscordSRV extends ServerDiscordSRV<DiscordSRVBukkitBootstrap
|
|||||||
return console;
|
return console;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ServerType serverType() {
|
||||||
|
return ServerType.SERVER;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull BukkitPlayerProvider playerProvider() {
|
public @NotNull BukkitPlayerProvider playerProvider() {
|
||||||
return playerProvider;
|
return playerProvider;
|
||||||
|
@ -22,7 +22,7 @@ import com.discordsrv.bungee.command.game.handler.BungeeCommandHandler;
|
|||||||
import com.discordsrv.bungee.console.BungeeConsole;
|
import com.discordsrv.bungee.console.BungeeConsole;
|
||||||
import com.discordsrv.bungee.player.BungeePlayerProvider;
|
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.AbstractDiscordSRV;
|
||||||
import com.discordsrv.common.abstraction.plugin.PluginManager;
|
import com.discordsrv.common.abstraction.plugin.PluginManager;
|
||||||
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;
|
||||||
@ -38,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, MessagesConfig> {
|
public class BungeeDiscordSRV extends AbstractDiscordSRV<DiscordSRVBungeeBootstrap, MainConfig, ConnectionConfig, MessagesConfig> {
|
||||||
|
|
||||||
private BungeeAudiences audiences;
|
private BungeeAudiences audiences;
|
||||||
|
|
||||||
@ -71,6 +71,11 @@ public class BungeeDiscordSRV extends ProxyDiscordSRV<DiscordSRVBungeeBootstrap,
|
|||||||
return audiences;
|
return audiences;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ServerType serverType() {
|
||||||
|
return ServerType.PROXY;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public StandardScheduler scheduler() {
|
public StandardScheduler scheduler() {
|
||||||
return scheduler;
|
return scheduler;
|
||||||
|
@ -75,10 +75,7 @@ import com.discordsrv.common.feature.linking.impl.StorageLinker;
|
|||||||
import com.discordsrv.common.feature.mention.MentionGameRenderingModule;
|
import com.discordsrv.common.feature.mention.MentionGameRenderingModule;
|
||||||
import com.discordsrv.common.feature.messageforwarding.discord.DiscordChatMessageModule;
|
import com.discordsrv.common.feature.messageforwarding.discord.DiscordChatMessageModule;
|
||||||
import com.discordsrv.common.feature.messageforwarding.discord.DiscordMessageMirroringModule;
|
import com.discordsrv.common.feature.messageforwarding.discord.DiscordMessageMirroringModule;
|
||||||
import com.discordsrv.common.feature.messageforwarding.game.JoinMessageModule;
|
import com.discordsrv.common.feature.messageforwarding.game.*;
|
||||||
import com.discordsrv.common.feature.messageforwarding.game.LeaveMessageModule;
|
|
||||||
import com.discordsrv.common.feature.messageforwarding.game.StartMessageModule;
|
|
||||||
import com.discordsrv.common.feature.messageforwarding.game.StopMessageModule;
|
|
||||||
import com.discordsrv.common.feature.mention.MentionCachingModule;
|
import com.discordsrv.common.feature.mention.MentionCachingModule;
|
||||||
import com.discordsrv.common.feature.profile.ProfileManager;
|
import com.discordsrv.common.feature.profile.ProfileManager;
|
||||||
import com.discordsrv.common.feature.update.UpdateChecker;
|
import com.discordsrv.common.feature.update.UpdateChecker;
|
||||||
@ -133,6 +130,7 @@ public abstract class AbstractDiscordSRV<
|
|||||||
|
|
||||||
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);
|
||||||
|
private boolean serverStarted = false;
|
||||||
|
|
||||||
// DiscordSRVApi
|
// DiscordSRVApi
|
||||||
private EventBusImpl eventBus;
|
private EventBusImpl eventBus;
|
||||||
@ -598,6 +596,14 @@ public abstract class AbstractDiscordSRV<
|
|||||||
registerModule(MentionGameRenderingModule::new);
|
registerModule(MentionGameRenderingModule::new);
|
||||||
registerModule(CustomCommandModule::new);
|
registerModule(CustomCommandModule::new);
|
||||||
|
|
||||||
|
if (serverType() == ServerType.PROXY) {
|
||||||
|
registerModule(ServerSwitchMessageModule::new);
|
||||||
|
}
|
||||||
|
if (serverType() == ServerType.SERVER) {
|
||||||
|
registerModule(AwardMessageModule::new);
|
||||||
|
registerModule(DeathMessageModule::new);
|
||||||
|
}
|
||||||
|
|
||||||
// Integrations
|
// Integrations
|
||||||
registerIntegration("com.discordsrv.common.integration.LuckPermsIntegration");
|
registerIntegration("com.discordsrv.common.integration.LuckPermsIntegration");
|
||||||
|
|
||||||
@ -608,16 +614,49 @@ public abstract class AbstractDiscordSRV<
|
|||||||
throw e.getCause();
|
throw e.getCause();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (serverType() == ServerType.PROXY) {
|
||||||
|
invokeServerStarted().get();
|
||||||
|
}
|
||||||
|
|
||||||
// Register PlayerProvider listeners
|
// Register PlayerProvider listeners
|
||||||
playerProvider().subscribe();
|
playerProvider().subscribe();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected final void startedMessage() {
|
public final CompletableFuture<Void> invokeServerStarted() {
|
||||||
|
return scheduler().supply(() -> {
|
||||||
|
if (status().isShutdown()) {
|
||||||
|
// Already shutdown/shutting down, don't bother
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
this.serverStarted();
|
||||||
|
} catch (Throwable t) {
|
||||||
|
if (status().isShutdown() && t instanceof NoClassDefFoundError) {
|
||||||
|
// Already shutdown, ignore errors for classes that already got unloaded
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
setStatus(Status.FAILED_TO_START);
|
||||||
|
disable();
|
||||||
|
logger().error("Failed to start", t);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@MustBeInvokedByOverriders
|
||||||
|
protected void serverStarted() {
|
||||||
|
serverStarted = true;
|
||||||
|
moduleManager().enableModules();
|
||||||
|
|
||||||
registerModule(StartMessageModule::new);
|
registerModule(StartMessageModule::new);
|
||||||
registerModule(StopMessageModule::new);
|
registerModule(StopMessageModule::new);
|
||||||
Optional.ofNullable(getModule(PresenceUpdaterModule.class)).ifPresent(PresenceUpdaterModule::serverStarted);
|
Optional.ofNullable(getModule(PresenceUpdaterModule.class)).ifPresent(PresenceUpdaterModule::serverStarted);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isServerStarted() {
|
||||||
|
return serverStarted;
|
||||||
|
}
|
||||||
|
|
||||||
private StorageType getStorageType() {
|
private StorageType getStorageType() {
|
||||||
String backend = connectionConfig().storage.backend;
|
String backend = connectionConfig().storage.backend;
|
||||||
switch (backend.toLowerCase(Locale.ROOT)) {
|
switch (backend.toLowerCase(Locale.ROOT)) {
|
||||||
|
@ -72,6 +72,7 @@ public interface DiscordSRV extends DiscordSRVApi {
|
|||||||
String WEBSITE = "https://discordsrv.vankka.dev";
|
String WEBSITE = "https://discordsrv.vankka.dev";
|
||||||
|
|
||||||
// Platform
|
// Platform
|
||||||
|
ServerType serverType();
|
||||||
IBootstrap bootstrap();
|
IBootstrap bootstrap();
|
||||||
Logger platformLogger();
|
Logger platformLogger();
|
||||||
Path dataDirectory();
|
Path dataDirectory();
|
||||||
@ -172,10 +173,16 @@ public interface DiscordSRV extends DiscordSRVApi {
|
|||||||
void runEnable();
|
void runEnable();
|
||||||
List<ReloadResult> runReload(Set<ReloadFlag> flags, boolean silent);
|
List<ReloadResult> runReload(Set<ReloadFlag> flags, boolean silent);
|
||||||
CompletableFuture<Void> invokeDisable();
|
CompletableFuture<Void> invokeDisable();
|
||||||
|
boolean isServerStarted();
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
default GameCommandExecutionHelper executeHelper() {
|
default GameCommandExecutionHelper executeHelper() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum ServerType {
|
||||||
|
SERVER,
|
||||||
|
PROXY
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,46 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of DiscordSRV, licensed under the GPLv3 License
|
|
||||||
* Copyright (c) 2016-2024 Austin "Scarsz" Shapiro, Henri "Vankka" Schubin and DiscordSRV contributors
|
|
||||||
*
|
|
||||||
* This program is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.discordsrv.common;
|
|
||||||
|
|
||||||
import com.discordsrv.common.abstraction.bootstrap.IBootstrap;
|
|
||||||
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.feature.messageforwarding.game.ServerSwitchMessageModule;
|
|
||||||
|
|
||||||
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) {
|
|
||||||
super(bootstrap);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void enable() throws Throwable {
|
|
||||||
super.enable();
|
|
||||||
|
|
||||||
registerModule(ServerSwitchMessageModule::new);
|
|
||||||
|
|
||||||
startedMessage();
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,92 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of DiscordSRV, licensed under the GPLv3 License
|
|
||||||
* Copyright (c) 2016-2024 Austin "Scarsz" Shapiro, Henri "Vankka" Schubin and DiscordSRV contributors
|
|
||||||
*
|
|
||||||
* This program is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.discordsrv.common;
|
|
||||||
|
|
||||||
import com.discordsrv.common.abstraction.bootstrap.IBootstrap;
|
|
||||||
import com.discordsrv.common.abstraction.player.provider.ServerPlayerProvider;
|
|
||||||
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.core.scheduler.ServerScheduler;
|
|
||||||
import com.discordsrv.common.feature.messageforwarding.game.AwardMessageModule;
|
|
||||||
import com.discordsrv.common.feature.messageforwarding.game.DeathMessageModule;
|
|
||||||
import org.jetbrains.annotations.MustBeInvokedByOverriders;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
|
|
||||||
import java.util.concurrent.CompletableFuture;
|
|
||||||
|
|
||||||
public abstract class ServerDiscordSRV<
|
|
||||||
B extends IBootstrap,
|
|
||||||
C extends MainConfig,
|
|
||||||
CC extends ConnectionConfig,
|
|
||||||
MC extends MessagesConfig
|
|
||||||
> extends AbstractDiscordSRV<B, C, CC, MC> {
|
|
||||||
|
|
||||||
private boolean serverStarted = false;
|
|
||||||
|
|
||||||
public ServerDiscordSRV(B bootstrap) {
|
|
||||||
super(bootstrap);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public abstract ServerScheduler scheduler();
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public abstract @NotNull ServerPlayerProvider<?, ?> playerProvider();
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void enable() throws Throwable {
|
|
||||||
super.enable();
|
|
||||||
|
|
||||||
registerModule(AwardMessageModule::new);
|
|
||||||
registerModule(DeathMessageModule::new);
|
|
||||||
}
|
|
||||||
|
|
||||||
public final CompletableFuture<Void> invokeServerStarted() {
|
|
||||||
return scheduler().supply(() -> {
|
|
||||||
if (status().isShutdown()) {
|
|
||||||
// Already shutdown/shutting down, don't bother
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
this.serverStarted();
|
|
||||||
} catch (Throwable t) {
|
|
||||||
if (status().isShutdown() && t instanceof NoClassDefFoundError) {
|
|
||||||
// Already shutdown, ignore errors for classes that already got unloaded
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
setStatus(Status.FAILED_TO_START);
|
|
||||||
disable();
|
|
||||||
logger().error("Failed to start", t);
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@MustBeInvokedByOverriders
|
|
||||||
protected void serverStarted() {
|
|
||||||
serverStarted = true;
|
|
||||||
moduleManager().enableModules();
|
|
||||||
startedMessage();
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isServerStarted() {
|
|
||||||
return serverStarted;
|
|
||||||
}
|
|
||||||
}
|
|
@ -23,6 +23,9 @@ import dev.vankka.dependencydownload.classpath.ClasspathAppender;
|
|||||||
|
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The plugin-/mod main "startup" class that the server sees.
|
||||||
|
*/
|
||||||
public interface IBootstrap {
|
public interface IBootstrap {
|
||||||
|
|
||||||
Logger logger();
|
Logger logger();
|
||||||
|
@ -36,6 +36,9 @@ import java.util.concurrent.ExecutorService;
|
|||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A wrapper for loading in the initial dependencies, enabling and disabling {@link DiscordSRV}.
|
||||||
|
*/
|
||||||
public class LifecycleManager {
|
public class LifecycleManager {
|
||||||
|
|
||||||
private final Logger logger;
|
private final Logger logger;
|
||||||
|
@ -21,7 +21,6 @@ package com.discordsrv.common.feature.channel;
|
|||||||
import com.discordsrv.api.DiscordSRVApi;
|
import com.discordsrv.api.DiscordSRVApi;
|
||||||
import com.discordsrv.api.discord.connection.jda.errorresponse.ErrorCallbackContext;
|
import com.discordsrv.api.discord.connection.jda.errorresponse.ErrorCallbackContext;
|
||||||
import com.discordsrv.common.DiscordSRV;
|
import com.discordsrv.common.DiscordSRV;
|
||||||
import com.discordsrv.common.ServerDiscordSRV;
|
|
||||||
import com.discordsrv.common.config.main.TimedUpdaterConfig;
|
import com.discordsrv.common.config.main.TimedUpdaterConfig;
|
||||||
import com.discordsrv.common.core.logging.NamedLogger;
|
import com.discordsrv.common.core.logging.NamedLogger;
|
||||||
import com.discordsrv.common.core.module.type.AbstractModule;
|
import com.discordsrv.common.core.module.type.AbstractModule;
|
||||||
@ -64,9 +63,7 @@ public class TimedUpdaterModule extends AbstractModule<DiscordSRV> {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return super.isEnabled() && discordSRV.isReady() &&
|
return super.isEnabled() && discordSRV.isReady() && discordSRV.isServerStarted();
|
||||||
(!(discordSRV instanceof ServerDiscordSRV)
|
|
||||||
|| ((ServerDiscordSRV<?, ?, ?, ?>) discordSRV).isServerStarted());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -29,6 +29,17 @@ import java.util.Objects;
|
|||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Represents a subject that is
|
||||||
|
* - a Minecraft player, or
|
||||||
|
* - a Discord user, or
|
||||||
|
* - a Minecraft player and their linked Discord user
|
||||||
|
*
|
||||||
|
* @see #withLinkedAccounts(DiscordSRV)
|
||||||
|
* @see #withUserId(DiscordSRV)
|
||||||
|
* @see #withPlayerUUID(DiscordSRV)
|
||||||
|
* @see #profile(DiscordSRV)
|
||||||
|
*/
|
||||||
public class Someone {
|
public class Someone {
|
||||||
|
|
||||||
public static Someone.Resolved of(@NotNull DiscordSRVPlayer player, @NotNull DiscordUser user) {
|
public static Someone.Resolved of(@NotNull DiscordSRVPlayer player, @NotNull DiscordUser user) {
|
||||||
|
@ -20,6 +20,9 @@ package com.discordsrv.common.helper;
|
|||||||
|
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Data access for unit testing.
|
||||||
|
*/
|
||||||
public final class TestHelper {
|
public final class TestHelper {
|
||||||
|
|
||||||
private static final ThreadLocal<Consumer<Throwable>> error = new ThreadLocal<>();
|
private static final ThreadLocal<Consumer<Throwable>> error = new ThreadLocal<>();
|
||||||
|
@ -105,6 +105,11 @@ public class MockDiscordSRV extends AbstractDiscordSRV<IBootstrap, MainConfig, C
|
|||||||
versionInfo = new VersionInfo("JUnit", "JUnit", "JUnit", "JUnit");
|
versionInfo = new VersionInfo("JUnit", "JUnit", "JUnit", "JUnit");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ServerType serverType() {
|
||||||
|
return ServerType.SERVER;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Path dataDirectory() {
|
public Path dataDirectory() {
|
||||||
if (this.path == null) {
|
if (this.path == null) {
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
package com.discordsrv.velocity;
|
package com.discordsrv.velocity;
|
||||||
|
|
||||||
import com.discordsrv.common.ProxyDiscordSRV;
|
import com.discordsrv.common.AbstractDiscordSRV;
|
||||||
import com.discordsrv.common.abstraction.plugin.PluginManager;
|
import com.discordsrv.common.abstraction.plugin.PluginManager;
|
||||||
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;
|
||||||
@ -41,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, MessagesConfig> {
|
public class VelocityDiscordSRV extends AbstractDiscordSRV<DiscordSRVVelocityBootstrap, MainConfig, ConnectionConfig, MessagesConfig> {
|
||||||
|
|
||||||
private final StandardScheduler scheduler;
|
private final StandardScheduler scheduler;
|
||||||
private final VelocityConsole console;
|
private final VelocityConsole console;
|
||||||
@ -83,6 +83,11 @@ public class VelocityDiscordSRV extends ProxyDiscordSRV<DiscordSRVVelocityBootst
|
|||||||
return bootstrap.proxyServer();
|
return bootstrap.proxyServer();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ServerType serverType() {
|
||||||
|
return ServerType.PROXY;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public StandardScheduler scheduler() {
|
public StandardScheduler scheduler() {
|
||||||
return scheduler;
|
return scheduler;
|
||||||
|
Loading…
Reference in New Issue
Block a user