/src/me/herghost/Fiery/commands/sethomeCommand.java

https://github.com/bukkitdev/Fiery · Java · 186 lines · 144 code · 42 blank · 0 comment · 22 complexity · f99162bdd458432a10774c3b059a28f4 MD5 · raw file

  1. package me.herghost.Fiery.commands;
  2. import java.sql.Connection;
  3. import java.sql.DriverManager;
  4. import java.sql.PreparedStatement;
  5. import java.sql.ResultSet;
  6. import java.sql.SQLException;
  7. import java.sql.Statement;
  8. import java.util.logging.Logger;
  9. import me.herghost.Fiery.util.Configuration;
  10. import org.bukkit.command.Command;
  11. import org.bukkit.command.CommandExecutor;
  12. import org.bukkit.command.CommandSender;
  13. import org.bukkit.entity.Player;
  14. public class sethomeCommand implements CommandExecutor
  15. {
  16. Logger log = Logger.getLogger("Minecraft");
  17. public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args)
  18. {
  19. if(cmd.getName().equalsIgnoreCase("sethome")&& sender instanceof Player)
  20. {
  21. {
  22. String user = Configuration.getString("settings.mysql.user");
  23. String pass = Configuration.getString("settings.mysql.pass");
  24. String url = "jdbc:mysql://localhost:3306/Fiery";
  25. String v = Configuration.getString("money.iscalled");
  26. boolean t = Configuration.getBoolean("money.isenabled");
  27. int cost = Configuration.getInt("commandcharge.sethome");
  28. int balance;
  29. Player p = (Player) sender;
  30. try
  31. {
  32. Connection conn = DriverManager.getConnection(url, user, pass);
  33. Statement select = conn.createStatement();
  34. ResultSet rs = select.executeQuery("SELECT balance FROM money WHERE p_name ='" + p.getName() + "'");
  35. while (rs.next())
  36. {
  37. balance = rs.getInt("balance");
  38. int nbalance;
  39. if(t && cost > balance)
  40. {
  41. p.sendMessage("Sorry, your balance is to low to execute this command");
  42. return true;
  43. }
  44. if(t && cost > 0 && cost < balance)
  45. {
  46. if(args.length == 0)
  47. {
  48. double x = p.getLocation().getX();
  49. double y = p.getLocation().getY();
  50. double z = p.getLocation().getZ();
  51. String world = p.getWorld().getName();
  52. PreparedStatement sampleQueryStatement = conn.prepareStatement("REPLACE INTO userhomes SET world = '" + world + "', p_name = '" + p.getName() + "', home_x = '" + x + "', home_y = '" + y + "', home_z = '" + z + "'");
  53. sampleQueryStatement.executeUpdate();
  54. sampleQueryStatement.close();
  55. p.sendMessage("Home Set Successfully");
  56. nbalance = balance - cost;
  57. Statement select11 = conn.createStatement();
  58. select11.executeUpdate("UPDATE money SET balance = '" + nbalance + "'WHERE p_name ='" + p.getName() + "'");
  59. p.sendMessage("You have been charged " + cost + " " + v + " - your new balance is " + nbalance + " " + v + "");
  60. return true;
  61. }
  62. if(args.length == 1)
  63. {
  64. double x = p.getLocation().getX();
  65. double y = p.getLocation().getY();
  66. double z = p.getLocation().getZ();
  67. String world = p.getWorld().getName();
  68. PreparedStatement sampleQueryStatement = conn.prepareStatement("UPDATE userhomes SET p_name ='" + p.getName() +"',world"+args[0]+" ="+world+", home"+args[0]+"_x="+x+",home"+args[0]+"_y ="+y+",home"+args[0]+"_z ="+z+" WHERE p_name = '" + p.getName() + "'");
  69. sampleQueryStatement.executeUpdate();
  70. sampleQueryStatement.close();
  71. p.sendMessage("Home " + args[0] + " Set Successfully");
  72. nbalance = balance - cost;
  73. Statement select11 = conn.createStatement();
  74. select11.executeUpdate("UPDATE money SET balance = '" + nbalance + "'WHERE p_name ='" + p.getName() + "'");
  75. p.sendMessage("You have been charged " + cost + " " + v + " - your new balance is " + nbalance + " " + v + "");
  76. return true;
  77. }
  78. }
  79. if(t && cost < 1)
  80. {
  81. if(args.length == 0)
  82. {
  83. double x = p.getLocation().getX();
  84. double y = p.getLocation().getY();
  85. double z = p.getLocation().getZ();
  86. String world = p.getWorld().getName();
  87. PreparedStatement sampleQueryStatement = conn.prepareStatement("REPLACE INTO userhomes SET world = '" + world + "', p_name = '" + p.getName() + "', home_x = '" + x + "', home_y = '" + y + "', home_z = '" + z + "'");
  88. sampleQueryStatement.executeUpdate();
  89. sampleQueryStatement.close();
  90. p.sendMessage("Home Set Successfully");
  91. return true;
  92. }
  93. if(args.length == 1)
  94. {
  95. double x = p.getLocation().getX();
  96. double y = p.getLocation().getY();
  97. double z = p.getLocation().getZ();
  98. String world = p.getWorld().getName();
  99. PreparedStatement sampleQueryStatement = conn.prepareStatement("UPDATE userhomes SET p_name ='" + p.getName() +"',world"+args[0]+" ="+world+", home"+args[0]+"_x="+x+",home"+args[0]+"_y ="+y+",home"+args[0]+"_z ="+z+" WHERE p_name = '" + p.getName() + "'");
  100. sampleQueryStatement.executeUpdate();
  101. sampleQueryStatement.close();
  102. p.sendMessage("Home " + args[0] + " Set Successfully");
  103. return true;
  104. }
  105. }
  106. if(!t)
  107. {
  108. if(args.length == 0)
  109. {
  110. double x = p.getLocation().getX();
  111. double y = p.getLocation().getY();
  112. double z = p.getLocation().getZ();
  113. String world = p.getWorld().getName();
  114. PreparedStatement sampleQueryStatement = conn.prepareStatement("REPLACE INTO userhomes SET world = '" + world + "', p_name = '" + p.getName() + "', home_x = '" + x + "', home_y = '" + y + "', home_z = '" + z + "'");
  115. sampleQueryStatement.executeUpdate();
  116. sampleQueryStatement.close();
  117. p.sendMessage("Home Set Successfully");
  118. return true;
  119. }
  120. if(args.length == 1)
  121. {
  122. double x = p.getLocation().getX();
  123. double y = p.getLocation().getY();
  124. double z = p.getLocation().getZ();
  125. String world = p.getWorld().getName();
  126. PreparedStatement sampleQueryStatement = conn.prepareStatement("UPDATE userhomes SET p_name ='" + p.getName() +"',world"+args[0]+" ="+world+", home"+args[0]+"_x="+x+",home"+args[0]+"_y ="+y+",home"+args[0]+"_z ="+z+" WHERE p_name = '" + p.getName() + "'");
  127. sampleQueryStatement.executeUpdate();
  128. sampleQueryStatement.close();
  129. p.sendMessage("Home " + args[0] + " Set Successfully");
  130. return true;
  131. }
  132. }
  133. }
  134. }
  135. catch
  136. (SQLException e1)
  137. {
  138. e1.printStackTrace();
  139. }
  140. }
  141. }
  142. return false;
  143. }
  144. }