Advertisement
Guest User

Untitled

a guest
Apr 22nd, 2019
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.47 KB | None | 0 0
  1. package ru.nestway;
  2.  
  3. import java.sql.PreparedStatement;
  4. import java.sql.ResultSet;
  5. import java.sql.SQLException;
  6. import org.bukkit.Bukkit;
  7. import org.bukkit.Material;
  8. import org.bukkit.command.Command;
  9. import org.bukkit.command.CommandExecutor;
  10. import org.bukkit.command.CommandSender;
  11. import org.bukkit.entity.Player;
  12. import org.bukkit.event.EventHandler;
  13. import org.bukkit.event.Listener;
  14. import org.bukkit.event.inventory.InventoryClickEvent;
  15. import org.bukkit.inventory.Inventory;
  16. import org.bukkit.inventory.InventoryHolder;
  17. import org.bukkit.plugin.java.JavaPlugin;
  18. import ru.nestway.mysql.MySQLWorker;
  19.  
  20. public class Main
  21. extends JavaPlugin
  22. implements Listener, CommandExecutor
  23. {
  24. MySQLWorker mysql;
  25. String permission = getConfig().getString("Settings.permissions");
  26. String messagepermission = getConfig().getString("Settings.messagepermission");
  27. String permenu = getConfig().getString("Settings.permenu");
  28. String nameinv = getConfig().getString("Settings.invname");
  29.  
  30. public void onEnable()
  31. {
  32. this.mysql = new MySQLWorker(getConfig().getString("MySql.host"), "3306", getConfig().getString("MySql.database"), getConfig().getString("MySql.login"), getConfig().getString("MySql.pass"), getConfig().getString("MySql.table"));
  33. getServer().getPluginManager().registerEvents(this, this);
  34. getCommand("YourTitle").setExecutor(this);
  35. System.out.println(getConfig().getString("Settings.messageOnEnable"));
  36. loadConfig();
  37. }
  38.  
  39. public void onDisable()
  40. {
  41. System.out.println(getConfig().getString("Settings.messageOnDisable"));
  42. }
  43.  
  44. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
  45. {
  46. if (!cmd.getName().equalsIgnoreCase("YourTitle")) {
  47. return true;
  48. }
  49. if ((args.length == 3) && (args[0].equalsIgnoreCase("set")))
  50. {
  51. if (sender.hasPermission(this.permission))
  52. {
  53. createPlayer(args[1]);
  54. if (getNumber(args[1]) != 8)
  55. {
  56. String s = args[2].replace("&", "§");
  57. updateTitles(args[1], String.valueOf(getNumber(args[1])), s);
  58. updateNumber(args[1]);
  59. sender.sendMessage(getConfig().getString("Settings.yousettitle"));
  60. }
  61. else
  62. {
  63. sender.sendMessage(getConfig().getString("Settings.FulltitlesX"));
  64. }
  65. }
  66. else
  67. {
  68. sender.sendMessage(this.messagepermission);
  69. }
  70. }
  71. else if ((sender instanceof Player)) {
  72. if (sender.hasPermission(this.permenu)) {
  73. Inventory((Player) sender);
  74. } else {
  75. sender.sendMessage(this.messagepermission);
  76. }
  77. } else {
  78. sender.sendMessage(getConfig().getString("Settings.onlyforplayer"));
  79. }
  80. return true;
  81. }
  82.  
  83. String itemmaterial1 = getConfig().getString("Settings.itemmaterial1");
  84. String itemmaterial2 = getConfig().getString("Settings.itemmaterial2");
  85. String itemmaterial3 = getConfig().getString("Settings.itemmaterial3");
  86. String itemmaterial4 = getConfig().getString("Settings.itemmaterial4");
  87. String itemmaterial5 = getConfig().getString("Settings.itemmaterial5");
  88. String itemmaterial6 = getConfig().getString("Settings.itemmaterial6");
  89. String itemmaterial7 = getConfig().getString("Settings.itemmaterial7");
  90.  
  91. public void Inventory(Player player)
  92. {
  93. String title1 = getTitle(player.getName(), 1);
  94. String title2 = getTitle(player.getName(), 2);
  95. String title3 = getTitle(player.getName(), 3);
  96. String title4 = getTitle(player.getName(), 4);
  97. String title5 = getTitle(player.getName(), 5);
  98. String title6 = getTitle(player.getName(), 6);
  99. String title7 = getTitle(player.getName(), 7);
  100. Inventory name = Bukkit.createInventory((InventoryHolder)null, 27, this.nameinv);
  101. if (getTitle(player.getName(), 1) == null) {
  102. name.setItem(10, ItemUtil.create(Material.getMaterial(this.itemmaterial1.toUpperCase()), getConfig().getString("Settings.noitemname1")));
  103. } else {
  104. name.setItem(10, ItemUtil.create(Material.NAME_TAG, 1, (byte)0 , title1, "§7Первый", null, null, null));
  105. }
  106. if (getTitle(player.getName(), 2) == null) {
  107. name.setItem(11, ItemUtil.create(Material.getMaterial(this.itemmaterial2.toUpperCase()), getConfig().getString("Settings.noitemname2")));
  108. } else {
  109. name.setItem(11, ItemUtil.create(Material.NAME_TAG, 1, (byte)0 , title2, "§7Второй", null, null, null));
  110. }
  111. if (getTitle(player.getName(), 3) == null) {
  112. name.setItem(12, ItemUtil.create(Material.getMaterial(this.itemmaterial3.toUpperCase()), getConfig().getString("Settings.noitemname3")));
  113. } else {
  114. name.setItem(12, ItemUtil.create(Material.NAME_TAG, 1, (byte)0 , title3, "§7Третий", null, null, null));
  115. }
  116. if (getTitle(player.getName(), 4) == null) {
  117. name.setItem(13, ItemUtil.create(Material.getMaterial(this.itemmaterial4.toUpperCase()), getConfig().getString("Settings.noitemname4")));
  118. } else {
  119. name.setItem(13, ItemUtil.create(Material.NAME_TAG, 1, (byte)0 , title4, "§7Четвертый", null, null, null));
  120. }
  121. if (getTitle(player.getName(), 5) == null) {
  122. name.setItem(14, ItemUtil.create(Material.getMaterial(this.itemmaterial5.toUpperCase()), getConfig().getString("Settings.noitemname5")));
  123. } else {
  124. name.setItem(14, ItemUtil.create(Material.NAME_TAG, 1, (byte)0 , title5, "§7П'ятий", null, null, null));
  125. }
  126. if (getTitle(player.getName(), 6) == null) {
  127. name.setItem(15, ItemUtil.create(Material.getMaterial(this.itemmaterial6.toUpperCase()), getConfig().getString("Settings.noitemname6")));
  128. } else {
  129. name.setItem(15, ItemUtil.create(Material.NAME_TAG, 1, (byte)0 , title6, "§7Шестой", null, null, null));
  130. }
  131. if (getTitle(player.getName(), 7) == null) {
  132. name.setItem(16, ItemUtil.create(Material.getMaterial(this.itemmaterial7.toUpperCase()), getConfig().getString("Settings.noitemname7")));
  133. } else {
  134. name.setItem(16, ItemUtil.create(Material.NAME_TAG, 1, (byte)0 , title7, "§7Седьмой", null, null, null));
  135. }
  136. player.openInventory(name);
  137. }
  138. String numb = getConfig().getString("Settings.numb");
  139. @EventHandler
  140. public void onClick(InventoryClickEvent event)
  141. {
  142. Player player = (Player)event.getWhoClicked();
  143. if (event.getInventory().getName().equalsIgnoreCase(this.nameinv))
  144. {
  145. event.setCancelled(true);
  146. if ((event.getCurrentItem() != null) && (event.getCurrentItem().getType() != Material.AIR))
  147. {
  148. if (getTitle(player.getName(), 1) != null && event.getCurrentItem().getItemMeta().getLore().contains("§7Первый"))
  149. {
  150. getServer().dispatchCommand(getServer().getConsoleSender(), "lp user " + player.getName() + " meta removesuffix " + numb);
  151. getServer().dispatchCommand(getServer().getConsoleSender(), "lp user " + player.getName() + " meta addsuffix " + numb + " \" " + getTitle(player.getName(), 1) + "§f" + "\"");
  152. getServer().dispatchCommand(getServer().getConsoleSender(), "ntea retag " + player.getName());
  153. getServer().dispatchCommand(getServer().getConsoleSender(), "protocoltags retag " + player.getName());
  154. }
  155. if (getTitle(player.getName(), 2) != null && event.getCurrentItem().getItemMeta().getLore().contains("§7Второй"))
  156. {
  157. getServer().dispatchCommand(getServer().getConsoleSender(), "lp user " + player.getName() + " meta removesuffix "+ numb);
  158. getServer().dispatchCommand(getServer().getConsoleSender(), "lp user " + player.getName() + " meta addsuffix " + numb + " \" " + getTitle(player.getName(), 2) + "§f" + "\"");
  159. getServer().dispatchCommand(getServer().getConsoleSender(), "ntea retag " + player.getName());
  160. getServer().dispatchCommand(getServer().getConsoleSender(), "protocoltags retag " + player.getName());
  161. }
  162. if (getTitle(player.getName(), 3) != null && event.getCurrentItem().getItemMeta().getLore().contains("§7Третий"))
  163. {
  164. getServer().dispatchCommand(getServer().getConsoleSender(), "lp user " + player.getName() + " meta removesuffix "+ numb);
  165. getServer().dispatchCommand(getServer().getConsoleSender(), "lp user " + player.getName() + " meta addsuffix " + numb + " \" " + getTitle(player.getName(), 3) + "§f" + "\"");
  166. getServer().dispatchCommand(getServer().getConsoleSender(), "ntea retag " + player.getName());
  167. getServer().dispatchCommand(getServer().getConsoleSender(), "protocoltags retag " + player.getName());
  168. }
  169. if (getTitle(player.getName(), 4) != null && event.getCurrentItem().getItemMeta().getLore().contains("§7Четвертый"))
  170. {
  171. getServer().dispatchCommand(getServer().getConsoleSender(), "lp user " + player.getName() + " meta removesuffix "+ numb);
  172. getServer().dispatchCommand(getServer().getConsoleSender(), "lp user " + player.getName() + " meta addsuffix " + numb + " \" " + getTitle(player.getName(), 4) + "§f" + "\"");
  173. getServer().dispatchCommand(getServer().getConsoleSender(), "ntea retag " + player.getName());
  174. getServer().dispatchCommand(getServer().getConsoleSender(), "protocoltags retag " + player.getName());
  175. }
  176. if (getTitle(player.getName(), 5) != null && event.getCurrentItem().getItemMeta().getLore().contains("§7П'ятий"))
  177. {
  178. getServer().dispatchCommand(getServer().getConsoleSender(), "lp user " + player.getName() + " meta removesuffix "+ numb);
  179. getServer().dispatchCommand(getServer().getConsoleSender(), "lp user " + player.getName() + " meta addsuffix " + numb + " \" " + getTitle(player.getName(), 5) + "§f" + "\"");
  180. getServer().dispatchCommand(getServer().getConsoleSender(), "ntea retag " + player.getName());
  181. getServer().dispatchCommand(getServer().getConsoleSender(), "protocoltags retag " + player.getName());
  182. }
  183. if (getTitle(player.getName(), 6) != null && event.getCurrentItem().getItemMeta().getLore().contains("§7Шестой"))
  184. {
  185. getServer().dispatchCommand(getServer().getConsoleSender(), "lp user " + player.getName() + " meta removesuffix "+ numb);
  186. getServer().dispatchCommand(getServer().getConsoleSender(), "lp user " + player.getName() + " meta addsuffix " + numb + " \" " + getTitle(player.getName(), 6) + "§f" + "\"");
  187. getServer().dispatchCommand(getServer().getConsoleSender(), "ntea retag " + player.getName());
  188. getServer().dispatchCommand(getServer().getConsoleSender(), "protocoltags retag " + player.getName());
  189. }
  190. if (getTitle(player.getName(), 7) != null && event.getCurrentItem().getItemMeta().getLore().contains("§7Седьмой "))
  191. {
  192. getServer().dispatchCommand(getServer().getConsoleSender(), "lp user " + player.getName() + " meta removesuffix "+ numb);
  193. getServer().dispatchCommand(getServer().getConsoleSender(), "lp user " + player.getName() + " meta addsuffix " + numb + " \" " + getTitle(player.getName(), 7) + "§f" + "\"");
  194. getServer().dispatchCommand(getServer().getConsoleSender(), "ntea retag " + player.getName());
  195. getServer().dispatchCommand(getServer().getConsoleSender(), "protocoltags retag " + player.getName());
  196. }
  197. }
  198. }
  199. }
  200.  
  201. public void loadConfig()
  202. {
  203. getConfig().options().copyDefaults(true);
  204. saveConfig();
  205. }
  206.  
  207. public boolean playerExists(String name)
  208. {
  209. try
  210. {
  211. PreparedStatement statement = MySQLWorker.connection228.prepareStatement("SELECT * FROM " + getConfig().getString("MySql.table") + " WHERE PlayerName=?");
  212. statement.setString(1, name);
  213.  
  214. ResultSet results = statement.executeQuery();
  215. if (results.next()) {
  216. return true;
  217. }
  218. }
  219. catch (SQLException e)
  220. {
  221. e.printStackTrace();
  222. }
  223. return false;
  224. }
  225.  
  226. public void createPlayer(String player)
  227. {
  228. try
  229. {
  230. PreparedStatement statement = MySQLWorker.connection228.prepareStatement("SELECT * FROM " + getConfig().getString("MySql.table") + " WHERE PlayerName=?");
  231. statement.setString(1, player);
  232. ResultSet results = statement.executeQuery();
  233. results.next();
  234. if (playerExists(player) != true)
  235. {
  236. PreparedStatement insert = MySQLWorker.connection228.prepareStatement("INSERT INTO " + getConfig().getString("MySql.table") + " (PlayerName,TITLENum) VALUES (?,?)");
  237. insert.setString(1, player);
  238. insert.setInt(2, 1);
  239. insert.executeUpdate();
  240. }
  241. }
  242. catch (SQLException e)
  243. {
  244. e.printStackTrace();
  245. }
  246. }
  247.  
  248. public void updateTitles(String name, String titles, String suffix)
  249. {
  250. try
  251. {
  252. PreparedStatement statement = MySQLWorker.connection228.prepareStatement("UPDATE " + getConfig().getString("MySql.table") + " SET TITLE" + titles + " =? WHERE PlayerName=?");
  253. statement.setString(1, suffix);
  254. statement.setString(2, name);
  255. statement.executeUpdate();
  256. }
  257. catch (SQLException e)
  258. {
  259. e.printStackTrace();
  260. }
  261. }
  262.  
  263. public void updateNumber(String name)
  264. {
  265. try
  266. {
  267. PreparedStatement statement = MySQLWorker.connection228.prepareStatement("UPDATE " + getConfig().getString("MySql.table") + " SET TITLENum =? WHERE PlayerName=?");
  268. statement.setInt(1, getNumber(name) + 1);
  269. statement.setString(2, name);
  270. statement.executeUpdate();
  271. }
  272. catch (SQLException e)
  273. {
  274. e.printStackTrace();
  275. }
  276. }
  277.  
  278. public String getTitle(String name, int title)
  279. {
  280. String gettitle = null;
  281. try
  282. {
  283. PreparedStatement statement = MySQLWorker.connection228.prepareStatement("SELECT * FROM " + getConfig().getString("MySql.table") + " WHERE PlayerName=?");
  284. statement.setString(1, name);
  285. ResultSet results = statement.executeQuery();
  286. results.next();
  287. gettitle = results.getString("TITLE" + title);
  288. }
  289. catch (SQLException e)
  290. {
  291. e.printStackTrace();
  292. }
  293. return gettitle;
  294. }
  295.  
  296. public int getNumber(String name)
  297. {
  298. int gettitle = 0;
  299. try
  300. {
  301. PreparedStatement statement = MySQLWorker.connection228.prepareStatement("SELECT * FROM " + getConfig().getString("MySql.table") + " WHERE PlayerName=?");
  302. statement.setString(1, name);
  303. ResultSet results = statement.executeQuery();
  304. results.next();
  305. gettitle = results.getInt("TITLENum");
  306. }
  307. catch (SQLException e)
  308. {
  309. e.printStackTrace();
  310. }
  311. return gettitle;
  312. }
  313. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement