Merge branch 'dynamic_instanciation' of SteamWar/SpigotCore into master
Dieser Commit ist enthalten in:
Commit
87f512bf2f
@ -1,49 +1,16 @@
|
|||||||
package de.steamwar.sql;
|
package de.steamwar.sql;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import de.steamwar.core.Core;
|
||||||
import java.util.Map;
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
|
|
||||||
public enum SchematicType {
|
import java.io.File;
|
||||||
Normal("", Type.NORMAL),
|
import java.util.*;
|
||||||
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),
|
|
||||||
|
|
||||||
CMPPWarGear1_12("CMPPWG", Type.CHECK_TYPE),
|
public class SchematicType {
|
||||||
CSGWarShip("CSGWS", Type.CHECK_TYPE),
|
public static final SchematicType Normal = new SchematicType("Normal", "", Type.NORMAL, null); //Has to stay publicly availible
|
||||||
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)
|
|
||||||
|
|
||||||
;
|
private static final Map<String, SchematicType> fromDB;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//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 List<SchematicType> types;
|
private static final List<SchematicType> types;
|
||||||
|
|
||||||
static{
|
static{
|
||||||
@ -56,30 +23,30 @@ public enum SchematicType {
|
|||||||
|
|
||||||
List<SchematicType> tmpTypes = new LinkedList<>();
|
List<SchematicType> tmpTypes = new LinkedList<>();
|
||||||
Map<String, SchematicType> tmpFromDB = new HashMap<>();
|
Map<String, SchematicType> tmpFromDB = new HashMap<>();
|
||||||
|
|
||||||
|
tmpTypes.add(Normal);
|
||||||
|
tmpFromDB.put(Normal.name().toLowerCase(), Normal);
|
||||||
|
|
||||||
for(String type : config.getKeys(false)){
|
for(String type : config.getKeys(false)){
|
||||||
ConfigurationSection section = config.getConfigurationSection(type);
|
ConfigurationSection section = config.getConfigurationSection(type);
|
||||||
assert section != null;
|
assert section != null;
|
||||||
String checktype = section.getString("checktype");
|
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);
|
tmpTypes.add(current);
|
||||||
tmpFromDB.put(type.toLowerCase(), current);
|
tmpFromDB.put(type.toLowerCase(), current);
|
||||||
}
|
}
|
||||||
|
|
||||||
fromDB = Collections.unmodifiableMap(tmpFromDB);
|
fromDB = Collections.unmodifiableMap(tmpFromDB);
|
||||||
types = Collections.unmodifiableList(tmpTypes);
|
types = Collections.unmodifiableList(tmpTypes);
|
||||||
}*/
|
}
|
||||||
|
|
||||||
//private final String name;
|
private final String name;
|
||||||
private final String kuerzel;
|
private final String kuerzel;
|
||||||
private final Type type;
|
private final Type type;
|
||||||
private SchematicType checkType;
|
private SchematicType checkType;
|
||||||
|
|
||||||
private SchematicType(String kuerzel, Type type){
|
private SchematicType(String name, String kuerzel, Type type, SchematicType checkType){
|
||||||
this(kuerzel, type, null);
|
this.name = name;
|
||||||
}
|
|
||||||
|
|
||||||
private SchematicType(String kuerzel, Type type, SchematicType checkType){
|
|
||||||
//this.name = name;
|
|
||||||
this.kuerzel = kuerzel;
|
this.kuerzel = kuerzel;
|
||||||
this.type = type;
|
this.type = type;
|
||||||
this.checkType = checkType;
|
this.checkType = checkType;
|
||||||
@ -105,25 +72,25 @@ public enum SchematicType {
|
|||||||
return type == Type.NORMAL;
|
return type == Type.NORMAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*public String name(){
|
public String name(){
|
||||||
return name;
|
return name;
|
||||||
}*/
|
}
|
||||||
|
|
||||||
public String getKuerzel() {
|
public String getKuerzel() {
|
||||||
return kuerzel;
|
return kuerzel;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String toDB(){
|
public String toDB(){
|
||||||
return name().toLowerCase();
|
return name.toLowerCase();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static SchematicType fromDB(String input){
|
public static SchematicType fromDB(String input){
|
||||||
return fromDB.getOrDefault(input.toLowerCase(), null);
|
return fromDB.getOrDefault(input.toLowerCase(), null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*public static List<SchematicType> values(){
|
public static List<SchematicType> values(){
|
||||||
return types;
|
return types;
|
||||||
}*/
|
}
|
||||||
|
|
||||||
enum Type{
|
enum Type{
|
||||||
NORMAL,
|
NORMAL,
|
||||||
|
In neuem Issue referenzieren
Einen Benutzer sperren