Advertisement
Guest User

Help:P

a guest
Jan 17th, 2018
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.71 KB | None | 0 0
  1. package yona168.sirro.Sirrosserver;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import java.sql.SQLException;
  6. import java.sql.Statement;
  7. import java.util.logging.Logger;
  8.  
  9. import org.bukkit.configuration.file.FileConfiguration;
  10. import org.bukkit.permissions.Permission;
  11. import org.bukkit.plugin.PluginDescriptionFile;
  12. import org.bukkit.plugin.PluginManager;
  13. import org.bukkit.plugin.java.JavaPlugin;
  14.  
  15. import yona168.sirro.Sirrosserver.commands.GiveRegistrationSlip;
  16. import yona168.sirro.Sirrosserver.commands.GiveSoul;
  17. import yona168.sirro.Sirrosserver.commands.GiveTransportShovel;
  18. import yona168.sirro.Sirrosserver.events.other.MobDropSoul;
  19. import yona168.sirro.Sirrosserver.events.other.ProjectileHit;
  20. import yona168.sirro.Sirrosserver.events.other.TryToUseSoul;
  21. import yona168.sirro.Sirrosserver.events.other.onDollyDamage;
  22. import yona168.sirro.Sirrosserver.events.other.onDollyDespawnation;
  23. import yona168.sirro.Sirrosserver.events.other.onMobSpawnFromSpawner;
  24. import yona168.sirro.Sirrosserver.events.player.ClickMobSpawner;
  25. import yona168.sirro.Sirrosserver.events.player.UseDollyAsShovel;
  26. import yona168.sirro.Sirrosserver.events.player.onPlayerBreakCustomSpawner;
  27. import yona168.sirro.Sirrosserver.events.player.onPlayerClickSpawnerWithDolly;
  28. import yona168.sirro.Sirrosserver.events.player.onPlayerPlaceSpawner;
  29. import yona168.sirro.Sirrosserver.events.player.onPlayerUseCustomSpawnerGUI;
  30.  
  31. public class ProjectileEntities extends JavaPlugin {
  32. private ProjectileEntities plugin = this;
  33. private static Connection connection;
  34. protected String host, username, database, password;
  35. protected int port;
  36. private FileConfiguration config;
  37. private Statement statement;
  38.  
  39. public void onEnable() {
  40. Logger logger = getLogger();
  41.  
  42. registerConfig();
  43. logger.info("Config Registered");
  44. PluginManager pm = getServer().getPluginManager();
  45. PluginDescriptionFile pdFile = getDescription();
  46. config = this.getConfig();
  47. logger.info("Setting up MySQL Things...");
  48. host = config.getString("mySQL.host");
  49. port = config.getInt("mySQL.port");
  50. username = config.getString("mySQL.username");
  51. database = config.getString("mySQL.database");
  52. password = config.getString("mySQL.password");
  53. logger.info("Opening connection...");
  54. try {
  55. if (connection != null && !connection.isClosed()) {
  56. return;
  57. }
  58.  
  59. synchronized (plugin) {
  60. if (connection != null && !connection.isClosed()) {
  61. return;
  62. }
  63. Class.forName("com.mysql.jdbc.Driver");
  64. connection = DriverManager.getConnection("jdbc:mysql://localhost:" + port + "/" + database, username,
  65. password);
  66. }
  67.  
  68. statement = connection.createStatement();
  69. logger.info("Connection Opened! Statement Created.");
  70. } catch (ClassNotFoundException e) {
  71.  
  72. e.printStackTrace();
  73. } catch (SQLException e) {
  74.  
  75. e.printStackTrace();
  76. }
  77.  
  78. logger.info("Table Things...");
  79. try {
  80. createUnexistingTables(statement);
  81. logger.info("Tables Created!");
  82. statement.close();
  83. } catch (SQLException e) {
  84.  
  85. e.printStackTrace();
  86. }
  87. registerEvents(pm);
  88. registerPermissions(pm);
  89. registerCommands();
  90. logger.info(pdFile.getName() + "Has been successfuly enabled. No small, furry animals were harmed.");
  91. System.out.println("Version of this plugin: " + pdFile.getVersion());
  92.  
  93. }
  94.  
  95. public void onDisable() {
  96. PluginDescriptionFile pdFile = getDescription();
  97. Logger logger = getLogger();
  98. this.saveConfig();
  99. logger.info("Config file saved!");
  100. try {
  101. connection.close();
  102. } catch (SQLException e) {
  103.  
  104. e.printStackTrace();
  105. }
  106. logger.info(pdFile.getName() + "Has been successfuly disabled. No small, furry animals were harmed.");
  107. System.out.println("Version of this plugin: " + pdFile.getVersion());
  108. }
  109.  
  110. public void registerCommands() {
  111. getCommand("mssoul").setExecutor(new GiveSoul());
  112. getCommand("msshovel").setExecutor(new GiveTransportShovel());
  113. getCommand("msslip").setExecutor(new GiveRegistrationSlip());
  114. }
  115.  
  116. public void registerEvents(PluginManager pm) {
  117. pm.registerEvents(new ProjectileHit(this), this);
  118. pm.registerEvents(new onPlayerClickSpawnerWithDolly(this), this);
  119. pm.registerEvents(new ClickMobSpawner(this), this);
  120. pm.registerEvents(new onPlayerPlaceSpawner(this), this);
  121. pm.registerEvents(new onPlayerUseCustomSpawnerGUI(this), this);
  122. pm.registerEvents(new onMobSpawnFromSpawner(this), this);
  123. pm.registerEvents(new onDollyDespawnation(this), this);
  124. pm.registerEvents(new onDollyDamage(this), this);
  125. pm.registerEvents(new onPlayerBreakCustomSpawner(this), this);
  126. pm.registerEvents(new MobDropSoul(this), this);
  127. pm.registerEvents(new TryToUseSoul(), this);
  128. pm.registerEvents(new UseDollyAsShovel(), this);
  129.  
  130. }
  131.  
  132. private void registerConfig() {
  133.  
  134. this.saveDefaultConfig();
  135.  
  136. }
  137.  
  138. private void createUnexistingTables(Statement statement) throws SQLException {
  139. statement.executeUpdate(
  140. "CREATE TABLE IF NOT EXISTS masterTable(ID BIGINT, WORLD TINYTEXT, LOCATIONX MEDIUMINT, LOCATIONY MEDIUMINT, LOCATIONZ MEDIUMINT, TYPE TINYTEXT, SPEED TINYINT, OWNERUUID CHAR(40))");
  141. statement.close();
  142. }
  143.  
  144. public void registerPermissions(PluginManager pm) {
  145. Permission canRegisterSpawner = new Permission("mobsouls.canregister");
  146. Permission giveSoul = new Permission("mobsouls.commands.givesoul");
  147. Permission giveShovel = new Permission("mobsouls.commands.givetransportshovel");
  148. Permission giveSlip = new Permission("mobsouls.commands.giveregistrationslip");
  149.  
  150. pm.addPermission(canRegisterSpawner);
  151. pm.addPermission(giveSoul);
  152. pm.addPermission(giveShovel);
  153. pm.addPermission(giveSlip);
  154. }
  155.  
  156. public Connection getConnection() {
  157. return connection;
  158. }
  159.  
  160. public ProjectileEntities getInstance() {
  161. return this;
  162. }
  163.  
  164. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement