diff --git a/SpigotCore_Main/src/de/steamwar/sql/SchematicType.java b/SpigotCore_Main/src/de/steamwar/sql/SchematicType.java index f421352..b51dc38 100644 --- a/SpigotCore_Main/src/de/steamwar/sql/SchematicType.java +++ b/SpigotCore_Main/src/de/steamwar/sql/SchematicType.java @@ -1,49 +1,16 @@ package de.steamwar.sql; -import java.util.HashMap; -import java.util.Map; +import de.steamwar.core.Core; +import org.bukkit.configuration.ConfigurationSection; +import org.bukkit.configuration.file.YamlConfiguration; -public enum SchematicType { - Normal("", Type.NORMAL), - CAirShip("CAS", Type.CHECK_TYPE), - CWarGear("CWG", Type.CHECK_TYPE), - CWarShip("CWS", Type.CHECK_TYPE), - CMiniWarGear("CMWG", Type.CHECK_TYPE), - AirShip("AS", Type.FIGHT_TYPE, CAirShip), - WarGear("WG", Type.FIGHT_TYPE, CWarGear), - WarShip("WS", Type.FIGHT_TYPE, CWarShip), - MiniWarGear("MWG", Type.FIGHT_TYPE, CMiniWarGear), +import java.io.File; +import java.util.*; - CMPPWarGear1_12("CMPPWG", Type.CHECK_TYPE), - CSGWarShip("CSGWS", Type.CHECK_TYPE), - CWarGear1_10("CWG1.10", Type.CHECK_TYPE), - CWarShip1_9("CWS1.9", Type.CHECK_TYPE), - CWarShip1_8("CWS1.8", Type.CHECK_TYPE), - CWarGear1_7("CWG1.7", Type.CHECK_TYPE), - WarGear1_14("WG1.14", Type.FIGHT_TYPE, null), - MPPWarGear1_12("MPPWG", Type.FIGHT_TYPE, CMPPWarGear1_12), - SGWarShip("SGWS", Type.FIGHT_TYPE, CSGWarShip), - WarGear1_12("WG1.12", Type.FIGHT_TYPE, null), - WarShip1_12("WS1.12", Type.FIGHT_TYPE, null), - MiniWarGear1_12("MWG1.12", Type.FIGHT_TYPE, null), - WarGear1_10("WG1.10", Type.FIGHT_TYPE, CWarGear1_10), - WarShip1_9("WS1.9", Type.FIGHT_TYPE, CWarShip1_9), - WarShip1_8("WS1.8", Type.FIGHT_TYPE, CWarShip1_8), - WarGear1_7("WG1.7", Type.FIGHT_TYPE, CWarGear1_7) +public class SchematicType { + public static final SchematicType Normal = new SchematicType("Normal", "", Type.NORMAL, null); //Has to stay publicly availible - ; - - - - //public static final SchematicType Normal = new SchematicType("Normal", "", Type.NORMAL, null); //Has to stay publicly availible - - private static final Map fromDB = new HashMap<>(); - static{ - for(SchematicType type : values()){ - fromDB.put(type.name().toLowerCase(), type); - } - } - /*private static final Map fromDB; + private static final Map fromDB; private static final List types; static{ @@ -56,30 +23,30 @@ public enum SchematicType { List tmpTypes = new LinkedList<>(); Map tmpFromDB = new HashMap<>(); + + tmpTypes.add(Normal); + tmpFromDB.put(Normal.name().toLowerCase(), Normal); + for(String type : config.getKeys(false)){ ConfigurationSection section = config.getConfigurationSection(type); assert section != null; String checktype = section.getString("checktype"); - SchematicType current = new SchematicType(type, section.getString("kuerzel"), Type.valueOf(section.getString("type")), checktype != null ? fromDB(checktype) : null); + SchematicType current = new SchematicType(type, section.getString("kuerzel"), Type.valueOf(section.getString("type")), checktype != null ? tmpFromDB.get(checktype.toLowerCase()) : null); tmpTypes.add(current); tmpFromDB.put(type.toLowerCase(), current); } fromDB = Collections.unmodifiableMap(tmpFromDB); types = Collections.unmodifiableList(tmpTypes); - }*/ + } - //private final String name; + private final String name; private final String kuerzel; private final Type type; private SchematicType checkType; - private SchematicType(String kuerzel, Type type){ - this(kuerzel, type, null); - } - - private SchematicType(String kuerzel, Type type, SchematicType checkType){ - //this.name = name; + private SchematicType(String name, String kuerzel, Type type, SchematicType checkType){ + this.name = name; this.kuerzel = kuerzel; this.type = type; this.checkType = checkType; @@ -105,25 +72,25 @@ public enum SchematicType { return type == Type.NORMAL; } - /*public String name(){ + public String name(){ return name; - }*/ + } public String getKuerzel() { return kuerzel; } public String toDB(){ - return name().toLowerCase(); + return name.toLowerCase(); } public static SchematicType fromDB(String input){ return fromDB.getOrDefault(input.toLowerCase(), null); } - /*public static List values(){ + public static List values(){ return types; - }*/ + } enum Type{ NORMAL,