/** * bFundamentalsBuild 1.2-SNAPSHOT * Copyright (C) 2013 CodingBadgers <plugins@mcbadgercraft.com> * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package uk.codingbadgers.bmonitor; import java.util.logging.Level; import org.bukkit.configuration.file.FileConfiguration; import n3wton.me.BukkitDatabaseManager.BukkitDatabaseManager.DatabaseType; import uk.codingbadgers.bFundamentals.module.Module; // TODO: Auto-generated Javadoc /** * The base bMonitor class. */ public class bMonitor extends Module { /** The Constant NAME. */ private static final String NAME = "bMonitor"; /** The Constant VERSION. */ private static final String VERSION = "1.0"; /** The m_player listener. */ private CommandListener m_playerListener = new CommandListener(); /** The instance. */ public static bMonitor INSTANCE; /** * The Class DatabaseInfo. */ public static class DatabaseInfo { /** The database driver. */ public DatabaseType m_driver = null; /** The the hostname. */ public String m_host = null; /** The teh database name. */ public String m_dbname = null; /** The table prefix. */ public String m_tablePrefix = null; /** The database username. */ public String m_user = null; /** The the database password. */ public String m_password = null; /** The database port. */ public int m_port = 3306; /** The update time. */ public int m_update = 20; } /** * The Class Logging. */ public static class Logging { /** Logging player join. */ public boolean m_playerJoin; /** Logging player leave. */ public boolean m_playerLeave; /** Logging chat. */ public boolean m_chat; /** Logging commands. */ public boolean m_commands; } /** The Database info instance */ public static DatabaseInfo m_dbInfo; /** The Logging instance. */ public static Logging m_logging; /** * Instantiates a new b monitor. */ public bMonitor() { super(NAME, VERSION); } /* (non-Javadoc) * @see uk.codingbadgers.bFundamentals.module.Module#onEnable() */ public void onEnable() { INSTANCE = this; register(m_playerListener); setupConfig(); DatabaseManager.setupDatabase(m_plugin); log(Level.INFO, "bMonitor enabled"); } /* (non-Javadoc) * @see uk.codingbadgers.bFundamentals.module.Module#onDisable() */ public void onDisable() { log(Level.INFO, "bMonitor disabled"); } /** * Setup config. */ public void setupConfig() { FileConfiguration config = getConfig(); try { // database config config.addDefault("database.driver", "SQLite"); config.addDefault("database.host", "localhost"); config.addDefault("database.dbname", "bMonitor"); config.addDefault("database.tablePrefix", "bMonitor_"); config.addDefault("database.user", "root"); config.addDefault("database.password", ""); config.addDefault("database.port", 3306); config.addDefault("database.updateTime", 2); config.addDefault("logging.player.join", true); config.addDefault("logging.player.leave", true); config.addDefault("logging.chat", true); config.addDefault("logging.commands", true); config.options().copyDefaults(true); saveConfig(); } catch (Exception ex) { ex.printStackTrace(); return; } m_dbInfo = new DatabaseInfo(); m_dbInfo.m_driver = DatabaseType.valueOf(config.getString("database.driver", "SQLite")); m_dbInfo.m_host = config.getString("database.host", "localhost"); m_dbInfo.m_dbname = config.getString("database.dbname", "bMonitor"); m_dbInfo.m_tablePrefix = config.getString("database.tablePrefix", "bMonitor_"); m_dbInfo.m_user = config.getString("database.user", "root"); m_dbInfo.m_password = config.getString("database.password", ""); m_dbInfo.m_port = config.getInt("database.port", 3306); m_dbInfo.m_update = config.getInt("database.updateTime", 2); m_logging = new Logging(); m_logging.m_playerJoin = config.getBoolean("logging.player.join", true); m_logging.m_playerLeave = config.getBoolean("logging.player.leave", true); m_logging.m_chat = config.getBoolean("logging.chat", true); m_logging.m_commands = config.getBoolean("logging.commands", true); } }