// Path: src/main/java/guru/franz/mc/bcl/datastore/database/H2.java
// public class H2 extends MySQL {
// 
//     /**
//      * Get a dataSource to execute Queries against
//      *
//      * @return the DataStore
//      * @throws SQLException             if there is any errors with the MySQL
//      * @throws MySQLConnectionException If we can't connect to the database.
//      */
//     protected DataSource getDataSource() throws SQLException, MySQLConnectionException {
//         Path datastoreDir = Paths.get(Config.getInstance().getDirectory() + "/datastore");
//         if (!Files.exists(datastoreDir)) {
//             try {
//                 Files.createDirectories(datastoreDir);
//             } catch (IOException e) {
//                 BetterChunkLoader.instance().getLogger()
//                         .error("Could not create datastore directory.", e);
//             }
//         }
// 
//         String jdbcConnection = String.format("jdbc:h2:%s/h2;mode=MySQL", datastoreDir);
//         return Sponge.getServiceManager().provide(SqlService.class).orElseThrow(SQLException::new)
//                 .getDataSource(jdbcConnection);
// 
//     }
// }
// 
// Path: src/main/java/guru/franz/mc/bcl/datastore/exceptions/MySQLConnectionException.java
// public class MySQLConnectionException extends SQLException {
// 
//     public MySQLConnectionException(String message) {
//         super(message);
//     }
// }


import guru.franz.mc.bcl.datastore.database.H2;
import guru.franz.mc.bcl.datastore.exceptions.MySQLConnectionException;
package guru.franz.mc.bcl.datastore;


public class H2DataStore extends DatabaseDataStore {

    @Override
    public String getName() {
        return "H2";
    }

    @Override
// Path: src/main/java/guru/franz/mc/bcl/datastore/database/H2.java
// public class H2 extends MySQL {
// 
//     /**
//      * Get a dataSource to execute Queries against
//      *
//      * @return the DataStore
//      * @throws SQLException             if there is any errors with the MySQL
//      * @throws MySQLConnectionException If we can't connect to the database.
//      */
//     protected DataSource getDataSource() throws SQLException, MySQLConnectionException {
//         Path datastoreDir = Paths.get(Config.getInstance().getDirectory() + "/datastore");
//         if (!Files.exists(datastoreDir)) {
//             try {
//                 Files.createDirectories(datastoreDir);
//             } catch (IOException e) {
//                 BetterChunkLoader.instance().getLogger()
//                         .error("Could not create datastore directory.", e);
//             }
//         }
// 
//         String jdbcConnection = String.format("jdbc:h2:%s/h2;mode=MySQL", datastoreDir);
//         return Sponge.getServiceManager().provide(SqlService.class).orElseThrow(SQLException::new)
//                 .getDataSource(jdbcConnection);
// 
//     }
// }
// 
// Path: src/main/java/guru/franz/mc/bcl/datastore/exceptions/MySQLConnectionException.java
// public class MySQLConnectionException extends SQLException {
// 
//     public MySQLConnectionException(String message) {
//         super(message);
//     }
// }


// Path: src/main/java/guru/franz/mc/bcl/datastore/H2DataStore.java
import guru.franz.mc.bcl.datastore.database.H2;
import guru.franz.mc.bcl.datastore.exceptions.MySQLConnectionException;

package guru.franz.mc.bcl.datastore;


public class H2DataStore extends DatabaseDataStore {

    @Override
    public String getName() {
        return "H2";
    }

    @Override
    public void load() throws MySQLConnectionException {