Merge branch 'dynamic_instanciation' of SteamWar/SpigotCore into master
Dieser Commit ist enthalten in:
Commit
87f512bf2f
@ -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<String, SchematicType> fromDB = new HashMap<>();
|
||||
static{
|
||||
for(SchematicType type : values()){
|
||||
fromDB.put(type.name().toLowerCase(), type);
|
||||
}
|
||||
}
|
||||
/*private static final Map<String, SchematicType> fromDB;
|
||||
private static final Map<String, SchematicType> fromDB;
|
||||
private static final List<SchematicType> types;
|
||||
|
||||
static{
|
||||
@ -56,30 +23,30 @@ public enum SchematicType {
|
||||
|
||||
List<SchematicType> tmpTypes = new LinkedList<>();
|
||||
Map<String, SchematicType> 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<SchematicType> values(){
|
||||
public static List<SchematicType> values(){
|
||||
return types;
|
||||
}*/
|
||||
}
|
||||
|
||||
enum Type{
|
||||
NORMAL,
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren