Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
855ce84f7a | ||
|
|
7d3e2a04b2 | ||
|
|
ec716782e2 | ||
|
|
d67e0015b6 | ||
|
|
cb4b081672 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -123,6 +123,7 @@ hs_err_pid*
|
|||||||
### Gradle ###
|
### Gradle ###
|
||||||
.gradle
|
.gradle
|
||||||
build/
|
build/
|
||||||
|
bin/
|
||||||
|
|
||||||
# Ignore Gradle GUI config
|
# Ignore Gradle GUI config
|
||||||
gradle-app.setting
|
gradle-app.setting
|
||||||
|
|||||||
12
build.gradle
12
build.gradle
@@ -37,3 +37,15 @@ task sourceJar(type: Jar, dependsOn: classes) {
|
|||||||
classifier 'sources'
|
classifier 'sources'
|
||||||
from sourceSets.main.allSource
|
from sourceSets.main.allSource
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sourceSets {
|
||||||
|
main {
|
||||||
|
resources {
|
||||||
|
srcDir 'src/main/java'
|
||||||
|
include '**/*.cmd'
|
||||||
|
|
||||||
|
srcDir 'src/main/resources'
|
||||||
|
include '**/*.yml'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -4,10 +4,22 @@ command modules {
|
|||||||
perm moduleloader.modules.list;
|
perm moduleloader.modules.list;
|
||||||
run list;
|
run list;
|
||||||
}
|
}
|
||||||
|
-v {
|
||||||
|
help Lists all modules and their versions. Color indicates status: §aENABLED §cDISABLED;
|
||||||
|
perm moduleloader.modules.list;
|
||||||
|
run listversions;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
list {
|
list {
|
||||||
help Lists all modules. Color indicates status: §aENABLED §cDISABLED;
|
help Lists all modules. Color indicates status: §aENABLED §cDISABLED;
|
||||||
perm moduleloader.modules.list;
|
perm moduleloader.modules.list;
|
||||||
run list;
|
run list;
|
||||||
|
}
|
||||||
|
list -v {
|
||||||
|
help Lists all modules and their versions. Color indicates status: §aENABLED §cDISABLED;
|
||||||
|
perm moduleloader.modules.list;
|
||||||
|
run listversions;
|
||||||
}
|
}
|
||||||
load [string:name...] {
|
load [string:name...] {
|
||||||
help (Re)-Loads a module. WARNING: Handle with care! This has direct affect on code being executed. This command will temporarily halt the main thread until the class loading operation was completed.;
|
help (Re)-Loads a module. WARNING: Handle with care! This has direct affect on code being executed. This command will temporarily halt the main thread until the class loading operation was completed.;
|
||||||
|
|||||||
@@ -561,15 +561,25 @@ public final class ModuleLoader implements CoreModule {
|
|||||||
return Main.plugin;
|
return Main.plugin;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Command (hook = "list", async = AsyncType.ALWAYS)
|
||||||
|
public boolean listModulesCommand(CommandSender sender) {
|
||||||
|
return listModules(sender, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Command (hook = "listversions", async = AsyncType.ALWAYS)
|
||||||
|
public boolean listModulesVerionsCommand(CommandSender sender) {
|
||||||
|
return listModules(sender, true);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method lists all modules to the specified CommandSender. The modules will be color coded correspondingly to their enabled status.
|
* This method lists all modules to the specified CommandSender. The modules will be color coded correspondingly to their enabled status.
|
||||||
*
|
*
|
||||||
* @param sender The person to send the info to, usually the issuer of the command or the console sender.
|
* @param sender The person to send the info to, usually the issuer of the command or the console sender.
|
||||||
|
* @param showVersions Should we show the versions directly in chat.
|
||||||
*
|
*
|
||||||
* @return true.
|
* @return true.
|
||||||
*/
|
*/
|
||||||
@Command (hook = "list", async = AsyncType.ALWAYS)
|
public boolean listModules(CommandSender sender, boolean showVersions) {
|
||||||
public boolean listModulesCommand(CommandSender sender) {
|
|
||||||
boolean hasCategorys = hasCategories();
|
boolean hasCategorys = hasCategories();
|
||||||
Message m = new Message(sender, null);
|
Message m = new Message(sender, null);
|
||||||
ModuleInfo ml_info = moduleInfos.get(instance);
|
ModuleInfo ml_info = moduleInfos.get(instance);
|
||||||
@@ -587,7 +597,7 @@ public final class ModuleLoader implements CoreModule {
|
|||||||
for (Module mod : mods) {
|
for (Module mod : mods) {
|
||||||
|
|
||||||
ModuleInfo info = moduleInfos.get(mod);
|
ModuleInfo info = moduleInfos.get(mod);
|
||||||
m.appendTextHover((modules.get(mod) ? "§a" : "§c") + info.getDisplayName(), info.getModuleInfoHover());
|
m.appendTextHover((modules.get(mod) ? "§a" : "§c") + info.getDisplayName() + (showVersions ? " &e" + info.getVersion() : ""), info.getModuleInfoHover());
|
||||||
|
|
||||||
if (curModule != mods.size())
|
if (curModule != mods.size())
|
||||||
m.appendText("&7, ");
|
m.appendText("&7, ");
|
||||||
|
|||||||
@@ -55,10 +55,10 @@ public class MysqlHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public MysqlDatabase getDatabase(String databaseName) {
|
public MysqlDatabase getDatabase(String databaseName) {
|
||||||
return new MysqlDatabase(getConnection(databaseName));
|
return new MysqlDatabase(this, databaseName);
|
||||||
}
|
}
|
||||||
|
|
||||||
private Connection getConnection(String databaseName) throws IllegalStateException {
|
public Connection getConnection(String databaseName) throws IllegalStateException {
|
||||||
Connection connection = null;
|
Connection connection = null;
|
||||||
try {
|
try {
|
||||||
connection = DriverManager.getConnection(url + databaseName, username, password);
|
connection = DriverManager.getConnection(url + databaseName, username, password);
|
||||||
@@ -76,7 +76,7 @@ public class MysqlHandler {
|
|||||||
ResultSet queryResults = metadata.getCatalogs();
|
ResultSet queryResults = metadata.getCatalogs();
|
||||||
while (queryResults.next()) {
|
while (queryResults.next()) {
|
||||||
String databaseName = queryResults.getString("TABLE_CAT");
|
String databaseName = queryResults.getString("TABLE_CAT");
|
||||||
databases.add(new MysqlDatabase(getConnection(databaseName)));
|
databases.add(new MysqlDatabase(this, databaseName));
|
||||||
}
|
}
|
||||||
connection.close();
|
connection.close();
|
||||||
return databases;
|
return databases;
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.redstoner.misc.mysql.elements;
|
package com.redstoner.misc.mysql.elements;
|
||||||
|
|
||||||
|
import com.redstoner.misc.mysql.MysqlHandler;
|
||||||
import com.redstoner.misc.mysql.MysqlQueryHandler;
|
import com.redstoner.misc.mysql.MysqlQueryHandler;
|
||||||
|
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
@@ -10,10 +11,14 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class MysqlDatabase {
|
public class MysqlDatabase {
|
||||||
private Connection connection;
|
private Connection connection = null;
|
||||||
|
|
||||||
public MysqlDatabase(Connection connection) {
|
private final MysqlHandler handler;
|
||||||
this.connection = connection;
|
private final String databaseName;
|
||||||
|
|
||||||
|
public MysqlDatabase(MysqlHandler handler, String databaseName) {
|
||||||
|
this.handler = handler;
|
||||||
|
this.databaseName = databaseName;
|
||||||
}
|
}
|
||||||
|
|
||||||
public MysqlTable getTable(String name) {
|
public MysqlTable getTable(String name) {
|
||||||
@@ -21,7 +26,7 @@ public class MysqlDatabase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean createTable(String name, MysqlField... description) {
|
public boolean createTable(String name, MysqlField... description) {
|
||||||
return MysqlQueryHandler.queryNoResult(connection, "CREATE TABLE `" + name + "` " + getDescription(description) + ";");
|
return MysqlQueryHandler.queryNoResult(getConnection(), "CREATE TABLE `" + name + "` " + getDescription(description) + ";");
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getDescription(MysqlField... description) {
|
private String getDescription(MysqlField... description) {
|
||||||
@@ -47,20 +52,20 @@ public class MysqlDatabase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean createTableIfNotExists(String name, MysqlField... description) {
|
public boolean createTableIfNotExists(String name, MysqlField... description) {
|
||||||
return MysqlQueryHandler.queryNoResult(connection, "CREATE TABLE IF NOT EXISTS `" + name + "` " + getDescription(description) + ";");
|
return MysqlQueryHandler.queryNoResult(getConnection(), "CREATE TABLE IF NOT EXISTS `" + name + "` " + getDescription(description) + ";");
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean dropTable(String name) {
|
public boolean dropTable(String name) {
|
||||||
return MysqlQueryHandler.queryNoResult(connection, "DROP TABLE `" + name + "`;");
|
return MysqlQueryHandler.queryNoResult(getConnection(), "DROP TABLE `" + name + "`;");
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean drop() {
|
public boolean drop() {
|
||||||
return MysqlQueryHandler.queryNoResult(connection, "DROP DATABASE `" + getName() + "`;");
|
return MysqlQueryHandler.queryNoResult(getConnection(), "DROP DATABASE `" + getName() + "`;");
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getName() {
|
public String getName() {
|
||||||
try {
|
try {
|
||||||
return connection.getCatalog();
|
return getConnection().getCatalog();
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
return null;
|
return null;
|
||||||
@@ -70,7 +75,7 @@ public class MysqlDatabase {
|
|||||||
public List<MysqlTable> getTables() {
|
public List<MysqlTable> getTables() {
|
||||||
try {
|
try {
|
||||||
List<MysqlTable> tables = new ArrayList<>();
|
List<MysqlTable> tables = new ArrayList<>();
|
||||||
DatabaseMetaData metadata = connection.getMetaData();
|
DatabaseMetaData metadata = getConnection().getMetaData();
|
||||||
ResultSet queryResults = metadata.getTables(null, null, "%", null);
|
ResultSet queryResults = metadata.getTables(null, null, "%", null);
|
||||||
|
|
||||||
while (queryResults.next()) {
|
while (queryResults.next()) {
|
||||||
@@ -84,7 +89,16 @@ public class MysqlDatabase {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Connection getConnection() {
|
Connection getConnection() {
|
||||||
|
try {
|
||||||
|
if (connection == null || connection.isClosed()) {
|
||||||
|
connection = handler.getConnection(databaseName);
|
||||||
|
}
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
connection = handler.getConnection(databaseName);
|
||||||
|
}
|
||||||
|
|
||||||
return connection;
|
return connection;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: ModuleLoader
|
name: ModuleLoader
|
||||||
version: 5.2.1
|
version: 5.2.2
|
||||||
authors: [pepich1851]
|
authors: [pepich1851, psrcek, LogalDeveloper, Minenash]
|
||||||
main: com.redstoner.misc.Main
|
main: com.redstoner.misc.Main
|
||||||
softdepend: [Vault]
|
softdepend: [Vault]
|
||||||
Reference in New Issue
Block a user