diff --git a/CommonCore/SQL/src/de/steamwar/sql/SQLWrapper.java b/CommonCore/SQL/src/de/steamwar/sql/SQLWrapper.java index 0dbdde69..4fbe2541 100644 --- a/CommonCore/SQL/src/de/steamwar/sql/SQLWrapper.java +++ b/CommonCore/SQL/src/de/steamwar/sql/SQLWrapper.java @@ -23,12 +23,14 @@ import de.steamwar.ImplementationProvider; import java.io.File; -public interface SQLWrapper { - SQLWrapper impl = ImplementationProvider.getImpl("de.steamwar.sql.SQLWrapperImpl"); +public interface SQLWrapper { + SQLWrapper impl = ImplementationProvider.getImpl("de.steamwar.sql.SQLWrapperImpl"); File getSchemTypesFolder(); - default void processSchematicType(GameModeConfig gameModeConfig) { + GameModeConfig loadGameModeConfig(File file); + + default void processSchematicType(GameModeConfig gameModeConfig) { } void additionalExceptionMetadata(StringBuilder builder); diff --git a/CommonCore/SQL/src/de/steamwar/sql/SchematicType.java b/CommonCore/SQL/src/de/steamwar/sql/SchematicType.java index 04af18ef..c0d61bb2 100644 --- a/CommonCore/SQL/src/de/steamwar/sql/SchematicType.java +++ b/CommonCore/SQL/src/de/steamwar/sql/SchematicType.java @@ -46,7 +46,7 @@ public class SchematicType { File folder = SQLWrapper.impl.getSchemTypesFolder(); if (folder.exists()) { for (File configFile : Arrays.stream(folder.listFiles((file, name) -> name.endsWith(".yml") && !name.endsWith(".kits.yml"))).sorted().collect(Collectors.toList())) { - GameModeConfig gameModeConfig = new GameModeConfig<>(configFile, GameModeConfig.ToString, GameModeConfig.ToString, GameModeConfig.ToStaticWarGear); + GameModeConfig gameModeConfig = SQLWrapper.impl.loadGameModeConfig(configFile); if (gameModeConfig.Schematic.Type == null) continue; if (tmpFromDB.containsKey(gameModeConfig.Schematic.Type.toDB())) continue; SchematicType current = gameModeConfig.Schematic.Type; diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/sql/SQLWrapperImpl.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/sql/SQLWrapperImpl.java index daf33a15..1aa3f7f5 100644 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/sql/SQLWrapperImpl.java +++ b/SpigotCore/SpigotCore_Main/src/de/steamwar/sql/SQLWrapperImpl.java @@ -20,19 +20,26 @@ package de.steamwar.sql; import de.steamwar.core.Core; +import de.steamwar.data.GameModeConfigUtils; import org.bukkit.Bukkit; +import org.bukkit.Material; import org.bukkit.World; import org.bukkit.entity.Player; import java.io.File; -public class SQLWrapperImpl implements SQLWrapper { +public class SQLWrapperImpl implements SQLWrapper { @Override public File getSchemTypesFolder() { return new File(Core.getInstance().getDataFolder().getParentFile(), "FightSystem"); } + @Override + public GameModeConfig loadGameModeConfig(File file) { + return new GameModeConfig<>(file, GameModeConfigUtils.ToMaterial, GameModeConfig.ToString, GameModeConfig.ToStaticWarGear); + } + private static final String SERVER_VERSION = Bukkit.getServer().getVersion(); @Override diff --git a/VelocityCore/src/de/steamwar/sql/SQLWrapperImpl.java b/VelocityCore/src/de/steamwar/sql/SQLWrapperImpl.java index 1868fd9f..3ad15026 100644 --- a/VelocityCore/src/de/steamwar/sql/SQLWrapperImpl.java +++ b/VelocityCore/src/de/steamwar/sql/SQLWrapperImpl.java @@ -26,7 +26,7 @@ import de.steamwar.velocitycore.commands.CheckCommand; import java.io.File; -public class SQLWrapperImpl implements SQLWrapper { +public class SQLWrapperImpl implements SQLWrapper { @Override public File getSchemTypesFolder() { @@ -34,7 +34,12 @@ public class SQLWrapperImpl implements SQLWrapper { } @Override - public void processSchematicType(GameModeConfig gameModeConfig) { + public GameModeConfig loadGameModeConfig(File file) { + return new GameModeConfig<>(file, GameModeConfig.ToString, GameModeConfig.ToString, GameModeConfig.ToInternalName); + } + + @Override + public void processSchematicType(GameModeConfig gameModeConfig) { SchematicType type = gameModeConfig.Schematic.Type; if (type.checkType() != null) { CheckCommand.setCheckQuestions(type.checkType(), gameModeConfig.CheckQuestions); diff --git a/WebsiteBackend/src/de/steamwar/sql/SQLWrapperImpl.kt b/WebsiteBackend/src/de/steamwar/sql/SQLWrapperImpl.kt index be7ef20b..be41c8ab 100644 --- a/WebsiteBackend/src/de/steamwar/sql/SQLWrapperImpl.kt +++ b/WebsiteBackend/src/de/steamwar/sql/SQLWrapperImpl.kt @@ -21,11 +21,15 @@ package de.steamwar.sql import java.io.File -class SQLWrapperImpl: SQLWrapper { - override fun getSchemTypesFolder(): File? { +class SQLWrapperImpl: SQLWrapper { + override fun getSchemTypesFolder(): File { return File("/configs/GameModes") } + override fun loadGameModeConfig(file: File): GameModeConfig { + return GameModeConfig(file, GameModeConfig.ToString, GameModeConfig.ToString, GameModeConfig.ToStaticWarGear) + } + override fun additionalExceptionMetadata(builder: StringBuilder) { builder.append("\n\nWebsiteApi") }