Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package yona168.sirro.Sirrosserver;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.SQLException;
- import java.sql.Statement;
- import java.util.logging.Logger;
- import org.bukkit.configuration.file.FileConfiguration;
- import org.bukkit.permissions.Permission;
- import org.bukkit.plugin.PluginDescriptionFile;
- import org.bukkit.plugin.PluginManager;
- import org.bukkit.plugin.java.JavaPlugin;
- import yona168.sirro.Sirrosserver.commands.GiveRegistrationSlip;
- import yona168.sirro.Sirrosserver.commands.GiveSoul;
- import yona168.sirro.Sirrosserver.commands.GiveTransportShovel;
- import yona168.sirro.Sirrosserver.events.other.MobDropSoul;
- import yona168.sirro.Sirrosserver.events.other.ProjectileHit;
- import yona168.sirro.Sirrosserver.events.other.TryToUseSoul;
- import yona168.sirro.Sirrosserver.events.other.onDollyDamage;
- import yona168.sirro.Sirrosserver.events.other.onDollyDespawnation;
- import yona168.sirro.Sirrosserver.events.other.onMobSpawnFromSpawner;
- import yona168.sirro.Sirrosserver.events.player.ClickMobSpawner;
- import yona168.sirro.Sirrosserver.events.player.UseDollyAsShovel;
- import yona168.sirro.Sirrosserver.events.player.onPlayerBreakCustomSpawner;
- import yona168.sirro.Sirrosserver.events.player.onPlayerClickSpawnerWithDolly;
- import yona168.sirro.Sirrosserver.events.player.onPlayerPlaceSpawner;
- import yona168.sirro.Sirrosserver.events.player.onPlayerUseCustomSpawnerGUI;
- public class ProjectileEntities extends JavaPlugin {
- private ProjectileEntities plugin = this;
- private static Connection connection;
- protected String host, username, database, password;
- protected int port;
- private FileConfiguration config;
- private Statement statement;
- public void onEnable() {
- Logger logger = getLogger();
- registerConfig();
- logger.info("Config Registered");
- PluginManager pm = getServer().getPluginManager();
- PluginDescriptionFile pdFile = getDescription();
- config = this.getConfig();
- logger.info("Setting up MySQL Things...");
- host = config.getString("mySQL.host");
- port = config.getInt("mySQL.port");
- username = config.getString("mySQL.username");
- database = config.getString("mySQL.database");
- password = config.getString("mySQL.password");
- logger.info("Opening connection...");
- try {
- if (connection != null && !connection.isClosed()) {
- return;
- }
- synchronized (plugin) {
- if (connection != null && !connection.isClosed()) {
- return;
- }
- Class.forName("com.mysql.jdbc.Driver");
- connection = DriverManager.getConnection("jdbc:mysql://localhost:" + port + "/" + database, username,
- password);
- }
- statement = connection.createStatement();
- logger.info("Connection Opened! Statement Created.");
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- logger.info("Table Things...");
- try {
- createUnexistingTables(statement);
- logger.info("Tables Created!");
- statement.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- registerEvents(pm);
- registerPermissions(pm);
- registerCommands();
- logger.info(pdFile.getName() + "Has been successfuly enabled. No small, furry animals were harmed.");
- System.out.println("Version of this plugin: " + pdFile.getVersion());
- }
- public void onDisable() {
- PluginDescriptionFile pdFile = getDescription();
- Logger logger = getLogger();
- this.saveConfig();
- logger.info("Config file saved!");
- try {
- connection.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- logger.info(pdFile.getName() + "Has been successfuly disabled. No small, furry animals were harmed.");
- System.out.println("Version of this plugin: " + pdFile.getVersion());
- }
- public void registerCommands() {
- getCommand("mssoul").setExecutor(new GiveSoul());
- getCommand("msshovel").setExecutor(new GiveTransportShovel());
- getCommand("msslip").setExecutor(new GiveRegistrationSlip());
- }
- public void registerEvents(PluginManager pm) {
- pm.registerEvents(new ProjectileHit(this), this);
- pm.registerEvents(new onPlayerClickSpawnerWithDolly(this), this);
- pm.registerEvents(new ClickMobSpawner(this), this);
- pm.registerEvents(new onPlayerPlaceSpawner(this), this);
- pm.registerEvents(new onPlayerUseCustomSpawnerGUI(this), this);
- pm.registerEvents(new onMobSpawnFromSpawner(this), this);
- pm.registerEvents(new onDollyDespawnation(this), this);
- pm.registerEvents(new onDollyDamage(this), this);
- pm.registerEvents(new onPlayerBreakCustomSpawner(this), this);
- pm.registerEvents(new MobDropSoul(this), this);
- pm.registerEvents(new TryToUseSoul(), this);
- pm.registerEvents(new UseDollyAsShovel(), this);
- }
- private void registerConfig() {
- this.saveDefaultConfig();
- }
- private void createUnexistingTables(Statement statement) throws SQLException {
- statement.executeUpdate(
- "CREATE TABLE IF NOT EXISTS masterTable(ID BIGINT, WORLD TINYTEXT, LOCATIONX MEDIUMINT, LOCATIONY MEDIUMINT, LOCATIONZ MEDIUMINT, TYPE TINYTEXT, SPEED TINYINT, OWNERUUID CHAR(40))");
- statement.close();
- }
- public void registerPermissions(PluginManager pm) {
- Permission canRegisterSpawner = new Permission("mobsouls.canregister");
- Permission giveSoul = new Permission("mobsouls.commands.givesoul");
- Permission giveShovel = new Permission("mobsouls.commands.givetransportshovel");
- Permission giveSlip = new Permission("mobsouls.commands.giveregistrationslip");
- pm.addPermission(canRegisterSpawner);
- pm.addPermission(giveSoul);
- pm.addPermission(giveShovel);
- pm.addPermission(giveSlip);
- }
- public Connection getConnection() {
- return connection;
- }
- public ProjectileEntities getInstance() {
- return this;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement