Advertisement
Guest User

Untitled

a guest
Sep 29th, 2016
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.62 KB | None | 0 0
  1. package me.MrToucan;
  2.  
  3. import org.bukkit.plugin.java.*;
  4. import org.bukkit.configuration.file.*;
  5. import me.MrToucan.Listeners.*;
  6. import org.bukkit.event.*;
  7. import org.bukkit.command.*;
  8. import me.MrToucan.Commands.*;
  9. import org.bukkit.permissions.*;
  10. import me.MrToucan.Matches.*;
  11. import org.bukkit.plugin.*;
  12. import org.bukkit.entity.*;
  13. import java.sql.*;
  14. import me.MrToucan.GameTypes.*;
  15. import java.util.*;
  16. import org.bukkit.*;
  17. import java.io.*;
  18. import java.net.*;
  19.  
  20. public class PracticePvP extends JavaPlugin
  21. {
  22. private static Connection connection;
  23. public static final File arenas;
  24. public static final YamlConfiguration arena;
  25. public static final File arenaList;
  26. public static final YamlConfiguration list;
  27. public static final File eloes;
  28. public static final YamlConfiguration elo;
  29. public static final File stats;
  30. public static final YamlConfiguration statsConfig;
  31. public static final File teamArenaList;
  32. public static final YamlConfiguration teamArenaListConfig;
  33. public static final File teamArenas;
  34. public static final YamlConfiguration teamArenasConfig;
  35. public static final File teamElo;
  36. public static final YamlConfiguration teamEloConfig;
  37. public static final File teamStats;
  38. public static final YamlConfiguration teamStatsConfig;
  39. public static final File config;
  40. public static final YamlConfiguration configYml;
  41. public static final File kitEdits;
  42. public static final YamlConfiguration editsYml;
  43. public static final File rankedMatches;
  44. public static final YamlConfiguration rankedMatchConfig;
  45. public static final File messages;
  46. public static final YamlConfiguration msg;
  47. public static final String prefix;
  48. public static final boolean useScoreboard;
  49. public static final boolean isMySql;
  50.  
  51. public void onEnable() {
  52. final onJoin onJoin = new onJoin();
  53. final onClick onClick = new onClick();
  54. final onArenaEvents onArenaEvents = new onArenaEvents();
  55. final TeamClicks teamClicks = new TeamClicks();
  56. Bukkit.getPluginManager().registerEvents((Listener)onJoin, (Plugin)this);
  57. Bukkit.getPluginManager().registerEvents((Listener)onClick, (Plugin)this);
  58. Bukkit.getPluginManager().registerEvents((Listener)onArenaEvents, (Plugin)this);
  59. Bukkit.getPluginManager().registerEvents((Listener)teamClicks, (Plugin)this);
  60. final Duel executor = new Duel();
  61. Bukkit.getPluginManager().registerEvents((Listener)executor, (Plugin)this);
  62. System.out.println("--------------------");
  63. System.out.println("PracticePvP Enabled!");
  64. System.out.println("--------------------");
  65. this.getCommand("createArena").setExecutor((CommandExecutor)new createArena());
  66. this.getCommand("getArenas").setExecutor((CommandExecutor)new getArenas());
  67. this.getCommand("duel").setExecutor((CommandExecutor)executor);
  68. this.getCommand("deleteArena").setExecutor((CommandExecutor)new deleteArena());
  69. this.getCommand("elo").setExecutor((CommandExecutor)new elo());
  70. this.getCommand("spectate").setExecutor((CommandExecutor)new Spectate());
  71. this.getCommand("Shutdown").setExecutor((CommandExecutor)new Shutdown());
  72. this.getCommand("setGlobalSpawn").setExecutor((CommandExecutor)new setGlobalSpawn());
  73. this.getCommand("setEditLocation").setExecutor((CommandExecutor)new setEditLocation());
  74. this.getCommand("setSpawn1").setExecutor((CommandExecutor)new setSpawn1());
  75. this.getCommand("setSpawn2").setExecutor((CommandExecutor)new setSpawn2());
  76. final CommandManager commandManager = new CommandManager(this);
  77. final PluginManager pluginManager = Bukkit.getPluginManager();
  78. final Permission permission = new Permission("PracticePvP.Admin");
  79. final Permission permission2 = new Permission("PracticePvP.Duel");
  80. final Permission permission3 = new Permission("PracticePvP.Spectate");
  81. final Permission permission4 = new Permission("PracticePvP.Elo");
  82. final Permission permission5 = new Permission("PracticePvP.EloOthers");
  83. final Permission permission6 = new Permission("PracticePvP.InfiniteMatches");
  84. pluginManager.addPermission(permission);
  85. pluginManager.addPermission(permission2);
  86. pluginManager.addPermission(permission3);
  87. pluginManager.addPermission(permission4);
  88. pluginManager.addPermission(permission5);
  89. try {
  90. ArenaManager.getManager().addArenas();
  91. if (PracticePvP.isMySql) {
  92. PracticePvP.connection = getConnection();
  93. try {
  94. createTable();
  95. }
  96. catch (Exception ex) {
  97. ex.printStackTrace();
  98. }
  99. }
  100. }
  101. catch (Exception ex2) {
  102. System.out.println("Could not load Arenas!");
  103. }
  104. }
  105.  
  106. public static synchronized Connection getConnection() {
  107. try {
  108. Class.forName("com.mysql.jdbc.Driver");
  109. final Connection connection = DriverManager.getConnection("jdbc:mysql://" + PracticePvP.configYml.getString("MySql.Host") + "/" + PracticePvP.configYml.getString("MySql.DatabaseName"), PracticePvP.configYml.getString("MySql.Username"), PracticePvP.configYml.getString("MySql.Password"));
  110. System.out.println("Successfully connected to DataBase!");
  111. return connection;
  112. }
  113. catch (Exception ex) {
  114. ex.printStackTrace();
  115. return null;
  116. }
  117. }
  118.  
  119. public static synchronized void createTable() {
  120. try {
  121. PracticePvP.connection.prepareStatement("CREATE TABLE IF NOT EXISTS player_elo_data (id varchar(255), wins Integer, loses Integer, nodebuff Integer, debuff Integer, archer Integer, ironaxe Integer, vanilla Integer, gapple Integer, noenchants Integer, iron Integer, souphardcore Integer, souprefill Integer);").executeUpdate();
  122. }
  123. catch (Exception ex) {
  124. ex.printStackTrace();
  125. }
  126. finally {
  127. System.out.println("Table created!");
  128. }
  129. }
  130.  
  131. public static void closeConnection() {
  132. if (PracticePvP.connection != null) {
  133. try {
  134. PracticePvP.connection.close();
  135. }
  136. catch (Exception ex) {
  137. ex.printStackTrace();
  138. }
  139. }
  140. }
  141.  
  142. public static boolean containsUser(final Player player) {
  143. try {
  144. final PreparedStatement prepareStatement = PracticePvP.connection.prepareStatement("SELECT * FROM player_elo_data WHERE id=?;");
  145. prepareStatement.setString(1, "\"" + String.valueOf(player.getUniqueId()) + "\"");
  146. final ResultSet executeQuery = prepareStatement.executeQuery();
  147. final boolean next = executeQuery.next();
  148. prepareStatement.close();
  149. executeQuery.close();
  150. System.out.println(String.valueOf(next));
  151. return next;
  152. }
  153. catch (Exception ex) {
  154. ex.printStackTrace();
  155. return false;
  156. }
  157. }
  158.  
  159. public static void addUser(final Player player) {
  160. try {
  161. PracticePvP.connection.prepareStatement("INSERT INTO player_elo_data (id, wins, loses, nodebuff, debuff, archer, ironaxe, vanilla, gapple, noenchants, iron, souphardcore, souprefill) VALUES (\"" + String.valueOf(player.getUniqueId()) + "\"" + "," + 0 + "," + 0 + "," + 1400 + "," + 1400 + "," + 1400 + "," + 1400 + "," + 1400 + "," + 1400 + "," + 1400 + "," + 1400 + "," + 1400 + "," + 1400 + ");").executeUpdate();
  162. }
  163. catch (Exception ex) {
  164. ex.printStackTrace();
  165. }
  166. }
  167.  
  168. public static synchronized void setNewElo(final Player player, final int n, final int n2, final int n3, final KitType kitType) {
  169. try {
  170. PracticePvP.connection.prepareStatement("INSERT INTO player_elo_data (id, wins, loses, " + kitType.toString().toLowerCase() + ")" + " VALUES (" + "\"" + String.valueOf(player.getUniqueId()) + "\"" + "," + n + "," + n2 + "," + n3 + ");").execute();
  171. }
  172. catch (Exception ex) {
  173. ex.printStackTrace();
  174. }
  175. }
  176.  
  177. public static DevAPI getApi() {
  178. return new DevAPI();
  179. }
  180.  
  181. public void onDisable() {
  182. ArenaManager.getManager().shutdown();
  183. try {
  184. PracticePvP.list.save(PracticePvP.arenaList);
  185. PracticePvP.elo.save(PracticePvP.eloes);
  186. PracticePvP.arena.save(PracticePvP.arenas);
  187. }
  188. catch (Exception ex) {
  189. ex.printStackTrace();
  190. }
  191. System.out.println("---------------------");
  192. System.out.println("PracticePvP Disabled!");
  193. System.out.println("No Data Lost!");
  194. System.out.println("---------------------");
  195. closeConnection();
  196. }
  197.  
  198. static {
  199. arenas = new File("plugins/PracticePvP/arenas.yml");
  200. arena = YamlConfiguration.loadConfiguration(PracticePvP.arenas);
  201. arenaList = new File("plugins/PracticePvP/List.yml");
  202. list = YamlConfiguration.loadConfiguration(PracticePvP.arenaList);
  203. eloes = new File("plugins/PracticePvP/elo.yml");
  204. elo = YamlConfiguration.loadConfiguration(PracticePvP.eloes);
  205. stats = new File("plugins/PracticePvP/stats.yml");
  206. statsConfig = YamlConfiguration.loadConfiguration(PracticePvP.stats);
  207. teamArenaList = new File("plugins/PracticePvP/teamArenaList.yml");
  208. teamArenaListConfig = YamlConfiguration.loadConfiguration(PracticePvP.teamArenaList);
  209. teamArenas = new File("plugins/PracticePvP/teamArenas.yml");
  210. teamArenasConfig = YamlConfiguration.loadConfiguration(PracticePvP.teamArenas);
  211. teamElo = new File("plugins/PracticePvP/teamElo.yml");
  212. teamEloConfig = YamlConfiguration.loadConfiguration(PracticePvP.teamElo);
  213. teamStats = new File("plugins/PracticePvP/teamStats.yml");
  214. teamStatsConfig = YamlConfiguration.loadConfiguration(PracticePvP.teamStats);
  215. config = new File("plugins/PracticePvP/config.yml");
  216. configYml = YamlConfiguration.loadConfiguration(PracticePvP.config);
  217. kitEdits = new File("plugins/PracticePvP/KitEdits.yml");
  218. editsYml = YamlConfiguration.loadConfiguration(PracticePvP.kitEdits);
  219. rankedMatches = new File("plugins/PracticePvP/RankedMatches.yml");
  220. rankedMatchConfig = YamlConfiguration.loadConfiguration(PracticePvP.rankedMatches);
  221. messages = new File("plugins/PracticePvP/Messages.yml");
  222. msg = YamlConfiguration.loadConfiguration(PracticePvP.messages);
  223. isMySql = PracticePvP.configYml.getBoolean("StoreStatsToMySql");
  224. PracticePvP.configYml.addDefault("prefix", (Object)"&bPractice&1PvP &e&l>>");
  225. PracticePvP.configYml.addDefault("EnderPearlCooldown", (Object)16);
  226. PracticePvP.configYml.addDefault("MinUnRankedWins", (Object)10);
  227. PracticePvP.configYml.addDefault("DefaultRankedMatches", (Object)20);
  228. PracticePvP.configYml.addDefault("UseScoreboard", (Object)true);
  229. PracticePvP.configYml.addDefault("ScoreboardWebsite", (Object)"&a&lwww.coolpvpserver.net");
  230. PracticePvP.configYml.addDefault("KitEditorWorld", (Object)"World");
  231. PracticePvP.configYml.addDefault("KitEditorX", (Object)0);
  232. PracticePvP.configYml.addDefault("KitEditorY", (Object)0);
  233. PracticePvP.configYml.addDefault("KitEditorZ", (Object)0);
  234. PracticePvP.configYml.addDefault("SaveKitSignPrefix", (Object)"&e&l[&aSave&e&l]");
  235. PracticePvP.configYml.addDefault("GlobalSpawnWorld", (Object)"World");
  236. PracticePvP.configYml.addDefault("GlobalSpawnX", (Object)0);
  237. PracticePvP.configYml.addDefault("GlobalSpawnY", (Object)0);
  238. PracticePvP.configYml.addDefault("GlobalSpawnZ", (Object)0);
  239. PracticePvP.configYml.addDefault("GlobalSpawnYaw", (Object)0.0f);
  240. PracticePvP.configYml.addDefault("GlobalSpawnPitch", (Object)0.0f);
  241. PracticePvP.configYml.addDefault("StoreStatsToMySql", (Object)false);
  242. PracticePvP.configYml.addDefault("MySql.Host", (Object)"0.0.0.0");
  243. PracticePvP.configYml.addDefault("MySql.DatabaseName", (Object)"DatabaseName");
  244. PracticePvP.configYml.addDefault("MySql.Username", (Object)"Username");
  245. PracticePvP.configYml.addDefault("MySql.Password", (Object)"Password");
  246. PracticePvP.configYml.options().copyDefaults(true);
  247. final ArrayList<String> list2 = new ArrayList<String>();
  248. list2.add(String.valueOf(0));
  249. PracticePvP.list.addDefault("ArenaList", (Object)list2);
  250. PracticePvP.teamArenaListConfig.addDefault("ArenaList", (Object)list2);
  251. PracticePvP.teamArenaListConfig.options().copyDefaults(true);
  252. final UUID randomUUID = UUID.randomUUID();
  253. PracticePvP.list.options().copyDefaults(true);
  254. PracticePvP.elo.addDefault("NoDebuff." + String.valueOf(randomUUID), (Object)1400);
  255. PracticePvP.elo.addDefault("Debuff." + String.valueOf(randomUUID), (Object)1400);
  256. PracticePvP.elo.addDefault("Archer." + String.valueOf(randomUUID), (Object)1400);
  257. PracticePvP.elo.addDefault("AxePvP." + String.valueOf(randomUUID), (Object)1400);
  258. PracticePvP.elo.addDefault("Vanilla." + String.valueOf(randomUUID), (Object)1400);
  259. PracticePvP.elo.addDefault("Gapple." + String.valueOf(randomUUID), (Object)1400);
  260. PracticePvP.elo.addDefault("NoEnchant." + String.valueOf(randomUUID), (Object)1400);
  261. PracticePvP.elo.addDefault("Iron." + String.valueOf(randomUUID), (Object)1400);
  262. PracticePvP.elo.addDefault("SoupHardcore." + String.valueOf(randomUUID), (Object)1400);
  263. PracticePvP.elo.addDefault("SoupRefill." + String.valueOf(randomUUID), (Object)1400);
  264. PracticePvP.statsConfig.addDefault("Wins." + String.valueOf(randomUUID), (Object)0);
  265. PracticePvP.statsConfig.addDefault("Loses." + String.valueOf(randomUUID), (Object)0);
  266. PracticePvP.statsConfig.addDefault("UnRankedWins." + String.valueOf(randomUUID), (Object)0);
  267. PracticePvP.statsConfig.addDefault("UnRankedLoses." + String.valueOf(randomUUID), (Object)0);
  268. PracticePvP.teamStatsConfig.addDefault("Wins." + String.valueOf(randomUUID), (Object)0);
  269. PracticePvP.teamStatsConfig.addDefault("Losses." + String.valueOf(randomUUID), (Object)0);
  270. PracticePvP.elo.options().copyDefaults(true);
  271. if (PracticePvP.arenas == null) {
  272. PracticePvP.arenas.mkdirs();
  273. }
  274. if (PracticePvP.eloes == null) {
  275. PracticePvP.eloes.mkdirs();
  276. }
  277. if (PracticePvP.arenaList == null) {
  278. PracticePvP.arenaList.mkdirs();
  279. }
  280. if (PracticePvP.config == null) {
  281. PracticePvP.config.mkdirs();
  282. }
  283. if (PracticePvP.kitEdits == null) {
  284. PracticePvP.kitEdits.mkdirs();
  285. }
  286. if (PracticePvP.rankedMatches == null) {
  287. PracticePvP.rankedMatches.mkdirs();
  288. }
  289. prefix = ChatColor.translateAlternateColorCodes('&', PracticePvP.configYml.getString("prefix"));
  290. useScoreboard = PracticePvP.configYml.getBoolean("UseScoreboard");
  291. try {
  292. PracticePvP.rankedMatchConfig.save(PracticePvP.rankedMatches);
  293. PracticePvP.editsYml.save(PracticePvP.kitEdits);
  294. PracticePvP.configYml.save(PracticePvP.config);
  295. PracticePvP.list.save(PracticePvP.arenaList);
  296. PracticePvP.elo.save(PracticePvP.eloes);
  297. PracticePvP.arena.save(PracticePvP.arenas);
  298. }
  299. catch (Exception ex) {
  300. ex.printStackTrace();
  301. }
  302. }
  303. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement