forked from LogBlock/LogBlock
@@ -24,7 +24,6 @@ import java.sql.SQLException;
|
|||||||
import java.sql.Statement;
|
import java.sql.Statement;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Timer;
|
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
|
||||||
import static de.diddiz.LogBlock.config.Config.*;
|
import static de.diddiz.LogBlock.config.Config.*;
|
||||||
@@ -35,9 +34,7 @@ public class LogBlock extends JavaPlugin {
|
|||||||
private MySQLConnectionPool pool;
|
private MySQLConnectionPool pool;
|
||||||
private Consumer consumer = null;
|
private Consumer consumer = null;
|
||||||
private CommandsHandler commandsHandler;
|
private CommandsHandler commandsHandler;
|
||||||
private Updater updater = null;
|
private boolean noDb = false, connected = true;
|
||||||
private Timer timer = null;
|
|
||||||
private boolean errorAtLoading = false, noDb = false, connected = true;
|
|
||||||
private PlayerInfoLogging playerInfoLogging;
|
private PlayerInfoLogging playerInfoLogging;
|
||||||
private Questioner questioner;
|
private Questioner questioner;
|
||||||
private volatile boolean isCompletelyEnabled;
|
private volatile boolean isCompletelyEnabled;
|
||||||
@@ -58,20 +55,25 @@ public class LogBlock extends JavaPlugin {
|
|||||||
return commandsHandler;
|
return commandsHandler;
|
||||||
}
|
}
|
||||||
|
|
||||||
Updater getUpdater() {
|
|
||||||
return updater;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onLoad() {
|
public void onEnable() {
|
||||||
logblock = this;
|
logblock = this;
|
||||||
|
|
||||||
|
BukkitUtils.isDoublePlant(Material.AIR); // Force static code to run
|
||||||
|
final PluginManager pm = getPluginManager();
|
||||||
|
|
||||||
consumer = new Consumer(this);
|
consumer = new Consumer(this);
|
||||||
try {
|
try {
|
||||||
updater = new Updater(this);
|
|
||||||
Config.load(this);
|
Config.load(this);
|
||||||
|
} catch (final Exception ex) {
|
||||||
|
getLogger().log(Level.SEVERE, "Could not load LogBlock config! " + ex.getMessage());
|
||||||
|
pm.disablePlugin(this);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
try {
|
||||||
getLogger().info("Connecting to " + user + "@" + url + "...");
|
getLogger().info("Connecting to " + user + "@" + url + "...");
|
||||||
pool = new MySQLConnectionPool(url, user, password);
|
pool = new MySQLConnectionPool(url, user, password);
|
||||||
final Connection conn = getConnection();
|
final Connection conn = getConnection(true);
|
||||||
if (conn == null) {
|
if (conn == null) {
|
||||||
noDb = true;
|
noDb = true;
|
||||||
return;
|
return;
|
||||||
@@ -84,6 +86,7 @@ public class LogBlock extends JavaPlugin {
|
|||||||
st.executeQuery("SET NAMES utf8mb4;");
|
st.executeQuery("SET NAMES utf8mb4;");
|
||||||
}
|
}
|
||||||
conn.close();
|
conn.close();
|
||||||
|
Updater updater = new Updater(this);
|
||||||
updater.checkTables();
|
updater.checkTables();
|
||||||
MaterialConverter.initializeMaterials(getConnection());
|
MaterialConverter.initializeMaterials(getConnection());
|
||||||
MaterialConverter.getOrAddMaterialId(Material.AIR.getKey()); // AIR must be the first entry
|
MaterialConverter.getOrAddMaterialId(Material.AIR.getKey()); // AIR must be the first entry
|
||||||
@@ -94,22 +97,10 @@ public class LogBlock extends JavaPlugin {
|
|||||||
getLogger().log(Level.SEVERE, "Error while loading: ", ex);
|
getLogger().log(Level.SEVERE, "Error while loading: ", ex);
|
||||||
} catch (final Exception ex) {
|
} catch (final Exception ex) {
|
||||||
getLogger().log(Level.SEVERE, "Error while loading: " + ex.getMessage(), ex);
|
getLogger().log(Level.SEVERE, "Error while loading: " + ex.getMessage(), ex);
|
||||||
errorAtLoading = true;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onEnable() {
|
|
||||||
BukkitUtils.isDoublePlant(Material.AIR); // Force static code to run
|
|
||||||
final PluginManager pm = getPluginManager();
|
|
||||||
if (errorAtLoading) {
|
|
||||||
pm.disablePlugin(this);
|
pm.disablePlugin(this);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (noDb) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (pm.getPlugin("WorldEdit") != null) {
|
if (pm.getPlugin("WorldEdit") != null) {
|
||||||
if (Integer.parseInt(pm.getPlugin("WorldEdit").getDescription().getVersion().substring(0, 1)) > 5) {
|
if (Integer.parseInt(pm.getPlugin("WorldEdit").getDescription().getVersion().substring(0, 1)) > 5) {
|
||||||
new WorldEditLoggingHook(this).hook();
|
new WorldEditLoggingHook(this).hook();
|
||||||
@@ -211,9 +202,6 @@ public class LogBlock extends JavaPlugin {
|
|||||||
@Override
|
@Override
|
||||||
public void onDisable() {
|
public void onDisable() {
|
||||||
isCompletelyEnabled = false;
|
isCompletelyEnabled = false;
|
||||||
if (timer != null) {
|
|
||||||
timer.cancel();
|
|
||||||
}
|
|
||||||
getServer().getScheduler().cancelTasks(this);
|
getServer().getScheduler().cancelTasks(this);
|
||||||
if (consumer != null) {
|
if (consumer != null) {
|
||||||
if (logPlayerInfo && playerInfoLogging != null) {
|
if (logPlayerInfo && playerInfoLogging != null) {
|
||||||
@@ -251,6 +239,10 @@ public class LogBlock extends JavaPlugin {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Connection getConnection() {
|
public Connection getConnection() {
|
||||||
|
return getConnection(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Connection getConnection(boolean testConnection) {
|
||||||
try {
|
try {
|
||||||
final Connection conn = pool.getConnection();
|
final Connection conn = pool.getConnection();
|
||||||
if (!connected) {
|
if (!connected) {
|
||||||
@@ -259,7 +251,9 @@ public class LogBlock extends JavaPlugin {
|
|||||||
}
|
}
|
||||||
return conn;
|
return conn;
|
||||||
} catch (final Exception ex) {
|
} catch (final Exception ex) {
|
||||||
if (connected) {
|
if (testConnection) {
|
||||||
|
getLogger().log(Level.SEVERE, "Could not connect to the Database! Please check your config! " + ex.getMessage());
|
||||||
|
} else if (connected) {
|
||||||
getLogger().log(Level.SEVERE, "Error while fetching connection: ", ex);
|
getLogger().log(Level.SEVERE, "Error while fetching connection: ", ex);
|
||||||
connected = false;
|
connected = false;
|
||||||
} else {
|
} else {
|
||||||
|
@@ -84,7 +84,12 @@ public class Config {
|
|||||||
def.put("consumer.queueWarningSize", 1000);
|
def.put("consumer.queueWarningSize", 1000);
|
||||||
def.put("clearlog.dumpDeletedLog", false);
|
def.put("clearlog.dumpDeletedLog", false);
|
||||||
def.put("clearlog.enableAutoClearLog", false);
|
def.put("clearlog.enableAutoClearLog", false);
|
||||||
def.put("clearlog.auto", Arrays.asList("world \"world\" before 365 days all", "world \"world\" player lavaflow waterflow leavesdecay before 7 days all", "world world_nether before 365 days all", "world world_nether player lavaflow before 7 days all"));
|
final List<String> autoClearlog = new ArrayList<String>();
|
||||||
|
for (final String world : worldNames) {
|
||||||
|
autoClearlog.add("world \"" + world + "\" before 365 days all");
|
||||||
|
autoClearlog.add("world \"" + world + "\" player lavaflow waterflow leavesdecay before 7 days all");
|
||||||
|
}
|
||||||
|
def.put("clearlog.auto", autoClearlog);
|
||||||
def.put("clearlog.autoClearLogDelay", "6h");
|
def.put("clearlog.autoClearLogDelay", "6h");
|
||||||
def.put("logging.logBedExplosionsAsPlayerWhoTriggeredThese", true);
|
def.put("logging.logBedExplosionsAsPlayerWhoTriggeredThese", true);
|
||||||
def.put("logging.logCreeperExplosionsAsPlayerWhoTriggeredThese", false);
|
def.put("logging.logCreeperExplosionsAsPlayerWhoTriggeredThese", false);
|
||||||
|
Reference in New Issue
Block a user