72 lines
2.9 KiB
Java
72 lines
2.9 KiB
Java
package eu.univento.core.api.map;
|
|
|
|
import eu.univento.cloud.commons.server.ServerType;
|
|
import eu.univento.core.Core;
|
|
import org.bukkit.Material;
|
|
|
|
import java.sql.SQLException;
|
|
import java.util.ArrayList;
|
|
|
|
/**
|
|
* @author joethei
|
|
* @version 0.1
|
|
*/
|
|
public class MapDatabase {
|
|
|
|
public static Map getMap(String name) {
|
|
final Map[] map = new Map[1];
|
|
Core.getCommons().getDatabaseManager().getAsyncMySQL().query("SELECT * FROM maps WHERE name='" + name + "' INNER JOIN builder ON map.builder = builder.id;", resultSet -> {
|
|
try {
|
|
map[0] = new Map(resultSet.getString("map.name"), resultSet.getString("builder.name"), Material.valueOf(resultSet.getString("map.material")), resultSet.getString("map.link"));
|
|
} catch (SQLException e) {
|
|
e.printStackTrace();
|
|
}
|
|
});
|
|
return map[0];
|
|
}
|
|
|
|
public static ArrayList<Map> getAllMaps(String builderName) {
|
|
ArrayList<Map> maps = new ArrayList<>();
|
|
|
|
Core.getCommons().getDatabaseManager().getAsyncMySQL().query("SELECT * FROM maps WHERE builder.name='" + builderName + "' INNER JOIN builder ON map.builder = builder.id;", resultSet -> {
|
|
try {
|
|
while(resultSet.next()) {
|
|
maps.add(new Map(resultSet.getString("map.name"), resultSet.getString("builder.name"), Material.valueOf(resultSet.getString("map.material")), resultSet.getString("map.link")));
|
|
}
|
|
} catch (SQLException e) {
|
|
e.printStackTrace();
|
|
}
|
|
});
|
|
return maps;
|
|
}
|
|
|
|
public static ArrayList<Map> getAllMaps(ServerType serverType) {
|
|
ArrayList<Map> maps = new ArrayList<>();
|
|
|
|
Core.getCommons().getDatabaseManager().getAsyncMySQL().query("SELECT * FROM maps WHERE type='" + serverType.getID() + "' INNER JOIN builder ON map.builder = builder.id;", resultSet -> {
|
|
try {
|
|
while(resultSet.next()) {
|
|
maps.add(new Map(resultSet.getString("map.name"), resultSet.getString("builder.name"), Material.valueOf(resultSet.getString("map.material")), resultSet.getString("map.link")));
|
|
}
|
|
} catch (SQLException e) {
|
|
e.printStackTrace();
|
|
}
|
|
});
|
|
return maps;
|
|
}
|
|
|
|
public static ArrayList<Map> getAllMaps() {
|
|
ArrayList<Map> maps = new ArrayList<>();
|
|
|
|
Core.getCommons().getDatabaseManager().getAsyncMySQL().query("SELECT * FROM maps INNER JOIN builder ON map.builder = builder.id;", resultSet -> {
|
|
try {
|
|
while(resultSet.next()) {
|
|
maps.add(new Map(resultSet.getString("map.name"), resultSet.getString("builder.name"), Material.valueOf(resultSet.getString("map.material")), resultSet.getString("map.link")));
|
|
}
|
|
} catch (SQLException e) {
|
|
e.printStackTrace();
|
|
}
|
|
});
|
|
return maps;
|
|
}
|
|
} |