Redesign GameModeConfig and SchematicType

This commit is contained in:
2026-04-23 11:54:50 +02:00
parent 41ea6c9407
commit 9ac3bf6a6c
3 changed files with 79 additions and 53 deletions
@@ -25,7 +25,10 @@ import lombok.Getter;
import lombok.experimental.UtilityClass;
import java.io.File;
import java.util.*;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
@UtilityClass
public class ArenaMode {
@@ -50,12 +53,12 @@ public class ArenaMode {
if(!folder.exists())
return;
for(File file : Arrays.stream(folder.listFiles((file, name) -> name.endsWith(".yml") && !name.endsWith(".kits.yml") && !name.equals("config.yml"))).sorted().toList()) {
GameModeConfig<String, String> gameModeConfig = new GameModeConfig<>(file, GameModeConfig.ToString, GameModeConfig.ToString, GameModeConfig.ToInternalName, false);
GameModeConfig.init();
SchematicType.init();
for (GameModeConfig<String, String> gameModeConfig : GameModeConfig.<String>getAll()) {
if (!gameModeConfig.Server.loaded) continue;
allModes.add(gameModeConfig);
byInternal.put(file.getName().replace(".yml", ""), gameModeConfig);
byInternal.put(gameModeConfig.configFile.getName().replace(".yml", ""), gameModeConfig);
for (String name : gameModeConfig.Server.ChatNames) {
byChat.put(name.toLowerCase(), gameModeConfig);
}