Advertisement
Guest User

Untitled

a guest
Nov 12th, 2016
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.40 KB | None | 0 0
  1. package me.ValoricalJ.partysystem;
  2.  
  3. import org.bukkit.Bukkit;
  4. import org.bukkit.ChatColor;
  5. import org.bukkit.command.Command;
  6. import org.bukkit.command.CommandSender;
  7. import org.bukkit.entity.Player;
  8. import org.bukkit.event.EventHandler;
  9. import org.bukkit.event.Listener;
  10. import org.bukkit.event.player.PlayerLoginEvent;
  11. import org.bukkit.plugin.java.JavaPlugin;
  12.  
  13. import java.sql.*;
  14.  
  15. /**
  16. * Created by jack.marshall on 10/11/2016.
  17. */
  18. public class PartySystem extends JavaPlugin implements Listener{
  19.  
  20. public static Connection connection;
  21. public static PartySystem instance;
  22.  
  23. public void onEnable(){
  24. instance = this;
  25. getServer().getPluginManager().registerEvents(this, this);
  26. }
  27.  
  28. public void onDisable(){
  29. try {
  30. if (connection != null && connection.isClosed())
  31. connection.close();
  32. }catch (SQLException e){
  33. e.printStackTrace();
  34. }
  35. }
  36.  
  37. public synchronized static void openConnection(){
  38. try {
  39. connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/RuseParty", "RuseParty", "YgcSttPGRpadNSPo");
  40.  
  41. }catch (Exception e){
  42. e.printStackTrace();
  43. }
  44. }
  45. public synchronized static void closeConnection(){
  46. try {
  47. connection.close();
  48. }catch (Exception e){
  49. e.printStackTrace();
  50. }
  51. }
  52.  
  53. public synchronized static boolean playerDataContainsPlayer(Player p){
  54. try {
  55. PreparedStatement sql = connection.prepareStatement("SELECT * FROM `party_data` WHERE leader=?;");
  56. sql.setString(1, p.getName());
  57. ResultSet resultSet = sql.executeQuery();
  58. boolean containsFaction = resultSet.next();
  59.  
  60. sql.close();
  61. resultSet.close();
  62.  
  63. return containsFaction;
  64.  
  65. }catch (Exception e){
  66. e.printStackTrace();
  67. return false;
  68. }
  69. }
  70. public synchronized static boolean partyDataContainsPlayer(Player p){
  71. try {
  72. PreparedStatement sql = connection.prepareStatement("SELECT * FROM `party_data` WHERE members=?;");
  73. sql.setString(1, p.getName());
  74. ResultSet resultSet = sql.executeQuery();
  75. boolean containsFaction = resultSet.next();
  76.  
  77. sql.close();
  78. resultSet.close();
  79.  
  80. return containsFaction;
  81.  
  82. }catch (Exception e){
  83. e.printStackTrace();
  84. return false;
  85. }
  86. }
  87. @Override
  88. public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
  89. Player p = (Player) sender;
  90. if(command.getName().equalsIgnoreCase("party")) {
  91. if (args.length == 1) {
  92. if (args[0].equalsIgnoreCase("create")) {
  93. openConnection();
  94. try {
  95. if (!(playerDataContainsPlayer(p))) {
  96. if(!partyDataContainsPlayer(p)) {
  97. PreparedStatement newParty = connection.prepareStatement("INSERT INTO `party_data` values(?, ?);");
  98. newParty.setString(1, p.getName());
  99. newParty.setString(2, p.getName());
  100. newParty.execute();
  101. newParty.close();
  102. p.sendMessage(ChatColor.AQUA + "You have created a party!");
  103. }else{
  104. p.sendMessage(ChatColor.RED + "You are already in a party!");
  105. }
  106. }else{
  107. p.sendMessage(ChatColor.RED + "You already own a party!");
  108. }
  109. } catch (Exception e) {
  110. e.printStackTrace();
  111. } finally {
  112. closeConnection();
  113. }
  114. } else if (args[0].equalsIgnoreCase("disband")) {
  115. openConnection();
  116. try {
  117. PreparedStatement newParty = connection.prepareStatement("DELETE FROM `party_data` WHERE leader=?;");
  118. newParty.setString(1, p.getName());
  119. newParty.execute();
  120. newParty.close();
  121. p.sendMessage(ChatColor.RED + "Party disbanded.");
  122.  
  123. } catch (Exception e) {
  124. e.printStackTrace();
  125. } finally {
  126. closeConnection();
  127. }
  128. }
  129. }else if(args.length == 2){
  130. if(args[0].equalsIgnoreCase("invite")){
  131. Player target = Bukkit.getPlayer(args[1]);
  132. if(playerDataContainsPlayer(p)) {
  133. if(partyDataContainsPlayer(target)) {
  134. if (target != null) {
  135. openConnection();
  136. try {
  137. PreparedStatement newParty = connection.prepareStatement("UPDATE `party_data` INSERT members=? WHERE leader=?;");
  138. newParty.setString(1, target.getName());
  139. newParty.setString(2, p.getName());
  140. newParty.execute();
  141. newParty.close();
  142. p.sendMessage(ChatColor.RED + "Party disbanded.");
  143.  
  144. } catch (Exception e) {
  145. e.printStackTrace();
  146. } finally {
  147. closeConnection();
  148. }
  149. } else {
  150. p.sendMessage(ChatColor.RED + "Could not find player " + args[1]);
  151. }
  152. }else{
  153. p.sendMessage(ChatColor.RED + "This player is either already in your party, or is in another!");
  154. }
  155. }else{
  156. p.sendMessage(ChatColor.RED + "Please create a party to invite this person.");
  157. }
  158. }
  159. }
  160. }
  161.  
  162.  
  163. return super.onCommand(sender, command, label, args);
  164. }
  165. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement