/* * This file is a part of the SteamWar software. * * Copyright (C) 2025 SteamWar.de-Serverteam * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero 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 Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ package de.steamwar.sql; import com.velocitypowered.api.proxy.Player; import com.velocitypowered.api.proxy.server.RegisteredServer; import de.steamwar.velocitycore.VelocityCore; import de.steamwar.velocitycore.commands.CheckCommand; import java.io.File; public class SQLWrapperImpl implements SQLWrapper { @Override public File getSchemTypesFolder() { return new File(VelocityCore.get().getDataDirectory().getParent().toFile(), "FightSystem"); } @Override public GameModeConfig loadGameModeConfig(File file) { return new GameModeConfig<>(file, GameModeConfig.ToString, GameModeConfig.ToString, GameModeConfig.ToInternalName, true); } @Override public void processSchematicType(GameModeConfig gameModeConfig) { SchematicType type = gameModeConfig.Schematic.Type; if (type.checkType() != null) { CheckCommand.setCheckQuestions(type.checkType(), gameModeConfig.CheckQuestions); CheckCommand.addFightType(type.checkType(), type); } } @Override public void additionalExceptionMetadata(StringBuilder builder) { builder.append("\nServers: "); for(RegisteredServer server : VelocityCore.getProxy().getAllServers()) { builder.append(server.getServerInfo().getName()).append("("); for(Player player : server.getPlayersConnected()) { builder.append(player.getUsername()).append(" "); } builder.append(") "); } } }