diff --git a/pom.xml b/pom.xml index 8608a18..eac5a20 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.exortions ExosPluginUtils - 1.4.31.27 + 1.4.31.32 jar PluginUtils @@ -180,6 +180,11 @@ reflections 0.9.12 + + org.apache.commons + commons-io + 1.3.2 + \ No newline at end of file diff --git a/src/main/java/com/exortions/pluginutils/collection/CollectionUtils.java b/src/main/java/com/exortions/pluginutils/collection/CollectionUtils.java index 6859f3c..c03cf02 100644 --- a/src/main/java/com/exortions/pluginutils/collection/CollectionUtils.java +++ b/src/main/java/com/exortions/pluginutils/collection/CollectionUtils.java @@ -36,4 +36,14 @@ public static String[] subArray(String[] array) { return str.split("\\s"); } + public void command() { + String[] args = null; + String str = ""; + for (String s : args) { + str = str.concat(s + " "); + } + str = str.substring(0, str.length()-1); + + } + } diff --git a/src/main/java/com/exortions/pluginutils/command/subcommand/SubCommandHandler.java b/src/main/java/com/exortions/pluginutils/command/subcommand/SubCommandHandler.java index 7bb9bf3..9bcfde3 100644 --- a/src/main/java/com/exortions/pluginutils/command/subcommand/SubCommandHandler.java +++ b/src/main/java/com/exortions/pluginutils/command/subcommand/SubCommandHandler.java @@ -22,13 +22,16 @@ public abstract class SubCommandHandler implements CommandExecutor { @Getter private CommandSender sender; + @Setter private Runnable onlyPlayers; + @Setter private Runnable noArguments; + @Setter private Runnable noPermission; + @Setter private Runnable subComandNotFound; - - public void construct(Runnable onlyPlayers, Runnable noArguments, Runnable noPermission, Runnable subCommandNotFound) { + public SubCommandHandler(Runnable onlyPlayers, Runnable noArguments, Runnable noPermission, Runnable subCommandNotFound) { this.onlyPlayers = onlyPlayers; this.noArguments = noArguments; this.noPermission = noPermission; diff --git a/src/main/java/com/exortions/pluginutils/database/DatabaseManipulator.java b/src/main/java/com/exortions/pluginutils/database/DatabaseManipulator.java new file mode 100644 index 0000000..80e09c8 --- /dev/null +++ b/src/main/java/com/exortions/pluginutils/database/DatabaseManipulator.java @@ -0,0 +1,59 @@ +package com.exortions.pluginutils.database; + +import lombok.Data; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.SQLException; + +@Data +public abstract class DatabaseManipulator { + + private String database; + private String host; + private String port; + private boolean useSSL; + + private String username; + private String password; + + private String url; + + private Connection connection; + + public DatabaseManipulator(String database, String host, String port, String username, String password, boolean useSSL) { + this.database = database; + this.host = host; + this.port = port; + this.username = username; + this.password = password; + this.useSSL = useSSL; + + this.url = "jdbc:mysql://" + host + ":" + port + "/" + database + "?useSSL=" + useSSL; + } + + public DatabaseManipulator createConnection() throws SQLException { + connection = DriverManager.getConnection(url, username, password); + return this; + } + + public ResultSet query(String sql) { + try { + return connection.createStatement().executeQuery(sql); + } catch (SQLException e) { + e.printStackTrace(); + return null; + } + } + + public boolean execute(String sql) { + try { + return connection.createStatement().execute(sql); + } catch (SQLException e) { + e.printStackTrace(); + return false; + } + } + +} diff --git a/src/main/java/com/exortions/pluginutils/database/v1/AlreadyConnectedException.java b/src/main/java/com/exortions/pluginutils/database/v1/AlreadyConnectedException.java deleted file mode 100644 index 0f34bb0..0000000 --- a/src/main/java/com/exortions/pluginutils/database/v1/AlreadyConnectedException.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.exortions.pluginutils.database.v1; - -public class AlreadyConnectedException extends Exception { - - public AlreadyConnectedException(String message) { - super(message); - } - - public AlreadyConnectedException(String message, Throwable cause) { - super(message, cause); - } - -} diff --git a/src/main/java/com/exortions/pluginutils/database/v1/MySQL.java b/src/main/java/com/exortions/pluginutils/database/v1/MySQL.java deleted file mode 100644 index 659e6e5..0000000 --- a/src/main/java/com/exortions/pluginutils/database/v1/MySQL.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.exortions.pluginutils.database.v1; - -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.PreparedStatement; -import java.sql.SQLException; -import java.util.List; - -public class MySQL extends SQLDatabase { - - public MySQL(String host, String port, String database, String username, String password, boolean useSSL) { - this.host = host; - this.port = port; - this.database = database; - - this.username = username; - this.password = password; - - this.useSSL = useSSL; - } - - @Override - public boolean isConnected() { - return (connection != null); - } - - @Override - public void connect() throws SQLException, AlreadyConnectedException { - if (!isConnected()) connection = DriverManager.getConnection("jdbc:mysql://" + host + ":" + port + "/" + database + "?useSSL=" + useSSL, username, password); else throw new AlreadyConnectedException("Already connected to " + "jdbc:mysql://" + host + ":" + port + "/" + database + "?useSSL=" + useSSL + "!"); - } - - @Override - public void disconnect() throws NotConnectedException { - if (isConnected()) { - try { - connection.close(); - } catch (SQLException e) { - e.printStackTrace(); - } - } else throw new NotConnectedException("Not connected to " + "jdbc:mysql://" + host + ":" + port + "/" + database + "?useSSL=" + useSSL + "!"); - } - - @Override - public Connection getConnection() { - return connection; - } - - @Override - public void createTable(String table, List chars, String primaryKey) throws SQLException { - String statement = "CREATE TABLE IF NOT EXISTS " + table + " ("; - for (String s : chars) { - statement = statement.concat(s + ","); - } - statement = statement.concat("PRIMARY KEY (" + primaryKey + "))"); - PreparedStatement ps = connection.prepareStatement(statement); - ps.executeUpdate(); - } -} diff --git a/src/main/java/com/exortions/pluginutils/database/v1/NotConnectedException.java b/src/main/java/com/exortions/pluginutils/database/v1/NotConnectedException.java deleted file mode 100644 index c2aa0d2..0000000 --- a/src/main/java/com/exortions/pluginutils/database/v1/NotConnectedException.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.exortions.pluginutils.database.v1; - -public class NotConnectedException extends Exception { - - public NotConnectedException(String msg) { - super(msg); - } - - public NotConnectedException(String msg, Throwable cause) { - super(msg, cause); - } - -} diff --git a/src/main/java/com/exortions/pluginutils/database/v1/SQLDatabase.java b/src/main/java/com/exortions/pluginutils/database/v1/SQLDatabase.java deleted file mode 100644 index 7eba717..0000000 --- a/src/main/java/com/exortions/pluginutils/database/v1/SQLDatabase.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.exortions.pluginutils.database.v1; - -import java.sql.Connection; -import java.sql.SQLException; -import java.util.List; - -public abstract class SQLDatabase { - - String host; - String port; - String database; - - String username; - String password; - - boolean useSSL; - - Connection connection; - - abstract public boolean isConnected(); - abstract public void connect() throws SQLException, AlreadyConnectedException; - abstract public void disconnect() throws NotConnectedException; - abstract public Connection getConnection(); - - abstract public void createTable(String var1, List var2, String var3) throws SQLException; - -} diff --git a/src/main/java/com/exortions/pluginutils/database/v2/MySQLResultSetUtils.java b/src/main/java/com/exortions/pluginutils/database/v2/MySQLResultSetUtils.java deleted file mode 100644 index 8ec2fc2..0000000 --- a/src/main/java/com/exortions/pluginutils/database/v2/MySQLResultSetUtils.java +++ /dev/null @@ -1,241 +0,0 @@ -package com.exortions.pluginutils.database.v2; - -import javax.annotation.Nullable; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.List; - -/** - * @since 0.4.24.23 - */ -@SuppressWarnings("unused") -public class MySQLResultSetUtils { - - public static HashMap getValuedMapFromSet(String asKey, String asValue, ResultSet set){ - HashMap map = new HashMap(); - try { - while(set.next()) { - map.put(set.getObject(asKey), set.getObject(asValue)); - } - set.beforeFirst(); - } catch (SQLException e) { - e.printStackTrace(); - } - return map; - } - - public static LinkedHashMap getValuedLinkedMapFromSet(String asKey, String asValue, ResultSet set){ - LinkedHashMap map = new LinkedHashMap(); - try { - while(set.next()) { - map.put(set.getObject(asKey), set.getObject(asValue)); - } - set.beforeFirst(); - } catch (SQLException e) { - e.printStackTrace(); - } - return map; - } - - - public static List getObjectsFromSet(String columnName, ResultSet set){ - List list = new ArrayList(); - try { - while(set.next()) { - Object value = set.getObject(columnName); - if (set.wasNull()){ - continue; - } - list.add(value); - } - set.beforeFirst(); - } catch (SQLException e) { - e.printStackTrace(); - } - return list; - } - - - public static Object getObjectFromSet(String columnName, ResultSet set){ - Object value = null; - try { - while(set.next()) { - value = set.getObject(columnName); - if (set.wasNull()){ - value = null; - } - } - set.beforeFirst(); - } catch (SQLException e) { - e.printStackTrace(); - } - return value; - } - - public static Integer getIntegerFromSet(String columnName, ResultSet set){ - Integer value = null; - try { - while(set.next()) { - value = set.getInt(columnName); - if (set.wasNull()){ - value = null; - } - } - set.beforeFirst(); - } catch (SQLException e) { - e.printStackTrace(); - } - return value; - } - - public static List getIntegersFromSet(String columnName, ResultSet set){ - List list = new ArrayList(); - try { - while(set.next()) { - Integer value = set.getInt(columnName); - if (set.wasNull()){ - continue; - } - list.add(value); - } - set.beforeFirst(); - } catch (SQLException e) { - e.printStackTrace(); - } - return list; - } - - public static Long getLongFromSet(String columnName, ResultSet set){ - Long value = null; - try { - while(set.next()) { - value = set.getLong(columnName); - if (set.wasNull()){ - value = null; - } - } - set.beforeFirst(); - } catch (SQLException e) { - e.printStackTrace(); - } - return value; - } - - public static List getLongsFromSet(String columnName, ResultSet set){ - List list = new ArrayList(); - try { - while(set.next()) { - Long value = set.getLong(columnName); - if (set.wasNull()){ - continue; - } - list.add(value); - } - set.beforeFirst(); - } catch (SQLException e) { - e.printStackTrace(); - } - return list; - } - - - public static Double getDoubleFromSet(String columnName, ResultSet set){ - Double value = null; - try { - while(set.next()) { - value = set.getDouble(columnName); - if (set.wasNull()){ - value = null; - } - } - set.beforeFirst(); - } catch (SQLException e) { - e.printStackTrace(); - } - return value; - } - - public static List getDoublesFromSet(String columnName, ResultSet set){ - List list = new ArrayList(); - try { - while(set.next()) { - Double value = set.getDouble(columnName); - if (set.wasNull()){ - continue; - } - list.add(value); - } - set.beforeFirst(); - } catch (SQLException e) { - e.printStackTrace(); - } - return list; - } - - - public static Short getShortFromSet(String columnName, ResultSet set){ - Short value = null; - try { - while(set.next()) { - value = set.getShort(columnName); - if (set.wasNull()){ - value = null; - } - } - set.beforeFirst(); - } catch (SQLException e) { - e.printStackTrace(); - } - return value; - } - - public static List getShortsFromSet(String columnName, ResultSet set){ - List list = new ArrayList(); - try { - while(set.next()) { - Short value = set.getShort(columnName); - if (set.wasNull()){ - continue; - } - list.add(value); - } - set.beforeFirst(); - } catch (SQLException e) { - e.printStackTrace(); - } - return list; - } - - - @Nullable - public static String getStringFromSet(String columnName, ResultSet set){ - String name = null; - try { - while(set.next()) { - name = set.getString(columnName); - } - set.beforeFirst(); - } catch (SQLException e) { - e.printStackTrace(); - } - return name; - } - - - public static ArrayList getStringsFromSet(String columnName, ResultSet set){ - ArrayList list = new ArrayList(); - try { - while(set.next()) { - String name = set.getString(columnName); - list.add(name); - } - set.beforeFirst(); - } catch (SQLException e1) { - e1.printStackTrace(); - } - return list; - } -} \ No newline at end of file diff --git a/src/main/java/com/exortions/pluginutils/database/v2/Query.java b/src/main/java/com/exortions/pluginutils/database/v2/Query.java deleted file mode 100644 index a39cc43..0000000 --- a/src/main/java/com/exortions/pluginutils/database/v2/Query.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.exortions.pluginutils.database.v2; - -/** - * @since 0.4.24.23 - */ -@SuppressWarnings("unused") -public class Query { - - private String query; - - public Query(String query){ - this.query = query; - } - - public String getQuery(){ - return query; - } - - public void setQuery(String query) { - this.query = query; - } -} diff --git a/src/main/java/com/exortions/pluginutils/database/v2/QueryUtils.java b/src/main/java/com/exortions/pluginutils/database/v2/QueryUtils.java deleted file mode 100644 index bdc5b5d..0000000 --- a/src/main/java/com/exortions/pluginutils/database/v2/QueryUtils.java +++ /dev/null @@ -1,411 +0,0 @@ -package com.exortions.pluginutils.database.v2; - -import org.bukkit.craftbukkit.libs.org.apache.commons.lang3.tuple.Pair; - -import java.util.ArrayList; -import java.util.List; - -/** - * @author MorkaZ - * @since 0.4.24.23 - */ -@SuppressWarnings("all") -public class QueryUtils { - - - public static String constructQueryTableCreate(String tableName, List> columns, String primaryKey, SQLDatabaseType databaseType){ - StringBuilder query = new StringBuilder("CREATE TABLE IF NOT EXISTS " + tableName + " ("); - for (Pair pair : columns){ - query.append("`").append(pair.getLeft()).append("` ").append(pair.getRight()).append(", "); - } - if (primaryKey != null){ - query.append(" PRIMARY KEY (`").append(primaryKey).append("`)"); - query.append(");"); - } else { - query = new StringBuilder(query.substring(0, query.length() - 2) + ");"); - } - return query.toString(); - } - - public static String constructQueryRowGet(String table, String indexColumn, Object indexValue, SQLDatabaseType databaseType){ - String query; - if (indexValue instanceof Number){ - query = "SELECT * " + - "FROM `"+table+"` " + - "WHERE "+indexColumn+" = "+indexValue+" " + - "LIMIT 1"; - } else { - query = "SELECT * " + - "FROM `"+table+"` " + - "WHERE "+indexColumn+" = '"+indexValue.toString()+"' " + - "LIMIT 1"; - } - return query; - } - - public static String constructQueryRowsGet(String table, String indexColumn, Object indexValue, Object limit, SQLDatabaseType databaseType){ - String query; - if (indexValue instanceof Number){ - query = "SELECT * " + - "FROM `"+table+"` " + - "WHERE `"+indexColumn+"` = "+indexValue+" "; - } else { - query = "SELECT * " + - "FROM `"+table+"` " + - "WHERE `"+indexColumn+"` = '"+indexValue.toString()+"' "; - } - if (!(limit.equals(0) || limit.equals("0"))){ - query = query + "LIMIT "+limit.toString()+""; - } - return query; - } - - public static String constructQueryRowRemove(String table, Pair pair, SQLDatabaseType databaseType){ - String query; - String column = (String)pair.getLeft(); - Object value = pair.getRight(); - if (value instanceof Number) { - query = "DELETE FROM `"+table+"` "+ - "WHERE `"+column+"` = "+value+" "; - } else { - query = "DELETE FROM `"+table+"` "+ - "WHERE `"+column+"` = '"+value+"' "; - } - if (databaseType != SQLDatabaseType.SQLITE){ - query = query + "LIMIT 1"; - } - return query; - } - - public static String constructQueryRowRemove(String table, String column, Object value, SQLDatabaseType databaseType){ - String query; - if (value instanceof Number) { - query = "DELETE FROM `"+table+"` " + - "WHERE `"+column+"` = "+value+" "; - } else { - query = "DELETE FROM `"+table+"` " + - "WHERE `"+column+"` = '"+value+"' "; - } - if (databaseType != SQLDatabaseType.SQLITE){ - query = query + "LIMIT 1"; - } - return query; - } - - public static String constructQueryRowsRemove(String table, String column, Object value, Object limit, SQLDatabaseType databaseType){ - String query; - if (value instanceof Number) { - query = "DELETE FROM `"+table+"` " + - "WHERE `"+column+"` = "+value+" "; - } else { - query = "DELETE FROM `"+table+"` " + - "WHERE `"+column+"` = '"+value+"' "; - } - if (!(limit.equals(0) || limit.equals("0"))){ - query = query + "LIMIT "+limit.toString()+""; - } - return query; - } - - public static String constructQueryRowsRemove(String table, Pair pair, Object limit, SQLDatabaseType databaseType){ - String query; - String column = (String)pair.getLeft(); - Object value = pair.getRight(); - if (value instanceof Number) { - query = "DELETE FROM `"+table+"` " + - "WHERE `"+column+"` = "+value+" "; - } else { - query = "DELETE FROM `"+table+"` " + - "WHERE `"+column+"` = '"+value+"' "; - } - if (!(limit.equals(0) || limit.equals("0"))){ - query = query + "LIMIT "+limit.toString()+""; - } - return query; - } - - public static String constructQueryValueRemove(String table, String indexColumn, Object indexValue, String valueColumn, SQLDatabaseType databaseType){ - String query; - if (indexValue instanceof Number){ - query = "UPDATE `"+table+"` " + - "SET `"+valueColumn+"` = NULL " + - "WHERE `"+table+"`.`"+indexColumn+"` = "+indexValue; - } else { - query = "UPDATE `"+table+ "` " + - "SET `"+valueColumn+"` = NULL " + - "WHERE `"+table+"`.`"+indexColumn+"` = '"+indexValue.toString()+"'"; - } - return query; - } - - public static String constructQueryValueRemove(String table, Pair indexPair, String column, SQLDatabaseType databaseType){ - String query; - if (indexPair.getRight() instanceof Number){ - query = "UPDATE `"+table+ "` " + - "SET `"+column+"` = NULL " + - "WHERE `"+table+"`.`"+indexPair.getLeft()+"` = "+indexPair.getRight(); - } else { - query = "UPDATE `"+table+"` " + - "SET `"+column+"` = NULL " + - "WHERE `"+table+"`.`"+indexPair.getLeft()+"` = '"+indexPair.getRight().toString()+"'"; - } - return query; - } - - public static String constructQueryValueRemove(String table, Pair indexPair, Pair valuePair, SQLDatabaseType databaseType){ - String query; - if (indexPair.getRight() instanceof Number){ - query = "UPDATE `"+table+ "` " + - "SET `"+valuePair.getLeft()+"` = NULL " + - "WHERE `"+table+"`.`"+indexPair.getLeft()+"` = "+indexPair.getRight(); - } else { - query = "UPDATE `"+table+ "` " + - "SET `"+valuePair.getLeft()+"` = NULL " + - "WHERE `"+table+"`.`"+indexPair.getLeft()+"` = '"+indexPair.getRight().toString()+"'"; - } - return query; - } - -// String query1 = "INSERT OR IGNORE INTO `"+table+"` VALUES ("+keyValue+", "+setValueTrans+") "; -// String query2 = "UPDATE `"+table+"` SET `"+setColumn+"` = "+setValueTrans+" WHERE `"+keyValue+"` = "+keyValueTrans+" "; - public static List constructQuerySingleValueSet(String table, String keyColumn, Object keyValue, String setColumn, Object setValue, - Boolean hasTableUniqueKey, SQLDatabaseType databaseType){ - List queryList = new ArrayList<>(); - String setValueTrans = setValue+""; - if (setValue == null || (""+setValue).equalsIgnoreCase("null")){ - setValueTrans = "NULL"; - } else if (!(setValue instanceof Number)) { - setValueTrans = "'" + setValueTrans + "'"; - } - String keyValueTrans = keyValue+""; - if (keyValue == null || (""+keyValue).equalsIgnoreCase("null")){ - keyValueTrans = "NULL"; - } else if (!(keyValue instanceof Number)) { - keyValueTrans = "'" + keyValueTrans + "'"; - } - if (databaseType == SQLDatabaseType.MYSQL){ - String query; - query = "INSERT INTO `"+table+"` " - + "(`"+keyColumn+"`, `"+setColumn+"`) " - + "VALUES ("+keyValueTrans+", "+setValueTrans+") "; - if (hasTableUniqueKey) { - query = query - + "ON DUPLICATE KEY UPDATE " - + "`"+setColumn+"` = "+setValueTrans+" "; - } - queryList.add(query); - } else { - //It will be uncommented when newest version of SQLIte driver will be released in java's JDK. - //At this moment SQLite does not support UPSERT query like MySQL does. -// query = "INSERT INTO `"+table+"` " -// + "(`"+keyColumn+"`, `"+setColumn+"`) " -// + "VALUES ("+keyValueTrans+", "+setValueTrans+") "; -// if (hasTableUniqueKey) { -// query = query -// + "ON CONFLICT (`"+keyColumn+"`) " -// + "DO UPDATE SET " -// + "`"+setColumn+"` = "+setValueTrans+""; -// } - String begining = "INSERT"; - if (hasTableUniqueKey) { - begining = "INSERT OR IGNORE"; - } - String query1 = begining+" INTO `"+table+"` " - + "(`"+keyColumn+"`, "+setColumn+") " - + "VALUES ("+keyValueTrans+", "+setValueTrans+")"; - if (hasTableUniqueKey) { - String query2 = "UPDATE `"+table+"` " - + "SET `"+setColumn+"` = "+setValueTrans+" " - + "WHERE `"+keyColumn+"` = "+keyValueTrans+" "; - queryList.add(query2); - } - queryList.add(query1); - } - return queryList; - } - - public static List constructQuerySingleValueSet(String table, Pair keyPair, Pair setPair, Boolean hasTableUniqueKey, SQLDatabaseType databaseType){ - String keyColumn = (String)keyPair.getLeft(), - setColumn = (String)setPair.getLeft(); - Object keyValue = keyPair.getRight(), - setValue = setPair.getRight(); - List queryList = constructQuerySingleValueSet(table, keyColumn, keyValue, setColumn, setValue, hasTableUniqueKey, databaseType); - return queryList; - } - - public static List constructQuerySingleValueSum(String table, Pair keyPair, Pair addPair, Boolean hasTableUniqueKey, SQLDatabaseType databaseType){ - List queryList = new ArrayList<>(); - String keyColumn = (String)keyPair.getLeft(), - setColumn = (String)addPair.getLeft(); - Object keyValue = keyPair.getRight(), - setValue = addPair.getRight(); - String keyValueTrans = keyValue+""; - if (keyValue == null || (""+keyValue).equalsIgnoreCase("null")){ - keyValueTrans = "NULL"; - } else if (!(keyValue instanceof Number)) { - keyValueTrans = "'" + keyValueTrans + "'"; - } - if (databaseType == SQLDatabaseType.MYSQL){ - String query; - query = "INSERT INTO `"+table+"` " - + "(`"+keyColumn+"`, `"+setColumn+"`) " - + "VALUES ("+keyValueTrans+", "+setValue+") "; - if (hasTableUniqueKey) { - query = query - + "ON DUPLICATE KEY UPDATE " - + "`"+setColumn+"` = coalesce("+setColumn+" + "+setValue+", "+setValue+") "; - } - queryList.add(query); - } else { -// query = "INSERT INTO `"+table+"` " -// + "(`"+keyColumn+"`, `"+setColumn+"`) " -// + "VALUES ("+keyValueTrans+", "+setValue+") "; -// if (hasTableUniqueKey) { -// query = query -// + "ON CONFLICT (`"+keyColumn+"`) " -// + "DO UPDATE SET " -// + "`"+setColumn+"` = "+setColumn+" + "+setValue+""; -// } - if (hasTableUniqueKey) { - String query1, query2; - query1 = "INSERT OR IGNORE INTO `"+table+"` " - + "(`"+keyColumn+"`, "+setColumn+") " - + "VALUES ("+keyValueTrans+", 0)"; - query2 = "UPDATE `"+ table+"` " - + "SET `"+setColumn+"` = coalesce("+setColumn+" + "+setValue+", "+setValue+") " - + "WHERE `"+keyColumn+"` = "+keyValueTrans+" "; - queryList.add(query1); - queryList.add(query2); - } else { - String query1; - query1 = "INSERT INTO `"+table+"` " - + "(`"+keyColumn+"`, "+setColumn+") " - + "VALUES ("+keyValueTrans+", "+setValue+")"; - queryList.add(query1); - } - } - return queryList; - } - - public static List constructQuerySingleValueSubtract(String table, Pair keyPair, Pair addPair, Boolean hasTableUniqueKey, SQLDatabaseType databaseType){ - List queryList = new ArrayList<>(); - String keyColumn = (String)keyPair.getLeft(), - setColumn = (String)addPair.getLeft(); - Object keyValue = keyPair.getRight(), - setValue = addPair.getRight(); - String keyValueTrans = keyValue+""; - if (keyValue == null || (""+keyValue).equalsIgnoreCase("null")){ - keyValueTrans = "NULL"; - } else if (!(keyValue instanceof Number)) { - keyValueTrans = "'" + keyValueTrans + "'"; - } - if (databaseType == SQLDatabaseType.MYSQL){ - String query; - query = "INSERT INTO `"+table+"` " - + "(`"+keyColumn+"`, `"+setColumn+"`) " - + "VALUES ("+keyValueTrans+", -"+setValue+") "; - if (hasTableUniqueKey) { - query = query - + "ON DUPLICATE KEY UPDATE " - + "`"+setColumn+"` = coalesce("+setColumn+" - "+setValue+", "+setValue+") "; - } - queryList.add(query); - } else { - if (hasTableUniqueKey) { - String query1, query2; - query1 = "INSERT OR IGNORE INTO `"+table+"` " - + "(`"+keyColumn+"`, "+setColumn+") " - + "VALUES ("+keyValueTrans+", 0)"; - query2 = "UPDATE `"+ table+"` " - + "SET `"+setColumn+"` = coalesce("+setColumn+" - "+setValue+", "+setValue+") " - + "WHERE `"+keyColumn+"` = "+keyValueTrans+" "; - queryList.add(query1); - queryList.add(query2); - } else { - String query1; - query1 = "INSERT INTO `"+table+"` " - + "(`"+keyColumn+"`, "+setColumn+") " - + "VALUES ("+keyValueTrans+", "+setValue+")"; - queryList.add(query1); - } - } - return queryList; - } - - public static List constructQueryMultipleValuesSet(String table, List> pairs, Boolean hasTableUniqueKey, SQLDatabaseType databaseType){ - List queryList = new ArrayList<>(); - String flatColumns = "("; - String flatValues = "("; - String flatColumnsAndValues = ""; - Boolean first = true; - for(Pair pair : pairs){ - String column = (String)pair.getLeft(); - Object value = pair.getRight(); - String valueTrans = value+""; - if (value == null || (""+value).equalsIgnoreCase("null")){ - valueTrans = "NULL"; - } else if (!(value instanceof Number)) { - valueTrans = "'" + valueTrans + "'"; - } - if (first){ - flatColumns = flatColumns+"`"+column+"`"; - flatValues = flatValues + valueTrans; - flatColumnsAndValues = "`"+column+"`=" + valueTrans; - first = false; - } else { - flatColumns = flatColumns+", `"+column+"`"; - flatValues = flatValues + ", " + valueTrans; - flatColumnsAndValues = flatColumnsAndValues + ", `"+column+"`=" + valueTrans; - } - } - flatColumns = flatColumns + ")"; - flatValues = flatValues + ")"; - if (databaseType == SQLDatabaseType.MYSQL){ - String query; - query = "INSERT INTO `"+table+"` " - + flatColumns+" " - + "VALUES "+flatValues+" "; - if (hasTableUniqueKey){ - query = query - + "ON DUPLICATE KEY UPDATE " - + flatColumnsAndValues; - } - queryList.add(query); - } else { -// query = "INSERT INTO `"+table+"` " -// + flatColumns+" " -// + "VALUES "+flatValues+" "; -// if (hasTableUniqueKey){ -// query = query -// + "ON CONFLICT (`"+pairs.get(0).getLeft()+"`) " -// + "DO UPDATE SET " -// + flatColumnsAndValues; -// } - String begining = "INSERT"; - if (hasTableUniqueKey) { - begining = "INSERT OR IGNORE"; - } - String query1 = begining+" INTO `"+table+"` " - + flatColumns - + "VALUES "+flatValues; - if (hasTableUniqueKey) { - Object keyValue = pairs.get(0).getRight(); - String keyValueTrans = keyValue+""; - if (keyValue == null || (""+keyValue).equalsIgnoreCase("null")){ - keyValueTrans = "NULL"; - } else if (!(keyValue instanceof Number)) { - keyValueTrans = "'" + keyValueTrans + "'"; - } - String query2 = "UPDATE `"+table+"` " - + "SET "+flatColumnsAndValues+" " - + "WHERE `"+pairs.get(0).getLeft()+"` = "+keyValueTrans+" "; - queryList.add(query2); - } - queryList.add(query1); - - } - - return queryList; - } - -} \ No newline at end of file diff --git a/src/main/java/com/exortions/pluginutils/database/v2/SQLDatabase.java b/src/main/java/com/exortions/pluginutils/database/v2/SQLDatabase.java deleted file mode 100644 index 0f0882f..0000000 --- a/src/main/java/com/exortions/pluginutils/database/v2/SQLDatabase.java +++ /dev/null @@ -1,186 +0,0 @@ -package com.exortions.pluginutils.database.v2; - -import org.bukkit.craftbukkit.libs.org.apache.commons.lang3.tuple.Pair; - -import java.sql.Connection; -import java.sql.ResultSet; -import java.util.List; - -/** - * @author MorkaZ, Exortions - * @since 0.4.24.23 - */ -@SuppressWarnings({"unused", "UnusedReturnValue"}) -public interface SQLDatabase { - - SQLDatabaseType getDatabaseType(); - - /** - *

Send query through connection asynchronously in background. - * It will not affect TPS, but it will work asynchronously.

- *

Also, database will be updated in delay and data will not be synchronous. - * It will be unable to get data from database instantly after update in another line of code.

- * @param query the query. - */ - void updateAsync(String query); - - /** - *

Send query through connection with synchronization with main thread. - * It will affect TPS depends of connection quality.

- * @param query the query. - * @return Success - */ - Boolean updateSync(String query); - - /** - *

Data from ResultSet can be get using ResultSetManager from this plugin.

- * @param query the query. - * @return Result - */ - ResultSet getResult(String query); - - /** - *

data values are different depend on type of SQL connection.

- * @param data The data for the SQL conn.ion - * @return The connection - */ - Connection createConnection(String... data); - - /** - * Gets the SQL conn. - * @return The SQL conn. - */ - Connection getConnection(); - - /** - * @return If the SQL db is connected - */ - Boolean isConnected(); - - /** - * Closes the SQL conn. - */ - void closeConnection(); - - /** - *

Keys are used to find correct row.

- *

{@code removeObjectSync("SQLTable", "nick", "Steve", "money");}

- * @param table The table. - * @param keyColumn The column - * @param keyValue The value - * @param objectColumn The object - */ - void removeObjectSync(String table, String keyColumn, Object keyValue, String objectColumn); - - /** - *

Keys are used to find correct row.

- *

{@code removeObjectAsync("SQLTable", "nick", "Steve", "money");}

- * @param table The table. - * @param keyColumn The column - * @param keyValue The value - * @param objectColumn The object - */ - void removeObjectAsync(String table, String keyColumn, Object keyValue, String objectColumn); - - /** - *

Keys are used to find correct row.

- *

{@code setObjectSync("SQLTable", "nick", "Steve", "money", 3000);}

- * @param table The table. - * @param keyColumn The column - * @param keyValue The value - * @param objectColumn The object - * @param objectValue The value - * @param hasTablePrimaryKey If it is a PK - */ - void setObjectSync(String table, String keyColumn, Object keyValue, String objectColumn, Object objectValue, Boolean hasTablePrimaryKey); - - /** - *

Keys are used to find correct row.

- *

{@code setObjectAsync("SQLTable", "nick", "Steve", "money", 3000);}

- * @param table The table. - * @param keyColumn The column - * @param keyValue The value - * @param objectColumn The object - * @param objectValue The value - * @param hasTablePrimaryKey If it is a PK - */ - void setObjectAsync(String table, String keyColumn, Object keyValue, String objectColumn, Object objectValue, Boolean hasTablePrimaryKey); - - /** - *

Apache commons lib is required for Pair class.

- *

Left value is column, Right value is value object of column. - * @param table The table. - * @param pairs The pairs for str and obj - * @param hasTablePrimaryKey If it is a PK - */ - void setObjectsSync(String table, List> pairs, Boolean hasTablePrimaryKey); - - /** - *

Apache commons lib is required for Pair class.

- *

Left value is column, Right value is value object of column. - * @param table The table. - * @param pairs The pairs for str and obj - * @param hasTablePrimaryKey If it is a PK - */ - void setObjectsAsync(String table, List> pairs, Boolean hasTablePrimaryKey); - - /** - *

Keys are used to find correct row.

- *

{@code getRow("Players", "nick", "Steve");}

- * @param table The table. - * @param keyColumn The column. - * @param keyValue The value. - * @return The row - */ - ResultSet getRow(String table, String keyColumn, String keyValue); - - /** - *

Keys are used to find correct row.

- *

{@code getRow("Players", "premium", true, 5);}

- * @param table The table. - * @param keyColumn The column. - * @param keyValue The value. - * @param limit The limit - * @return The rows - */ - ResultSet getRows(String table, String keyColumn, String keyValue, int limit); - - /** - *

Keys are used to find correct row.

- *

{@code deleteRow("Players", "nick", "Steve");}

- * @param table The table. - * @param keyColumn The column. - * @param keyValue The value. - */ - void deleteRowSync(String table, String keyColumn, String keyValue); - - /** - *

Keys are used to find correct row.

- *

{@code deleteRow("Players", "nick", "Steve");}

- * @param table The table. - * @param keyColumn The column. - * @param keyValue The value. - */ - void deleteRowAsync(String table, String keyColumn, String keyValue); - - /** - *

Keys are used to find correct row.

- *

{@code deleteRow("Players", "premium", true, 5);}

- * @param table The table. - * @param keyColumn The column. - * @param keyValue The value. - * @param limit The limit - */ - void deleteRowsSync(String table, String keyColumn, String keyValue, int limit); - - /** - *

Keys are used to find correct row.

- *

{@code deleteRow("Players", "premium", true, 5);}

- * @param table The table. - * @param keyColumn The column. - * @param keyValue The value. - * @param limit The limit - */ - void deleteRowsAsync(String table, String keyColumn, String keyValue, int limit); - -} diff --git a/src/main/java/com/exortions/pluginutils/database/v2/SQLDatabaseType.java b/src/main/java/com/exortions/pluginutils/database/v2/SQLDatabaseType.java deleted file mode 100644 index 3117f9b..0000000 --- a/src/main/java/com/exortions/pluginutils/database/v2/SQLDatabaseType.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.exortions.pluginutils.database.v2; - -/** - * @author MorkaZ, Exortions - * @since 0.4.24.23 - */ -@SuppressWarnings("unused") -public enum SQLDatabaseType { - - SQLITE(), - MYSQL() - -} - diff --git a/src/main/java/com/exortions/pluginutils/database/v2/SQLScheduler.java b/src/main/java/com/exortions/pluginutils/database/v2/SQLScheduler.java deleted file mode 100644 index a09b1ba..0000000 --- a/src/main/java/com/exortions/pluginutils/database/v2/SQLScheduler.java +++ /dev/null @@ -1,89 +0,0 @@ -package com.exortions.pluginutils.database.v2; - -import org.bukkit.plugin.Plugin; -import org.bukkit.scheduler.BukkitRunnable; -import org.bukkit.scheduler.BukkitTask; - -import java.util.ArrayList; - -/** - * @author MorkaZ, Exortions - * @since 0.4.24.23 - */ -@SuppressWarnings({"unused", "UnusedReturnValue", "unchecked"}) -public abstract class SQLScheduler{ - - private final Plugin plugin; - private final ArrayList runnableList = new ArrayList<>(); - private Boolean processing = false; - private BukkitTask schedulerTask; - - /** - * Default constructor - * @param plugin The spigot plugin - */ - public SQLScheduler(Plugin plugin) { - this.plugin = plugin; - this.startScheduler(); - } - - /** - * Cancels the scheduled task. - */ - public void cancelSchedulerTask() { - this.schedulerTask.cancel(); - } - - /** - * Gets the scheduled task. - * @return The scheduled task. - */ - public BukkitTask getSchedulerTask() { - return this.schedulerTask; - } - - /** - * Reloads the scheduler. - */ - public void reloadScheduler() { - schedulerTask.cancel(); - runnableList.clear(); - processing = false; - startScheduler(); - } - - /** - * Schedules a new runnable. - * @param runnable The runnable to schedule. - */ - public void scheduleRunnable(Runnable runnable) { - if (!processing) { - runnableList.add(runnable); - } else { - plugin.getServer().getScheduler().runTaskLater(plugin, () -> runnableList.add(runnable), 1L); - } - } - - /** - * Starts the scheduler. - * @return The scheduler. - */ - public BukkitTask startScheduler() { - this.schedulerTask = new BukkitRunnable() { - @Override - public void run() { - if (!processing) { - processing = true; - ArrayList copiedRunnableList = (ArrayList) runnableList.clone(); - runnableList.clear(); - for (Runnable runnable : copiedRunnableList) { - runnable.run(); - } - processing = false; - } - } - }.runTaskTimerAsynchronously(plugin, 0L, 5L); - return schedulerTask; - } - -} diff --git a/src/main/java/com/exortions/pluginutils/database/v2/mysql/MySQLConnection.java b/src/main/java/com/exortions/pluginutils/database/v2/mysql/MySQLConnection.java deleted file mode 100644 index 516cc58..0000000 --- a/src/main/java/com/exortions/pluginutils/database/v2/mysql/MySQLConnection.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.exortions.pluginutils.database.v2.mysql; - -import java.sql.*; - -/** - * @author MorkaZ, Exortions - * @since 0.4.24.23 - */ -@SuppressWarnings({"unused", "UnusedReturnValue"}) -public class MySQLConnection extends MySQLData { - - public MySQLConnection(String host, String port, String databaseName, String user, String password) { - super(host, port, databaseName, user, password); - try { - super.connection = openConnection(); - } catch (SQLException | ClassNotFoundException e) { - e.printStackTrace(); - } - } - - - public Connection openConnection() throws SQLException, ClassNotFoundException { - if (checkConnection()) { - return connection; - } - - String connectionURL = "jdbc:mysql://" + super.getHost() + ":" + super.getPort(); - if (getDatabaseName() != null) { - connectionURL = connectionURL + "/" + this.getDatabaseName(); - } - - Class.forName("com.mysql.jdbc.Driver"); - connection = DriverManager.getConnection(connectionURL, super.getUser(), super.getPassword()); - return connection; - } - - - public boolean checkConnection() throws SQLException { - return connection != null && !connection.isClosed(); - } - - - public Connection getConnection() { - return connection; - } - - - public boolean closeConnection() throws SQLException { - if (connection == null) { - return false; - } - connection.close(); - return true; - } - - - public ResultSet querySQL(String query) throws SQLException, - ClassNotFoundException { - if (!checkConnection()) { - openConnection(); - } - Statement statement = connection.createStatement(); - return statement.executeQuery(query); - } - - - public int updateSQL(String query) throws SQLException, - ClassNotFoundException { - if (!checkConnection()) { - openConnection(); - } - Statement statement = connection.createStatement(); - return statement.executeUpdate(query); - } - -} - - - diff --git a/src/main/java/com/exortions/pluginutils/database/v2/mysql/MySQLData.java b/src/main/java/com/exortions/pluginutils/database/v2/mysql/MySQLData.java deleted file mode 100644 index 02e5571..0000000 --- a/src/main/java/com/exortions/pluginutils/database/v2/mysql/MySQLData.java +++ /dev/null @@ -1,87 +0,0 @@ -package com.exortions.pluginutils.database.v2.mysql; - -import java.sql.Connection; - -/** - * @author MorkaZ, Exortions - * @since 0.4.24.23 - */ -@SuppressWarnings({"unused", "UnusedReturnValue"}) -public class MySQLData { - - private String host; - private String port; - private String databaseName; - private String user; - private String password; - public Connection connection; - - - public MySQLData(String host, String port, String databaseName, String user, String password) { - this.host = host; - this.port = port; - this.databaseName = databaseName; - this.user = user; - this.password = password; - } - - public String getHost() { - return host; - } - - - public void setHost(String host) { - this.host = host; - } - - - public String getPort() { - return port; - } - - - public void setPort(String port) { - this.port = port; - } - - - public String getDatabaseName() { - return databaseName; - } - - - public void setDatabaseName(String databaseName) { - this.databaseName = databaseName; - } - - - public String getUser() { - return user; - } - - - public void setUser(String user) { - this.user = user; - } - - - public String getPassword() { - return password; - } - - - public void setPassword(String password) { - this.password = password; - } - - - public Connection getConnection() { - return connection; - } - - - public void setConnection(Connection connection) { - this.connection = connection; - } - -} diff --git a/src/main/java/com/exortions/pluginutils/database/v2/mysql/MySQLDatabase.java b/src/main/java/com/exortions/pluginutils/database/v2/mysql/MySQLDatabase.java deleted file mode 100644 index c66ccd8..0000000 --- a/src/main/java/com/exortions/pluginutils/database/v2/mysql/MySQLDatabase.java +++ /dev/null @@ -1,262 +0,0 @@ -package com.exortions.pluginutils.database.v2.mysql; - - -import com.exortions.pluginutils.database.v2.QueryUtils; -import com.exortions.pluginutils.database.v2.SQLDatabase; -import com.exortions.pluginutils.database.v2.SQLDatabaseType; -import com.exortions.pluginutils.database.v2.SQLScheduler; -import org.bukkit.Bukkit; -import org.bukkit.craftbukkit.libs.org.apache.commons.lang3.tuple.Pair; -import org.bukkit.plugin.Plugin; - -import java.sql.Connection; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.sql.Statement; -import java.util.List; - -/** - * @author MorkaZ, Exortions - * @since 0.4.24.23 - */ -@SuppressWarnings({"unused", "UnusedReturnValue"}) -public class MySQLDatabase extends SQLScheduler implements SQLDatabase { - - - private MySQLConnection mySQLConnection; - private Plugin plugin; - - - public MySQLDatabase(Plugin plugin) { - super(plugin); - this.plugin = plugin; - } - - @Override - public SQLDatabaseType getDatabaseType() { - return SQLDatabaseType.MYSQL; - } - - @Override - public void updateAsync(String query) { - if (mySQLConnection == null){ - Bukkit.getLogger().warning("["+plugin.getName()+"/MoxLibrary] MySQLConnection object is null. It must be initialized by method createConnection(data..)."); - return; - } - super.scheduleRunnable(new Runnable() { - public void run() { - try { - Statement statement = mySQLConnection.getConnection().createStatement(); - statement.executeUpdate(query); - - } catch (SQLException e) { - e.printStackTrace(); - Bukkit.getConsoleSender().sendMessage("[MoxLibrary] SQL query error: "+e.getSQLState()+" ---- "+e.getCause() - +" ---- "+e.getMessage()+" ---- "+e.getErrorCode()+" ---- USED QUERY:"+query); - } - } - }); - } - - @Override - public Boolean updateSync(String query) { - if (mySQLConnection == null){ - Bukkit.getLogger().warning("["+plugin.getName()+"/MoxLibrary] MySQLConnection object is null. It must be initialized by method createConnection(data..)."); - return null; - } - try { - Statement statement = mySQLConnection.getConnection().createStatement(); - statement.executeUpdate(query); - return true; - } catch (SQLException e) { - e.printStackTrace(); - Bukkit.getConsoleSender().sendMessage("[MoxLibrary] SQL query error: "+e.getSQLState()+" ---- "+e.getCause() - +" ---- "+e.getMessage()+" ---- "+e.getErrorCode()+" ---- USED QUERY:"+query); - } - return false; - } - - @Override - public ResultSet getResult(String query) { - if (mySQLConnection == null){ - Bukkit.getLogger().warning("["+plugin.getName()+"/MoxLibrary] MySQLConnection object is null. It must be initialized by method createConnection(data..)."); - return null; - } - ResultSet set = null; - try { - Statement statement = mySQLConnection.getConnection().createStatement(); - set = statement.executeQuery(query); - } catch (SQLException e) { - e.printStackTrace(); - Bukkit.getConsoleSender().sendMessage("[MoxLibrary] MySQL get data from query error: "+e.getErrorCode()); - } - try { - if (set != null) { - set.beforeFirst(); - } - } catch (SQLException e2) { - e2.printStackTrace(); - } - return set; - } - - /** - * @param data Data of mySQLConnection.getConnection() - *

data[0] - host

- *

data[1] - port

- *

data[2] - database name

- *

data[3] - user

- *

data[4] - password

- * @return opened mySQLConnection.getConnection() - */ - @Override - public Connection createConnection(String... data) { - try { - if (mySQLConnection != null && mySQLConnection.getConnection() != null && !this.mySQLConnection.getConnection().isClosed()){ - return this.mySQLConnection.getConnection(); - } - } catch (SQLException e) { - return null; - } - MySQLConnection mySQL = new MySQLConnection(data[0], data[1], data[2], data[3], data[4]); - mySQLConnection = mySQL; - try { - mySQLConnection.setConnection(mySQL.openConnection()); - if (mySQLConnection.getConnection().isClosed()){ - return null; - } - } catch (ClassNotFoundException e) { - e.printStackTrace(); - return null; - } catch (SQLException e) { - e.printStackTrace(); - return null; - } - return null; - } - - @Override - public Connection getConnection() { - if (mySQLConnection == null){ - Bukkit.getLogger().warning("["+plugin.getName()+"/MoxLibrary] MySQLConnection object is null. It must be initialized by method createConnection(data..)."); - return null; - } - try { - if (mySQLConnection.getConnection() != null && !this.mySQLConnection.getConnection().isClosed()){ - return mySQLConnection.getConnection(); - } else { - return createConnection(mySQLConnection); - } - } catch (SQLException e) { - return createConnection(mySQLConnection); - } - } - - public Connection createConnection(MySQLData mySQLData){ - return createConnection(mySQLData.getHost(), mySQLData.getPort(), mySQLData.getDatabaseName(), mySQLData.getUser(), mySQLData.getPassword()); - } - - public MySQLConnection getMySQLConnection(){ - return this.mySQLConnection; - } - - @Override - public Boolean isConnected() { - if (mySQLConnection == null){ - Bukkit.getLogger().warning("["+plugin.getName()+"/MoxLibrary] MySQLConnection object is null. It must be initialized by method createConnection(data..)."); - return null; - } - if (mySQLConnection.getConnection() != null){ - try { - return !mySQLConnection.getConnection().isClosed(); - } catch (SQLException e) { - return false; - } - } - return false; - } - - @Override - public void closeConnection() { - if (mySQLConnection.getConnection() != null){ - try { - mySQLConnection.getConnection().close(); - } catch (SQLException e) { - mySQLConnection.setConnection(null); - } - } - } - - @Override - public void removeObjectSync(String table, String keyColumn, Object keyValue, String objectColumn) { - String query = QueryUtils.constructQueryValueRemove(table, keyColumn, keyValue, objectColumn, SQLDatabaseType.MYSQL); - this.updateSync(query); - } - - @Override - public void removeObjectAsync(String table, String keyColumn, Object keyValue, String objectColumn) { - String query = QueryUtils.constructQueryValueRemove(table, keyColumn, keyValue, objectColumn, SQLDatabaseType.MYSQL); - this.updateAsync(query); - } - - @Override - public void setObjectSync(String table, String keyColumn, Object keyValue, String objectColumn, Object objectValue, Boolean hasTablePrimaryKey) { - QueryUtils.constructQuerySingleValueSet(table, keyColumn, keyValue, objectColumn, objectValue, hasTablePrimaryKey, SQLDatabaseType.MYSQL) - .forEach(this::updateAsync); - } - - @Override - public void setObjectAsync(String table, String keyColumn, Object keyValue, String objectColumn, Object objectValue, Boolean hasTablePrimaryKey) { - QueryUtils.constructQuerySingleValueSet(table, keyColumn, keyValue, objectColumn, objectValue, hasTablePrimaryKey, SQLDatabaseType.MYSQL) - .forEach(this::updateAsync); - } - - @Override - public void setObjectsSync(String table, List> pairs, Boolean hasTablePrimaryKey) { - QueryUtils.constructQueryMultipleValuesSet(table, pairs, hasTablePrimaryKey, SQLDatabaseType.MYSQL) - .forEach(this::updateAsync); - } - - @Override - public void setObjectsAsync(String table, List> pairs, Boolean hasTablePrimaryKey) { - QueryUtils.constructQueryMultipleValuesSet(table, pairs, hasTablePrimaryKey, SQLDatabaseType.MYSQL) - .forEach(this::updateAsync); - } - - @Override - public ResultSet getRow(String table, String keyColumn, String keyValue) { - String query = QueryUtils.constructQueryRowGet(table, keyColumn, keyValue, SQLDatabaseType.MYSQL); - return this.getResult(query); - } - - @Override - public ResultSet getRows(String table, String keyColumn, String keyValue, int limit) { - String query = QueryUtils.constructQueryRowsGet(table, keyColumn, keyValue, limit, SQLDatabaseType.MYSQL); - return this.getResult(query); - } - - @Override - public void deleteRowSync(String table, String keyColumn, String keyValue) { - String query = QueryUtils.constructQueryRowRemove(table, keyColumn, keyValue, SQLDatabaseType.MYSQL); - this.updateSync(query); - } - - @Override - public void deleteRowAsync(String table, String keyColumn, String keyValue) { - String query = QueryUtils.constructQueryRowRemove(table, keyColumn, keyValue, SQLDatabaseType.MYSQL); - this.updateAsync(query); - } - - @Override - public void deleteRowsSync(String table, String keyColumn, String keyValue, int limit) { - String query = QueryUtils.constructQueryRowsRemove(table, keyColumn, keyValue, limit, SQLDatabaseType.MYSQL); - this.updateSync(query); - } - - @Override - public void deleteRowsAsync(String table, String keyColumn, String keyValue, int limit) { - String query = QueryUtils.constructQueryRowsRemove(table, keyColumn, keyValue, limit, SQLDatabaseType.MYSQL); - this.updateAsync(query); - } - -} diff --git a/src/main/java/com/exortions/pluginutils/database/v2/sqlite/SQLiteDatabase.java b/src/main/java/com/exortions/pluginutils/database/v2/sqlite/SQLiteDatabase.java deleted file mode 100644 index 8a4bd57..0000000 --- a/src/main/java/com/exortions/pluginutils/database/v2/sqlite/SQLiteDatabase.java +++ /dev/null @@ -1,213 +0,0 @@ -package com.exortions.pluginutils.database.v2.sqlite; - - -import com.exortions.pluginutils.database.v2.QueryUtils; -import com.exortions.pluginutils.database.v2.SQLDatabase; -import com.exortions.pluginutils.database.v2.SQLDatabaseType; -import com.exortions.pluginutils.database.v2.SQLScheduler; -import org.bukkit.Bukkit; -import org.bukkit.craftbukkit.libs.org.apache.commons.lang3.tuple.Pair; -import org.bukkit.plugin.Plugin; - -import java.sql.*; -import java.util.List; - -/** - * @since 0.4.24.23 - */ -@SuppressWarnings({"unused", "UnusedReturnValue"}) -public class SQLiteDatabase extends SQLScheduler implements SQLDatabase { - - public Connection connection; - private String fileLocation; - - public SQLiteDatabase(Plugin plugin) { - super(plugin); - } - - @Override - public SQLDatabaseType getDatabaseType() { - return SQLDatabaseType.SQLITE; - } - - @Override - public void updateAsync(String query) { - super.scheduleRunnable(() -> { - try { - Statement statement = connection.createStatement(); - statement.executeUpdate(query); - } catch (SQLException e) { - e.printStackTrace(); - Bukkit.getConsoleSender().sendMessage("[MoxLibrary] SQL query error: "+e.getSQLState()+" ---- "+e.getCause() - +" ---- "+e.getMessage()+" ---- "+e.getErrorCode()+" ---- USED QUERY:"+query); - } - }); - } - - @Override - public Boolean updateSync(String query) { - try { - Statement statement = connection.createStatement(); - statement.executeUpdate(query); - return true; - } catch (SQLException e) { - e.printStackTrace(); - Bukkit.getConsoleSender().sendMessage("[MoxLibrary] SQL query error: "+e.getSQLState()+" ---- "+e.getCause() - +" ---- "+e.getMessage()+" ---- "+e.getErrorCode()+" ---- USED QUERY: "+query); - } - return false; - } - - @Override - public ResultSet getResult(String query) { - ResultSet set = null; - try { - Statement statement = connection.createStatement(); - set = statement.executeQuery(query); - } catch (SQLException e) { - e.printStackTrace(); - Bukkit.getConsoleSender().sendMessage("[MoxLibrary] SQL get data from query error: ["+e.getErrorCode()+"] "+e.getMessage()+"\n" + - "Used query: "+query); - } - return set; - } - - /** - * @param data Data of connection. - *

data[0] - filename

- * @return The connection. - */ - @Override - public Connection createConnection(String... data) { - this.fileLocation = data[0]; - Connection connection = null; - String url = "jdbc:sqlite:" + fileLocation; - try { - Class.forName("org.sqlite.JDBC"); - connection = DriverManager.getConnection(url); - if (connection == null) { - Bukkit.getLogger().info("[MoxLibrary] Creating SQLite connection to file failed. " + - "Check if given location is correct and required access is given: "+fileLocation+""); - } - assert connection != null; - Bukkit.getLogger().info("[MoxLibrary] URL ("+url+") Succesfully connected! Driver version: " + connection.getMetaData().getDriverVersion()); - } catch (ClassNotFoundException | SQLException e) { - e.printStackTrace(); - } - this.connection = connection; - return connection; - } - - - @Override - public Connection getConnection() { - try { - if (this.connection != null && !this.connection.isClosed()){ - return this.connection; - } else if (fileLocation != null){ - return createConnection(fileLocation); - } - } catch (SQLException e) { - if (fileLocation != null){ - return createConnection(fileLocation); - } - } - return null; - } - - @Override - public Boolean isConnected() { - if (connection != null){ - try { - return !connection.isClosed(); - } catch (SQLException e) { - return false; - } - } - return false; - } - - @Override - public void closeConnection() { - if (connection != null){ - try { - connection.close(); - } catch (SQLException e) { - connection = null; - } - } - } - - @Override - public void removeObjectSync(String table, String keyColumn, Object keyValue, String objectColumn) { - String query = QueryUtils.constructQueryValueRemove(table, keyColumn, keyValue, objectColumn, SQLDatabaseType.SQLITE); - this.updateSync(query); - } - - @Override - public void removeObjectAsync(String table, String keyColumn, Object keyValue, String objectColumn) { - String query = QueryUtils.constructQueryValueRemove(table, keyColumn, keyValue, objectColumn, SQLDatabaseType.SQLITE); - this.updateAsync(query); - } - - @Override - public void setObjectSync(String table, String keyColumn, Object keyValue, String objectColumn, Object objectValue, Boolean hasTablePrimaryKey) { - QueryUtils.constructQuerySingleValueSet(table, keyColumn, keyValue, objectColumn, objectValue, hasTablePrimaryKey, SQLDatabaseType.SQLITE) - .forEach(this::updateAsync); - } - - @Override - public void setObjectAsync(String table, String keyColumn, Object keyValue, String objectColumn, Object objectValue, Boolean hasTablePrimaryKey) { - QueryUtils.constructQuerySingleValueSet(table, keyColumn, keyValue, objectColumn, objectValue, hasTablePrimaryKey, SQLDatabaseType.SQLITE) - .forEach(this::updateAsync); - } - - @Override - public void setObjectsSync(String table, List> pairs, Boolean hasTablePrimaryKey) { - QueryUtils.constructQueryMultipleValuesSet(table, pairs, hasTablePrimaryKey, SQLDatabaseType.SQLITE) - .forEach(this::updateSync); - } - - @Override - public void setObjectsAsync(String table, List> pairs, Boolean hasTablePrimaryKey) { - QueryUtils.constructQueryMultipleValuesSet(table, pairs, hasTablePrimaryKey, SQLDatabaseType.SQLITE) - .forEach(this::updateSync); - } - - @Override - public ResultSet getRow(String table, String keyColumn, String keyValue) { - String query = QueryUtils.constructQueryRowGet(table, keyColumn, keyValue, SQLDatabaseType.SQLITE); - return this.getResult(query); - } - - @Override - public ResultSet getRows(String table, String keyColumn, String keyValue, int limit) { - String query = QueryUtils.constructQueryRowsGet(table, keyColumn, keyValue, limit, SQLDatabaseType.SQLITE); - return this.getResult(query); - } - - @Override - public void deleteRowSync(String table, String keyColumn, String keyValue) { - String query = QueryUtils.constructQueryRowRemove(table, keyColumn, keyValue, SQLDatabaseType.SQLITE); - this.updateSync(query); - } - - @Override - public void deleteRowAsync(String table, String keyColumn, String keyValue) { - String query = QueryUtils.constructQueryRowRemove(table, keyColumn, keyValue, SQLDatabaseType.SQLITE); - this.updateAsync(query); - } - - @Override - public void deleteRowsSync(String table, String keyColumn, String keyValue, int limit) { - String query = QueryUtils.constructQueryRowsRemove(table, keyColumn, keyValue, limit, SQLDatabaseType.SQLITE); - this.updateSync(query); - } - - @Override - public void deleteRowsAsync(String table, String keyColumn, String keyValue, int limit) { - String query = QueryUtils.constructQueryRowsRemove(table, keyColumn, keyValue, limit, SQLDatabaseType.SQLITE); - this.updateAsync(query); - } - -} diff --git a/src/main/java/com/exortions/pluginutils/database/v3/MySQL.java b/src/main/java/com/exortions/pluginutils/database/v3/MySQL.java deleted file mode 100644 index dc99dc4..0000000 --- a/src/main/java/com/exortions/pluginutils/database/v3/MySQL.java +++ /dev/null @@ -1,88 +0,0 @@ -package com.exortions.pluginutils.database.v3; - -import lombok.Getter; - -import java.sql.*; -import java.util.List; - -@Getter -public class MySQL { - - private final String host; - private final String port; - private final String database; - - private final String username; - private final String password; - - private final String url; - - private Connection connection; - - public MySQL(String host, String port, String database, String username, String password) { - this.host = host; - this.port = port; - this.database = database; - this.username = username; - this.password = password; - - url = "jdbc:mysql://" + host + ":" + port + "/" + database; - } - - public boolean isConnected() { - return (connection != null); - } - - public boolean connect() { - try { - connection = DriverManager.getConnection(url, username, password); - return true; - } catch (SQLException e) { - return false; - } - } - - public boolean disconnect() { - try { - if (connection != null && !connection.isClosed()) { - connection.close(); - return true; - } - } catch (Exception e) { - e.printStackTrace(); - return false; - } - return false; - } - - public boolean createTable(String name, List vars) { - String sql = "CREATE TABLE IF NOT EXISTS " + name + "("; - for (String var : vars) { - sql = sql.concat(var + ","); - } - sql = sql.substring(0, sql.length()-1); - sql = sql.concat("));"); - try { - PreparedStatement stmt = connection.prepareStatement(sql); - stmt.executeUpdate(); - return true; - } catch (SQLException e) { - e.printStackTrace(); - return false; - } - } - - public ResultSet getResult(String table, String column, String input) { - String sql = "SELECT * FROM " + table + " WHERE " + column + "=" + input; - try { - PreparedStatement stmt = connection.prepareStatement(sql); - stmt.setString(1, column); - ResultSet res = stmt.executeQuery(); - return res; - } catch (SQLException e) { - e.printStackTrace(); - } - return null; - } - -} diff --git a/src/main/java/com/exortions/pluginutils/plugin/SpigotPlugin.java b/src/main/java/com/exortions/pluginutils/plugin/SpigotPlugin.java index 1e16de0..6679e91 100644 --- a/src/main/java/com/exortions/pluginutils/plugin/SpigotPlugin.java +++ b/src/main/java/com/exortions/pluginutils/plugin/SpigotPlugin.java @@ -1,5 +1,7 @@ package com.exortions.pluginutils.plugin; +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; import org.bukkit.plugin.java.JavaPlugin; /** @@ -8,6 +10,19 @@ */ public abstract class SpigotPlugin extends JavaPlugin implements MinecraftPlugin { + /** @deprecated */ + @Deprecated public SpigotPlugin instance; + public void sendMessage(String msg) { + getServer().getConsoleSender().sendMessage(msg); + } + + public void broadcastMessage(String msg) { + getServer().getConsoleSender().sendMessage(msg); + for (Player player : Bukkit.getOnlinePlayers()) { + player.sendMessage(msg); + } + } + } diff --git a/src/main/java/com/exortions/pluginutils/world/FileUtils.java b/src/main/java/com/exortions/pluginutils/world/FileUtils.java new file mode 100644 index 0000000..7d39449 --- /dev/null +++ b/src/main/java/com/exortions/pluginutils/world/FileUtils.java @@ -0,0 +1,159 @@ +package com.exortions.pluginutils.world; + +import org.bukkit.plugin.java.JavaPlugin; + +import java.io.*; +import java.nio.channels.FileChannel; +import java.util.ArrayList; +import java.util.List; + +public class FileUtils { + + public static void copyDirectoryToDirectory(File srcDir, File destDir) throws IOException { + if (srcDir == null) { + throw new NullPointerException("Source must not be null"); + } else if (srcDir.exists() && !srcDir.isDirectory()) { + throw new IllegalArgumentException("Source '" + destDir + "' is not a directory"); + } else if (destDir == null) { + throw new NullPointerException("Destination must not be null"); + } else if (destDir.exists() && !destDir.isDirectory()) { + throw new IllegalArgumentException("Destination '" + destDir + "' is not a directory"); + } else { + copyDirectory(srcDir, new File(destDir, srcDir.getName()), true); + } + } + + public static void copyDirectory(File srcDir, File destDir) throws IOException { + copyDirectory(srcDir, destDir, true); + } + + public static void copyDirectory(File srcDir, File destDir, boolean preserveFileDate) throws IOException { + copyDirectory(srcDir, destDir, (FileFilter)null, preserveFileDate); + } + + public static void copyDirectory(File srcDir, File destDir, FileFilter filter) throws IOException { + copyDirectory(srcDir, destDir, filter, true); + } + + public static void copyDirectory(File srcDir, File destDir, FileFilter filter, boolean preserveFileDate) throws IOException { + checkFileRequirements(srcDir, destDir); + if (!srcDir.isDirectory()) { + throw new IOException("Source '" + srcDir + "' exists but is not a directory"); + } else if (srcDir.getCanonicalPath().equals(destDir.getCanonicalPath())) { + throw new IOException("Source '" + srcDir + "' and destination '" + destDir + "' are the same"); + } else { + List exclusionList = null; + if (destDir.getCanonicalPath().startsWith(srcDir.getCanonicalPath())) { + File[] srcFiles = filter == null ? srcDir.listFiles() : srcDir.listFiles(filter); + if (srcFiles != null && srcFiles.length > 0) { + exclusionList = new ArrayList(srcFiles.length); + File[] arr$ = srcFiles; + int len$ = srcFiles.length; + + for(int i$ = 0; i$ < len$; ++i$) { + File srcFile = arr$[i$]; + File copiedFile = new File(destDir, srcFile.getName()); + exclusionList.add(copiedFile.getCanonicalPath()); + } + } + } + + doCopyDirectory(srcDir, destDir, filter, preserveFileDate, exclusionList); + } + } + + private static void checkFileRequirements(File src, File dest) throws FileNotFoundException { + if (src == null) { + throw new NullPointerException("Source must not be null"); + } else if (dest == null) { + throw new NullPointerException("Destination must not be null"); + } else if (!src.exists()) { + throw new FileNotFoundException("Source '" + src + "' does not exist"); + } + } + + private static void doCopyFile(File srcFile, File destFile, boolean preserveFileDate) throws IOException { + if (destFile.exists() && destFile.isDirectory()) { + throw new IOException("Destination '" + destFile + "' exists but is a directory"); + } else { + FileInputStream fis = null; + FileOutputStream fos = null; + FileChannel input = null; + FileChannel output = null; + + long srcLen; + long dstLen; + try { + fis = new FileInputStream(srcFile); + fos = new FileOutputStream(destFile); + input = fis.getChannel(); + output = fos.getChannel(); + srcLen = input.size(); + dstLen = 0L; + + long bytesCopied; + for(long count = 0L; dstLen < srcLen; dstLen += bytesCopied) { + long remain = srcLen - dstLen; + count = remain > 31457280L ? 31457280L : remain; + bytesCopied = output.transferFrom(input, dstLen, count); + if (bytesCopied == 0L) { + break; + } + } + } finally { + + } + + srcLen = srcFile.length(); + dstLen = destFile.length(); + if (srcLen != dstLen) { + throw new IOException("Failed to copy full contents from '" + srcFile + "' to '" + destFile + "' Expected length: " + srcLen + " Actual: " + dstLen); + } else { + if (preserveFileDate) { + destFile.setLastModified(srcFile.lastModified()); + } + + } + } + } + + private static void doCopyDirectory(File srcDir, File destDir, FileFilter filter, boolean preserveFileDate, List exclusionList) throws IOException { + File[] srcFiles = filter == null ? srcDir.listFiles() : srcDir.listFiles(filter); + if (srcFiles == null) { + throw new IOException("Failed to list contents of " + srcDir); + } else { + if (destDir.exists()) { + if (!destDir.isDirectory()) { + throw new IOException("Destination '" + destDir + "' exists but is not a directory"); + } + } else if (!destDir.mkdirs() && !destDir.isDirectory()) { + throw new IOException("Destination '" + destDir + "' directory cannot be created"); + } + + if (!destDir.canWrite()) { + throw new IOException("Destination '" + destDir + "' cannot be written to"); + } else { + File[] arr$ = srcFiles; + int len$ = srcFiles.length; + + for(int i$ = 0; i$ < len$; ++i$) { + File srcFile = arr$[i$]; + File dstFile = new File(destDir, srcFile.getName()); + if (exclusionList == null || !exclusionList.contains(srcFile.getCanonicalPath())) { + if (srcFile.isDirectory()) { + doCopyDirectory(srcFile, dstFile, filter, preserveFileDate, exclusionList); + } else { + doCopyFile(srcFile, dstFile, preserveFileDate); + } + } + } + + if (preserveFileDate) { + destDir.setLastModified(srcDir.lastModified()); + } + + } + } + } + +} diff --git a/src/main/java/com/exortions/pluginutils/world/WorldManager.java b/src/main/java/com/exortions/pluginutils/world/WorldManager.java index fecbb93..e03b274 100644 --- a/src/main/java/com/exortions/pluginutils/world/WorldManager.java +++ b/src/main/java/com/exortions/pluginutils/world/WorldManager.java @@ -2,7 +2,6 @@ import org.bukkit.Bukkit; import org.bukkit.World; -import org.bukkit.craftbukkit.libs.org.apache.commons.io.FileUtils; import java.io.File; import java.io.FileNotFoundException; diff --git a/target/ExosPluginUtils-1.4.31.27-javadoc.jar b/target/ExosPluginUtils-1.4.31.27-javadoc.jar deleted file mode 100644 index b1848c9..0000000 Binary files a/target/ExosPluginUtils-1.4.31.27-javadoc.jar and /dev/null differ diff --git a/target/classes/com/exortions/pluginutils/collection/CollectionUtils.class b/target/classes/com/exortions/pluginutils/collection/CollectionUtils.class index e0630eb..2998e95 100644 Binary files a/target/classes/com/exortions/pluginutils/collection/CollectionUtils.class and b/target/classes/com/exortions/pluginutils/collection/CollectionUtils.class differ diff --git a/target/classes/com/exortions/pluginutils/command/subcommand/SubCommandHandler.class b/target/classes/com/exortions/pluginutils/command/subcommand/SubCommandHandler.class index 67858b9..cb0730a 100644 Binary files a/target/classes/com/exortions/pluginutils/command/subcommand/SubCommandHandler.class and b/target/classes/com/exortions/pluginutils/command/subcommand/SubCommandHandler.class differ diff --git a/target/classes/com/exortions/pluginutils/database/v1/AlreadyConnectedException.class b/target/classes/com/exortions/pluginutils/database/v1/AlreadyConnectedException.class deleted file mode 100644 index d10fb10..0000000 Binary files a/target/classes/com/exortions/pluginutils/database/v1/AlreadyConnectedException.class and /dev/null differ diff --git a/target/classes/com/exortions/pluginutils/database/v1/MySQL.class b/target/classes/com/exortions/pluginutils/database/v1/MySQL.class deleted file mode 100644 index df38881..0000000 Binary files a/target/classes/com/exortions/pluginutils/database/v1/MySQL.class and /dev/null differ diff --git a/target/classes/com/exortions/pluginutils/database/v1/NotConnectedException.class b/target/classes/com/exortions/pluginutils/database/v1/NotConnectedException.class deleted file mode 100644 index ea29984..0000000 Binary files a/target/classes/com/exortions/pluginutils/database/v1/NotConnectedException.class and /dev/null differ diff --git a/target/classes/com/exortions/pluginutils/database/v1/SQLDatabase.class b/target/classes/com/exortions/pluginutils/database/v1/SQLDatabase.class deleted file mode 100644 index 541f02f..0000000 Binary files a/target/classes/com/exortions/pluginutils/database/v1/SQLDatabase.class and /dev/null differ diff --git a/target/classes/com/exortions/pluginutils/database/v2/MySQLResultSetUtils.class b/target/classes/com/exortions/pluginutils/database/v2/MySQLResultSetUtils.class deleted file mode 100644 index af5fa9b..0000000 Binary files a/target/classes/com/exortions/pluginutils/database/v2/MySQLResultSetUtils.class and /dev/null differ diff --git a/target/classes/com/exortions/pluginutils/database/v2/Query.class b/target/classes/com/exortions/pluginutils/database/v2/Query.class deleted file mode 100644 index f413e73..0000000 Binary files a/target/classes/com/exortions/pluginutils/database/v2/Query.class and /dev/null differ diff --git a/target/classes/com/exortions/pluginutils/database/v2/QueryUtils.class b/target/classes/com/exortions/pluginutils/database/v2/QueryUtils.class deleted file mode 100644 index 53abd21..0000000 Binary files a/target/classes/com/exortions/pluginutils/database/v2/QueryUtils.class and /dev/null differ diff --git a/target/classes/com/exortions/pluginutils/database/v2/SQLDatabase.class b/target/classes/com/exortions/pluginutils/database/v2/SQLDatabase.class deleted file mode 100644 index ce534d6..0000000 Binary files a/target/classes/com/exortions/pluginutils/database/v2/SQLDatabase.class and /dev/null differ diff --git a/target/classes/com/exortions/pluginutils/database/v2/SQLDatabaseType.class b/target/classes/com/exortions/pluginutils/database/v2/SQLDatabaseType.class deleted file mode 100644 index df710b8..0000000 Binary files a/target/classes/com/exortions/pluginutils/database/v2/SQLDatabaseType.class and /dev/null differ diff --git a/target/classes/com/exortions/pluginutils/database/v2/SQLScheduler$1.class b/target/classes/com/exortions/pluginutils/database/v2/SQLScheduler$1.class deleted file mode 100644 index 82b9da6..0000000 Binary files a/target/classes/com/exortions/pluginutils/database/v2/SQLScheduler$1.class and /dev/null differ diff --git a/target/classes/com/exortions/pluginutils/database/v2/SQLScheduler.class b/target/classes/com/exortions/pluginutils/database/v2/SQLScheduler.class deleted file mode 100644 index 5dcfc19..0000000 Binary files a/target/classes/com/exortions/pluginutils/database/v2/SQLScheduler.class and /dev/null differ diff --git a/target/classes/com/exortions/pluginutils/database/v2/mysql/MySQLConnection.class b/target/classes/com/exortions/pluginutils/database/v2/mysql/MySQLConnection.class deleted file mode 100644 index 8314200..0000000 Binary files a/target/classes/com/exortions/pluginutils/database/v2/mysql/MySQLConnection.class and /dev/null differ diff --git a/target/classes/com/exortions/pluginutils/database/v2/mysql/MySQLData.class b/target/classes/com/exortions/pluginutils/database/v2/mysql/MySQLData.class deleted file mode 100644 index 2d41613..0000000 Binary files a/target/classes/com/exortions/pluginutils/database/v2/mysql/MySQLData.class and /dev/null differ diff --git a/target/classes/com/exortions/pluginutils/database/v2/mysql/MySQLDatabase$1.class b/target/classes/com/exortions/pluginutils/database/v2/mysql/MySQLDatabase$1.class deleted file mode 100644 index 6bfed11..0000000 Binary files a/target/classes/com/exortions/pluginutils/database/v2/mysql/MySQLDatabase$1.class and /dev/null differ diff --git a/target/classes/com/exortions/pluginutils/database/v2/mysql/MySQLDatabase.class b/target/classes/com/exortions/pluginutils/database/v2/mysql/MySQLDatabase.class deleted file mode 100644 index 79a534b..0000000 Binary files a/target/classes/com/exortions/pluginutils/database/v2/mysql/MySQLDatabase.class and /dev/null differ diff --git a/target/classes/com/exortions/pluginutils/database/v2/sqlite/SQLiteDatabase.class b/target/classes/com/exortions/pluginutils/database/v2/sqlite/SQLiteDatabase.class deleted file mode 100644 index 8f46a55..0000000 Binary files a/target/classes/com/exortions/pluginutils/database/v2/sqlite/SQLiteDatabase.class and /dev/null differ diff --git a/target/classes/com/exortions/pluginutils/database/v3/MySQL.class b/target/classes/com/exortions/pluginutils/database/v3/MySQL.class deleted file mode 100644 index 31d0de2..0000000 Binary files a/target/classes/com/exortions/pluginutils/database/v3/MySQL.class and /dev/null differ diff --git a/target/classes/com/exortions/pluginutils/plugin/SpigotPlugin.class b/target/classes/com/exortions/pluginutils/plugin/SpigotPlugin.class index 1c11765..39d5bbb 100644 Binary files a/target/classes/com/exortions/pluginutils/plugin/SpigotPlugin.class and b/target/classes/com/exortions/pluginutils/plugin/SpigotPlugin.class differ diff --git a/target/classes/com/exortions/pluginutils/world/WorldManager.class b/target/classes/com/exortions/pluginutils/world/WorldManager.class index 2e582cf..c17dd0b 100644 Binary files a/target/classes/com/exortions/pluginutils/world/WorldManager.class and b/target/classes/com/exortions/pluginutils/world/WorldManager.class differ diff --git a/target/maven-archiver/pom.properties b/target/maven-archiver/pom.properties index 46379f8..4a07695 100644 --- a/target/maven-archiver/pom.properties +++ b/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Sun Aug 01 17:39:00 PDT 2021 -version=1.4.31.27 +#Mon Sep 06 10:52:28 PDT 2021 +version=1.4.31.32 groupId=com.exortions artifactId=ExosPluginUtils diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst index 2174287..55186fa 100644 --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -1,9 +1,6 @@ -com\exortions\pluginutils\database\v2\Query.class com\exortions\pluginutils\collection\CollectionUtils.class -com\exortions\pluginutils\database\v1\MySQL.class com\exortions\pluginutils\example\commands\ExplosiveStickCommand.class com\exortions\pluginutils\npc\PlayerLeftClickNPCEvent.class -com\exortions\pluginutils\database\v3\MySQL.class com\exortions\pluginutils\command\subcommand\SubCommandHandler.class com\exortions\pluginutils\mojang\SkinAPI.class com\exortions\pluginutils\annotation\AllMinecraft.class @@ -11,32 +8,24 @@ com\exortions\pluginutils\string\StringUtils.class com\exortions\pluginutils\world\WorldManager.class com\exortions\pluginutils\tablist\Tablist.class com\exortions\pluginutils\command\tabcomplete\TabCompleterHandler.class -com\exortions\pluginutils\database\v2\SQLScheduler.class com\exortions\pluginutils\npc\PacketReader.class -com\exortions\pluginutils\database\v1\AlreadyConnectedException.class com\exortions\pluginutils\tablist\Tablist$1.class com\exortions\pluginutils\bossbar\Bossbar.class com\exortions\pluginutils\scoreboard\Team.class -com\exortions\pluginutils\database\v2\SQLScheduler$1.class com\exortions\pluginutils\npc\PacketReader$1.class com\exortions\pluginutils\event\Event.class com\exortions\pluginutils\example\ExamplePlugin.class com\exortions\pluginutils\plugin\UpdateChecker.class -com\exortions\pluginutils\database\v2\sqlite\SQLiteDatabase.class com\exortions\pluginutils\tablist\Tablist$2.class com\exortions\pluginutils\npc\NPC.class com\exortions\pluginutils\annotation\NewMinecraft.class com\exortions\pluginutils\plugin\MinecraftPlugin.class -com\exortions\pluginutils\database\v2\QueryUtils.class com\exortions\pluginutils\mojang\SkinAPI$1.class com\exortions\pluginutils\title\Title.class com\exortions\pluginutils\example\commands\HologramCommand.class com\exortions\pluginutils\example\listeners\EventListener$2.class com\exortions\pluginutils\example\commands\HealCommand.class -com\exortions\pluginutils\database\v2\mysql\MySQLConnection.class com\exortions\pluginutils\command\PluginCommand.class -com\exortions\pluginutils\database\v2\mysql\MySQLData.class -com\exortions\pluginutils\database\v2\SQLDatabase.class com\exortions\pluginutils\actionbar\Actionbar.class com\exortions\pluginutils\example\listeners\EventListener$1.class com\exortions\pluginutils\startup\Startup.class @@ -52,19 +41,15 @@ com\exortions\pluginutils\example\commands\NPCCommand.class com\exortions\pluginutils\config\Configuration.class com\exortions\pluginutils\particle\PointParticleEffect.class com\exortions\pluginutils\scoreboard\Scoreboard.class -com\exortions\pluginutils\database\v1\SQLDatabase.class com\exortions\pluginutils\command\CommandInfo.class -com\exortions\pluginutils\database\v2\mysql\MySQLDatabase.class com\exortions\pluginutils\chat\ChatUtils.class -com\exortions\pluginutils\database\v2\SQLDatabaseType.class com\exortions\pluginutils\listener\ListenerUtils.class com\exortions\pluginutils\command\CommandUtils.class com\exortions\pluginutils\example\listeners\EventListener.class com\exortions\pluginutils\entity\Hologram.class com\exortions\pluginutils\plugin\MinecraftVersion.class com\exortions\pluginutils\mojang\SkinAPI$Property.class -com\exortions\pluginutils\database\v1\NotConnectedException.class com\exortions\pluginutils\item\ItemBuilder.class com\exortions\pluginutils\particle\ParticleData.class -com\exortions\pluginutils\database\v2\MySQLResultSetUtils.class -com\exortions\pluginutils\database\v2\mysql\MySQLDatabase$1.class +com\exortions\pluginutils\database\DatabaseManipulator.class +com\exortions\pluginutils\world\FileUtils.class diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst index eee0d87..dd06a2a 100644 --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -1,61 +1,48 @@ +C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\annotation\AllMinecraft.java C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\item\ItemBuilder.java +C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\annotation\LegacyMinecraft.java C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\command\tabcomplete\TabCompleterHandler.java +C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\plugin\UpdateChecker.java C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\command\CommandInfo.java -C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\database\v1\MySQL.java +C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\database\DatabaseManipulator.java +C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\world\FileUtils.java +C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\collection\CollectionUtils.java C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\example\commands\NPCCommand.java C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\entity\Hologram.java +C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\example\ExamplePlugin.java C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\title\Title.java C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\actionbar\Actionbar.java C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\npc\NPC.java -C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\annotation\NewMinecraft.java -C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\command\PluginCommand.java -C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\bossbar\Bossbar.java -C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\chat\ChatUtils.java -C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\config\Configuration.java -C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\mojang\SkinAPI.java -C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\database\v2\mysql\MySQLDatabase.java -C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\database\v2\mysql\MySQLData.java -C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\scoreboard\Team.java -C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\string\StringUtils.java -C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\particle\ParticleData.java -C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\database\v2\MySQLResultSetUtils.java -C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\database\v2\SQLDatabaseType.java -C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\example\commands\HologramCommand.java -C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\database\v2\Query.java -C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\world\WorldManager.java -C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\annotation\AllMinecraft.java -C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\annotation\LegacyMinecraft.java -C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\plugin\UpdateChecker.java -C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\database\v1\NotConnectedException.java -C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\collection\CollectionUtils.java -C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\database\v2\sqlite\SQLiteDatabase.java -C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\database\v1\AlreadyConnectedException.java -C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\example\ExamplePlugin.java -C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\database\v2\mysql\MySQLConnection.java C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\example\commands\ExplosiveStickCommand.java -C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\database\v1\SQLDatabase.java +C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\annotation\NewMinecraft.java C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\example\listeners\ExplosiveStickListener.java C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\plugin\MinecraftVersion.java -C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\database\v3\MySQL.java C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\plugin\JavaVersion.java C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\command\subcommand\SubCommandHandler.java +C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\command\PluginCommand.java C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\command\CommandUtils.java C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\particle\PointParticleEffect.java C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\example\commands\HealCommand.java -C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\database\v2\SQLScheduler.java +C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\bossbar\Bossbar.java C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\plugin\MinecraftPlugin.java C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\startup\Startup.java -C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\database\v2\QueryUtils.java C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\npc\PlayerLeftClickNPCEvent.java C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\npc\PlayerRightClickNPCEvent.java -C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\database\v2\SQLDatabase.java +C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\chat\ChatUtils.java C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\example\listeners\EventListener.java +C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\config\Configuration.java C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\event\Event.java C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\listener\ListenerUtils.java +C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\mojang\SkinAPI.java C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\gui\GUIContainer.java +C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\scoreboard\Team.java C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\plugin\SpigotPlugin.java C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\scoreboard\Scoreboard.java C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\npc\PacketReader.java +C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\string\StringUtils.java +C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\particle\ParticleData.java +C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\example\commands\HologramCommand.java C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\command\subcommand\SubCommand.java C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\particle\CircleParticleEffect.java C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\tablist\Tablist.java +C:\Users\quade\Documents\Code\PluginUtils\src\main\java\com\exortions\pluginutils\world\WorldManager.java diff --git a/target/nexus-staging/staging/335a5a938700dc.properties b/target/nexus-staging/staging/335a5a938700dc.properties index f671ba9..826a66d 100644 --- a/target/nexus-staging/staging/335a5a938700dc.properties +++ b/target/nexus-staging/staging/335a5a938700dc.properties @@ -1,6 +1,6 @@ #Generated by org.sonatype.plugins:nexus-staging-maven-plugin:1.6.7 -#Sun Aug 01 17:39:55 PDT 2021 +#Sat Sep 11 11:12:40 PDT 2021 stagingRepository.managed=true stagingRepository.profileId=335a5a938700dc -stagingRepository.id=comexortions-1007 -stagingRepository.url=https\://s01.oss.sonatype.org\:443/content/repositories/comexortions-1007 +stagingRepository.id=comexortions-1014 +stagingRepository.url=https\://s01.oss.sonatype.org\:443/content/repositories/comexortions-1014 diff --git a/target/nexus-staging/staging/335a5a938700dc/.index b/target/nexus-staging/staging/335a5a938700dc/.index index 804c6b6..8918c7a 100644 --- a/target/nexus-staging/staging/335a5a938700dc/.index +++ b/target/nexus-staging/staging/335a5a938700dc/.index @@ -54,3 +54,52 @@ com/exortions/ExosPluginUtils/1.4.31.27/ExosPluginUtils-1.4.31.27.jar.asc=com.ex com/exortions/ExosPluginUtils/1.4.31.27/ExosPluginUtils-1.4.31.27.pom.asc=com.exortions:ExosPluginUtils:1.4.31.27:n/a:pom.asc:pom.asc:n/a:n/a:n/a:n/a com/exortions/ExosPluginUtils/1.4.31.27/ExosPluginUtils-1.4.31.27-sources.jar.asc=com.exortions:ExosPluginUtils:1.4.31.27:sources:jar.asc:jar.asc:n/a:n/a:n/a:n/a com/exortions/ExosPluginUtils/1.4.31.27/ExosPluginUtils-1.4.31.27-javadoc.jar.asc=com.exortions:ExosPluginUtils:1.4.31.27:javadoc:jar.asc:jar.asc:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.28/ExosPluginUtils-1.4.31.28.jar=com.exortions:ExosPluginUtils:1.4.31.28:n/a:jar:jar:ExosPluginUtils-1.4.31.28.pom:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.28/ExosPluginUtils-1.4.31.28-sources.jar=com.exortions:ExosPluginUtils:1.4.31.28:sources:java-source:jar:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.28/ExosPluginUtils-1.4.31.28-javadoc.jar=com.exortions:ExosPluginUtils:1.4.31.28:javadoc:javadoc:jar:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.28/ExosPluginUtils-1.4.31.28.jar.asc=com.exortions:ExosPluginUtils:1.4.31.28:n/a:jar.asc:jar.asc:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.28/ExosPluginUtils-1.4.31.28.pom.asc=com.exortions:ExosPluginUtils:1.4.31.28:n/a:pom.asc:pom.asc:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.28/ExosPluginUtils-1.4.31.28-sources.jar.asc=com.exortions:ExosPluginUtils:1.4.31.28:sources:jar.asc:jar.asc:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.28/ExosPluginUtils-1.4.31.28-javadoc.jar.asc=com.exortions:ExosPluginUtils:1.4.31.28:javadoc:jar.asc:jar.asc:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.29/ExosPluginUtils-1.4.31.29.jar=com.exortions:ExosPluginUtils:1.4.31.29:n/a:jar:jar:ExosPluginUtils-1.4.31.29.pom:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.29/ExosPluginUtils-1.4.31.29-sources.jar=com.exortions:ExosPluginUtils:1.4.31.29:sources:java-source:jar:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.29/ExosPluginUtils-1.4.31.29-javadoc.jar=com.exortions:ExosPluginUtils:1.4.31.29:javadoc:javadoc:jar:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.29/ExosPluginUtils-1.4.31.29.jar.asc=com.exortions:ExosPluginUtils:1.4.31.29:n/a:jar.asc:jar.asc:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.29/ExosPluginUtils-1.4.31.29.pom.asc=com.exortions:ExosPluginUtils:1.4.31.29:n/a:pom.asc:pom.asc:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.29/ExosPluginUtils-1.4.31.29-sources.jar.asc=com.exortions:ExosPluginUtils:1.4.31.29:sources:jar.asc:jar.asc:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.29/ExosPluginUtils-1.4.31.29-javadoc.jar.asc=com.exortions:ExosPluginUtils:1.4.31.29:javadoc:jar.asc:jar.asc:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.30/ExosPluginUtils-1.4.31.30.jar=com.exortions:ExosPluginUtils:1.4.31.30:n/a:jar:jar:ExosPluginUtils-1.4.31.30.pom:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.30/ExosPluginUtils-1.4.31.30-sources.jar=com.exortions:ExosPluginUtils:1.4.31.30:sources:java-source:jar:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.30/ExosPluginUtils-1.4.31.30-javadoc.jar=com.exortions:ExosPluginUtils:1.4.31.30:javadoc:javadoc:jar:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.30/ExosPluginUtils-1.4.31.30.jar.asc=com.exortions:ExosPluginUtils:1.4.31.30:n/a:jar.asc:jar.asc:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.30/ExosPluginUtils-1.4.31.30.pom.asc=com.exortions:ExosPluginUtils:1.4.31.30:n/a:pom.asc:pom.asc:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.30/ExosPluginUtils-1.4.31.30-sources.jar.asc=com.exortions:ExosPluginUtils:1.4.31.30:sources:jar.asc:jar.asc:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.30/ExosPluginUtils-1.4.31.30-javadoc.jar.asc=com.exortions:ExosPluginUtils:1.4.31.30:javadoc:jar.asc:jar.asc:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.31/ExosPluginUtils-1.4.31.31.jar=com.exortions:ExosPluginUtils:1.4.31.31:n/a:jar:jar:ExosPluginUtils-1.4.31.31.pom:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.31/ExosPluginUtils-1.4.31.31-sources.jar=com.exortions:ExosPluginUtils:1.4.31.31:sources:java-source:jar:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.31/ExosPluginUtils-1.4.31.31-javadoc.jar=com.exortions:ExosPluginUtils:1.4.31.31:javadoc:javadoc:jar:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.31/ExosPluginUtils-1.4.31.31.jar.asc=com.exortions:ExosPluginUtils:1.4.31.31:n/a:jar.asc:jar.asc:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.31/ExosPluginUtils-1.4.31.31.pom.asc=com.exortions:ExosPluginUtils:1.4.31.31:n/a:pom.asc:pom.asc:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.31/ExosPluginUtils-1.4.31.31-sources.jar.asc=com.exortions:ExosPluginUtils:1.4.31.31:sources:jar.asc:jar.asc:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.31/ExosPluginUtils-1.4.31.31-javadoc.jar.asc=com.exortions:ExosPluginUtils:1.4.31.31:javadoc:jar.asc:jar.asc:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.32/ExosPluginUtils-1.4.31.32.jar=com.exortions:ExosPluginUtils:1.4.31.32:n/a:jar:jar:ExosPluginUtils-1.4.31.32.pom:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.32/ExosPluginUtils-1.4.31.32-sources.jar=com.exortions:ExosPluginUtils:1.4.31.32:sources:java-source:jar:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.32/ExosPluginUtils-1.4.31.32-javadoc.jar=com.exortions:ExosPluginUtils:1.4.31.32:javadoc:javadoc:jar:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.32/ExosPluginUtils-1.4.31.32.jar.asc=com.exortions:ExosPluginUtils:1.4.31.32:n/a:jar.asc:jar.asc:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.32/ExosPluginUtils-1.4.31.32.pom.asc=com.exortions:ExosPluginUtils:1.4.31.32:n/a:pom.asc:pom.asc:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.32/ExosPluginUtils-1.4.31.32-sources.jar.asc=com.exortions:ExosPluginUtils:1.4.31.32:sources:jar.asc:jar.asc:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.32/ExosPluginUtils-1.4.31.32-javadoc.jar.asc=com.exortions:ExosPluginUtils:1.4.31.32:javadoc:jar.asc:jar.asc:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.32/ExosPluginUtils-1.4.31.32.jar=com.exortions:ExosPluginUtils:1.4.31.32:n/a:jar:jar:ExosPluginUtils-1.4.31.32.pom:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.32/ExosPluginUtils-1.4.31.32-sources.jar=com.exortions:ExosPluginUtils:1.4.31.32:sources:java-source:jar:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.32/ExosPluginUtils-1.4.31.32-javadoc.jar=com.exortions:ExosPluginUtils:1.4.31.32:javadoc:javadoc:jar:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.32/ExosPluginUtils-1.4.31.32.jar.asc=com.exortions:ExosPluginUtils:1.4.31.32:n/a:jar.asc:jar.asc:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.32/ExosPluginUtils-1.4.31.32.pom.asc=com.exortions:ExosPluginUtils:1.4.31.32:n/a:pom.asc:pom.asc:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.32/ExosPluginUtils-1.4.31.32-sources.jar.asc=com.exortions:ExosPluginUtils:1.4.31.32:sources:jar.asc:jar.asc:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.32/ExosPluginUtils-1.4.31.32-javadoc.jar.asc=com.exortions:ExosPluginUtils:1.4.31.32:javadoc:jar.asc:jar.asc:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.32/ExosPluginUtils-1.4.31.32.jar=com.exortions:ExosPluginUtils:1.4.31.32:n/a:jar:jar:ExosPluginUtils-1.4.31.32.pom:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.32/ExosPluginUtils-1.4.31.32-sources.jar=com.exortions:ExosPluginUtils:1.4.31.32:sources:java-source:jar:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.32/ExosPluginUtils-1.4.31.32-javadoc.jar=com.exortions:ExosPluginUtils:1.4.31.32:javadoc:javadoc:jar:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.32/ExosPluginUtils-1.4.31.32.jar.asc=com.exortions:ExosPluginUtils:1.4.31.32:n/a:jar.asc:jar.asc:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.32/ExosPluginUtils-1.4.31.32.pom.asc=com.exortions:ExosPluginUtils:1.4.31.32:n/a:pom.asc:pom.asc:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.32/ExosPluginUtils-1.4.31.32-sources.jar.asc=com.exortions:ExosPluginUtils:1.4.31.32:sources:jar.asc:jar.asc:n/a:n/a:n/a:n/a +com/exortions/ExosPluginUtils/1.4.31.32/ExosPluginUtils-1.4.31.32-javadoc.jar.asc=com.exortions:ExosPluginUtils:1.4.31.32:javadoc:jar.asc:jar.asc:n/a:n/a:n/a:n/a diff --git a/target/nexus-staging/staging/335a5a938700dc/com/exortions/ExosPluginUtils/1.4.31.28/ExosPluginUtils-1.4.31.28-javadoc.jar b/target/nexus-staging/staging/335a5a938700dc/com/exortions/ExosPluginUtils/1.4.31.28/ExosPluginUtils-1.4.31.28-javadoc.jar new file mode 100644 index 0000000..d899cf3 Binary files /dev/null and b/target/nexus-staging/staging/335a5a938700dc/com/exortions/ExosPluginUtils/1.4.31.28/ExosPluginUtils-1.4.31.28-javadoc.jar differ diff --git a/target/nexus-staging/staging/335a5a938700dc/com/exortions/ExosPluginUtils/1.4.31.28/ExosPluginUtils-1.4.31.28-javadoc.jar.asc b/target/nexus-staging/staging/335a5a938700dc/com/exortions/ExosPluginUtils/1.4.31.28/ExosPluginUtils-1.4.31.28-javadoc.jar.asc new file mode 100644 index 0000000..2bb4473 --- /dev/null +++ b/target/nexus-staging/staging/335a5a938700dc/com/exortions/ExosPluginUtils/1.4.31.28/ExosPluginUtils-1.4.31.28-javadoc.jar.asc @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- + +iHUEABYKAB0WIQTfGZ8pLtGPBAaE9dKBNmxnA3bKQgUCYQsIAwAKCRCBNmxnA3bK +QsTYAP9uFImft85Iy2LiNg9IsRaEpTZH6qtMhMMKWREN8rMgPAD9Hsm8SKjW2YWV ++7vWneyUvYCCTZUeM78lT47SPxA0rAg= +=5HR1 +-----END PGP SIGNATURE----- diff --git a/target/ExosPluginUtils-1.4.31.27-sources.jar b/target/nexus-staging/staging/335a5a938700dc/com/exortions/ExosPluginUtils/1.4.31.28/ExosPluginUtils-1.4.31.28-sources.jar similarity index 97% rename from target/ExosPluginUtils-1.4.31.27-sources.jar rename to target/nexus-staging/staging/335a5a938700dc/com/exortions/ExosPluginUtils/1.4.31.28/ExosPluginUtils-1.4.31.28-sources.jar index 6c7f1a1..6051428 100644 Binary files a/target/ExosPluginUtils-1.4.31.27-sources.jar and b/target/nexus-staging/staging/335a5a938700dc/com/exortions/ExosPluginUtils/1.4.31.28/ExosPluginUtils-1.4.31.28-sources.jar differ diff --git a/target/nexus-staging/staging/335a5a938700dc/com/exortions/ExosPluginUtils/1.4.31.28/ExosPluginUtils-1.4.31.28-sources.jar.asc b/target/nexus-staging/staging/335a5a938700dc/com/exortions/ExosPluginUtils/1.4.31.28/ExosPluginUtils-1.4.31.28-sources.jar.asc new file mode 100644 index 0000000..054295b --- /dev/null +++ b/target/nexus-staging/staging/335a5a938700dc/com/exortions/ExosPluginUtils/1.4.31.28/ExosPluginUtils-1.4.31.28-sources.jar.asc @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- + +iHUEABYKAB0WIQTfGZ8pLtGPBAaE9dKBNmxnA3bKQgUCYQsIAwAKCRCBNmxnA3bK +Qs6RAQDKD2SaTTh69jZ4pl1PobX0pmhnIuBoT+EgXmPCGhTFSgD+KLqDwj+pV6rf +kRB6MlO1syL3bNjiOhWAMoziSUt7+wM= +=EiDK +-----END PGP SIGNATURE----- diff --git a/target/ExosPluginUtils-1.4.31.27.jar b/target/nexus-staging/staging/335a5a938700dc/com/exortions/ExosPluginUtils/1.4.31.28/ExosPluginUtils-1.4.31.28.jar similarity index 85% rename from target/ExosPluginUtils-1.4.31.27.jar rename to target/nexus-staging/staging/335a5a938700dc/com/exortions/ExosPluginUtils/1.4.31.28/ExosPluginUtils-1.4.31.28.jar index 34b6d1d..7c03d3d 100644 Binary files a/target/ExosPluginUtils-1.4.31.27.jar and b/target/nexus-staging/staging/335a5a938700dc/com/exortions/ExosPluginUtils/1.4.31.28/ExosPluginUtils-1.4.31.28.jar differ diff --git a/target/nexus-staging/staging/335a5a938700dc/com/exortions/ExosPluginUtils/1.4.31.28/ExosPluginUtils-1.4.31.28.jar.asc b/target/nexus-staging/staging/335a5a938700dc/com/exortions/ExosPluginUtils/1.4.31.28/ExosPluginUtils-1.4.31.28.jar.asc new file mode 100644 index 0000000..afec220 --- /dev/null +++ b/target/nexus-staging/staging/335a5a938700dc/com/exortions/ExosPluginUtils/1.4.31.28/ExosPluginUtils-1.4.31.28.jar.asc @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- + +iHUEABYKAB0WIQTfGZ8pLtGPBAaE9dKBNmxnA3bKQgUCYQsH8wAKCRCBNmxnA3bK +QtPhAQCb4frYwPj0M08C2Gi0osp35MtIaBvgntf71zr1opv8ZwD8CfGFDcuw6RHC +emTNlqcgFZU+yHgN5AFNw3XX+givxQE= +=zm+r +-----END PGP SIGNATURE----- diff --git a/target/nexus-staging/staging/335a5a938700dc/com/exortions/ExosPluginUtils/1.4.31.28/ExosPluginUtils-1.4.31.28.pom b/target/nexus-staging/staging/335a5a938700dc/com/exortions/ExosPluginUtils/1.4.31.28/ExosPluginUtils-1.4.31.28.pom new file mode 100644 index 0000000..b373ff1 --- /dev/null +++ b/target/nexus-staging/staging/335a5a938700dc/com/exortions/ExosPluginUtils/1.4.31.28/ExosPluginUtils-1.4.31.28.pom @@ -0,0 +1,185 @@ + + + 4.0.0 + + com.exortions + ExosPluginUtils + 1.4.31.28 + jar + + PluginUtils + PluginUtils is a simple, easy-to-use + library that saves many Minecraft Spigot developers a lot of time when creating + plugins. It allows Spigot developers to create a lot of NMS + (net.minecraft.server) and Spigot things like Tablists, Scoreboards, etc, as well as MySQL and SQLite support, + a bunch of lines and classes saved, therefore improving the experience while + developing plugins. + + https://www.github.com/Exortions/PluginUtils + + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0.txt + repo + + + + + 8 + 8 + + + + + Exortions + exortionsmc@gmail.com + + + + + scm:git:git://github.com/Exortions/PluginUtils.git + scm:git:ssh://github.com:Exortions/PluginUtils.git + https://github.com/Exortions/PluginUtils/tree/master + + + + + ossrh + https://s01.oss.sonatype.org/content/repositories/snapshots + + + ossrh + https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/ + + + + + + org.apache.maven.plugins + maven-source-plugin + 2.2.1 + + + attach-sources + + jar-no-fork + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.3.0 + + + attach-javadocs + + jar + + + + + + org.apache.maven.plugins + maven-gpg-plugin + 1.5 + + + sign-artifacts + verify + + sign + + + + + + org.sonatype.plugins + nexus-staging-maven-plugin + 1.6.7 + true + + ossrh + https://s01.oss.sonatype.org/ + true + + + + org.apache.maven.plugins + maven-gpg-plugin + 1.5 + + + sign-artifacts + verify + + sign + + + + + + org.sonatype.plugins + nexus-staging-maven-plugin + 1.6.7 + true + + ossrh + https://s01.oss.sonatype.org/ + true + + + + + + + + + spigot-repo + https://hub.spigotmc.org/nexus/content/repositories/snapshots/ + + + bungeecord-repo + https://oss.sonatype.org/content/repositories/snapshots/ + + + sonatype + https://oss.sonatype.org/content/groups/public/ + + + + + + + org.spigotmc + spigot + 1.16.5-R0.1-SNAPSHOT + provided + + + + org.projectlombok + lombok + 1.18.20 + + + + org.jetbrains + annotations + RELEASE + compile + + + + org.reflections + reflections + 0.9.12 + + + + \ No newline at end of file diff --git a/target/nexus-staging/staging/335a5a938700dc/com/exortions/ExosPluginUtils/1.4.31.28/ExosPluginUtils-1.4.31.28.pom.asc b/target/nexus-staging/staging/335a5a938700dc/com/exortions/ExosPluginUtils/1.4.31.28/ExosPluginUtils-1.4.31.28.pom.asc new file mode 100644 index 0000000..3a4d77c --- /dev/null +++ b/target/nexus-staging/staging/335a5a938700dc/com/exortions/ExosPluginUtils/1.4.31.28/ExosPluginUtils-1.4.31.28.pom.asc @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- + +iHUEABYKAB0WIQTfGZ8pLtGPBAaE9dKBNmxnA3bKQgUCYQsIAwAKCRCBNmxnA3bK +QoM3AP9J1PeIZTHyRYh4OLvhv8dPSQ7DK03wRZH6cGjaYQeOcgEAgG74kYzFcMi3 +fHWLpKTiVy9ui+jE1tV7EwEl3ixgAwk= +=n5YC +-----END PGP SIGNATURE----- diff --git a/target/nexus-staging/staging/335a5a938700dc/com/exortions/ExosPluginUtils/maven-metadata-nexus.xml b/target/nexus-staging/staging/335a5a938700dc/com/exortions/ExosPluginUtils/maven-metadata-nexus.xml index 369fed3..c9eaad7 100644 --- a/target/nexus-staging/staging/335a5a938700dc/com/exortions/ExosPluginUtils/maven-metadata-nexus.xml +++ b/target/nexus-staging/staging/335a5a938700dc/com/exortions/ExosPluginUtils/maven-metadata-nexus.xml @@ -3,7 +3,7 @@ com.exortions ExosPluginUtils - 1.4.31.27 + 1.4.31.32 0.4.30.23 0.4.30.24 @@ -12,7 +12,12 @@ 1.4.31.25 1.4.31.26 1.4.31.27 + 1.4.31.28 + 1.4.31.29 + 1.4.31.30 + 1.4.31.31 + 1.4.31.32 - 20210802003936 + 20210911181209