Advertisement
Guest User

Untitled

a guest
Jul 31st, 2016
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 51.83 KB | None | 0 0
  1. package me.LordCarlosMP.LigaMW;
  2. import java.sql.Connection;
  3. import java.sql.DriverManager;
  4. import java.sql.ResultSet;
  5. import java.sql.SQLException;
  6. import java.sql.Statement;
  7. import java.util.Arrays;
  8. import org.bukkit.Bukkit;
  9. import org.bukkit.entity.Player;
  10. import org.bukkit.event.EventHandler;
  11. import org.bukkit.event.Listener;
  12. import org.bukkit.event.inventory.InventoryClickEvent;
  13. import org.bukkit.inventory.Inventory;
  14. import org.bukkit.inventory.ItemStack;
  15. import org.bukkit.inventory.meta.ItemMeta;
  16. import org.bukkit.ChatColor;
  17. import org.bukkit.DyeColor;
  18. import org.bukkit.Material;
  19. import org.bukkit.command.Command;
  20. import org.bukkit.command.CommandSender;
  21. import org.bukkit.event.EventPriority;
  22. import org.bukkit.inventory.meta.SkullMeta;
  23. import org.bukkit.plugin.java.JavaPlugin;
  24. import me.LordCarlosMP.LigaMW.SearchGUI.AnvilClickEvent;
  25. public class Main extends JavaPlugin implements Listener {
  26. private static Main instance;
  27. private String _usuario="root";
  28. private String _pwd= "Chispas96";
  29. private static String _bd="LigaMW";
  30. static String _url = "jdbc:mysql://localhost/"+_bd;
  31. private Connection conn = null;
  32. ResultSet rs = null;
  33. Statement cmd = null;
  34. public static Inventory open;
  35. int MW = 35;
  36. @Override
  37. public void onEnable()
  38. {
  39. instance = this;
  40. getLogger().info("Buscando drivers para MySQL...");
  41. try {
  42. Class.forName("com.mysql.jdbc.Driver").newInstance();
  43. getLogger().info("Drivers encontrados");
  44.  
  45. } catch (Exception e) {
  46.  
  47. System.out.println(e.toString());
  48.  
  49. }
  50. try {
  51. getLogger().info("Conectandose a la base de datos "+_url+" . . .");
  52. conn = (Connection)DriverManager.getConnection(_url, _usuario, _pwd);
  53. if(conn != null)
  54. {
  55. getLogger().info("Conectado");
  56. getLogger().info("Todo Correcto");
  57. }
  58. } catch (SQLException ex) {
  59. getLogger().info("No se ha podido conectar a la base de datos "+ex.getMessage());
  60. }
  61. getServer().getPluginManager().registerEvents(this, this);
  62. }
  63. @Override
  64. public void onDisable()
  65. {
  66. getLogger().info("se acabo");
  67.  
  68. try {
  69. if(conn!=null && !conn.isClosed()){
  70. conn.close();
  71. }
  72. }catch(Exception e){
  73. e.printStackTrace();
  74.  
  75. }
  76. }
  77. @SuppressWarnings("deprecation")
  78. @Override
  79. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
  80. if (cmd.getName().equalsIgnoreCase("posiciones")) {
  81. if (args.length == 0) {
  82. clanList(sender);
  83. }
  84. }
  85. if (cmd.getName().equalsIgnoreCase("ascender")) {
  86. if (args.length == 1) {
  87. if(isInWorld(sender.getName())){
  88. if(isInWorld(args[0])){
  89. if(getClan(sender.getName()).equals(getClan(args[0]))){
  90. if(getRango(sender.getName())>2){
  91. if(getRango(args[0])<3){
  92. Player p = Bukkit.getServer().getPlayer(args[0]);
  93. if(getRango(args[0])==1)
  94. {
  95. sender.sendMessage(ChatColor.AQUA+"Has ascendido a veternano a "+p.getName());
  96. setRango(args[0],2);
  97. if(p!=null){
  98. p.sendMessage(ChatColor.AQUA+"Has sido ascendido a veternano");
  99. }
  100. }else if(getRango(args[0])==2)
  101. {
  102. sender.sendMessage(ChatColor.AQUA+"Has ascendido a Sub-lider a "+p.getName());
  103. setRango(p.getName(),3);
  104. if(p!=null){
  105. p.sendMessage(ChatColor.AQUA+"Has sido ascendido a Sub-lider");
  106. }
  107. }
  108.  
  109. }else{
  110. Player p = Bukkit.getServer().getPlayer(args[0]);
  111. if(getRango(sender.getName())==9){
  112. sender.sendMessage(ChatColor.DARK_PURPLE+""+p.getName()+ChatColor.RED+" ya es sublider, si le quieres dejar a el de lider y quedarte como sublider, usa "+ChatColor.GREEN+"/lider "+p.getName());
  113. }else{sender.sendMessage(ChatColor.RED+"No puedes ascender mas a "+p.getName());
  114. }
  115. }
  116. }else{sender.sendMessage(ChatColor.RED+"Necesitas ser lider o sublider para ascender miembros");}
  117. }else{sender.sendMessage(ChatColor.RED+"Ese jugador no esta en tu clan");}
  118. }else{sender.sendMessage(ChatColor.RED+"Ese jugador no esta en ningun clan");}
  119. }else{sender.sendMessage(ChatColor.RED+"Necesitas estar en algun clan para eso");}
  120. }
  121. return false;
  122. }
  123. if (cmd.getName().equalsIgnoreCase("degradar")) {
  124. if (args.length == 1) {
  125. if(isInWorld(sender.getName())){
  126. Player p = Bukkit.getServer().getPlayer(args[0]);
  127. if(isInWorld(args[0])){
  128. if(getClan(sender.getName()).equals(getClan(args[0]))){
  129. if(getRango(sender.getName())>2){
  130. if(getRango(args[0])<3||getRango(sender.getName())==9){
  131. if(getRango(args[0])==1)
  132. {
  133. sender.sendMessage(ChatColor.AQUA+"Ese jugador es miembro, no lo puedes degradar mas");
  134. }else if(getRango(args[0])==2)
  135. {
  136. sender.sendMessage(ChatColor.AQUA+"has degradado a Miembro a "+args[0]);
  137. setRango(args[0],1);
  138. if(p!=null){
  139. p.sendMessage(ChatColor.AQUA+"Has sido degradado a Miembro");
  140. }
  141. }
  142. else if(getRango(args[0])==3)
  143. {
  144. sender.sendMessage(ChatColor.AQUA+"has degradado a Veterano a "+args[0]);
  145. setRango(p.getName(),2);
  146. if(p!=null){
  147. p.sendMessage(ChatColor.AQUA+"Has sido degradado a Veterano");
  148. }
  149. }else{sender.sendMessage(ChatColor.YELLOW+"Degradarse a uno mismo, a quien se le ocurre...");}
  150.  
  151. }else{
  152. sender.sendMessage(ChatColor.RED+"No puedes degradar a "+args[0]+" el tambien es sublider");
  153.  
  154.  
  155. }
  156. }else{sender.sendMessage(ChatColor.RED+"Necesitas ser lider o sublider para degradar miembros");}
  157. }else{sender.sendMessage(ChatColor.RED+"Ese jugador no esta en tu clan");}
  158. }else{sender.sendMessage(ChatColor.RED+"Ese jugador no esta en ningun clan");}
  159. }else{sender.sendMessage(ChatColor.RED+"Necesitas estar en algun clan para eso");}
  160. }
  161. return false;
  162. }
  163. if (cmd.getName().equalsIgnoreCase("lider")) {
  164. if (args.length == 1) {
  165. if(isInWorld(sender.getName())){
  166. if(isInWorld(args[0])){
  167. if(getClan(sender.getName()).equals(getClan(args[0]))){
  168. if(getRango(sender.getName())==9){
  169. if(sender.getName().equalsIgnoreCase(args[0])){
  170.  
  171.  
  172. setRango(sender.getName(),3);
  173. setRango(args[0],9);
  174. String c = getClan(args[0]);
  175. for(Player pl:Bukkit.getOnlinePlayers()){
  176. if(!pl.getName().equals(args[0])){
  177. if(getClan(pl.getName()).equals(c)){
  178. pl.sendMessage(ChatColor.GREEN+"El nuevo lider es: "+ChatColor.AQUA+args[0]);
  179. }
  180. }else{
  181. Player p = Bukkit.getServer().getPlayer(args[0]);
  182. if(p!=null){
  183.  
  184. p.sendMessage(ChatColor.GREEN+"Eres el nuevo lider de "+ChatColor.BLUE+getClan(args[0]));
  185. }
  186. }
  187. }
  188. sender.sendMessage(ChatColor.AQUA+"Ya no eres mas lider..., el nuevo lider es: "+args[0]);
  189. }else{sender.sendMessage(ChatColor.GREEN+"el nuevo lider es "+ChatColor.DARK_PURPLE+args[0]+ChatColor.GREEN+" el cual ya era lider antes.");}
  190. }else{sender.sendMessage(ChatColor.RED+"Necesitas ser el lider para pasar el lidereazgo del clan");}
  191. }else{sender.sendMessage(ChatColor.RED+"Ese jugador no esta en tu clan");}
  192. }else{sender.sendMessage(ChatColor.RED+"Ese jugador no esta en ningun clan");}
  193. }else{sender.sendMessage(ChatColor.RED+"Necesitas ser el lider de algun clan para eso");}
  194. }
  195. return false;
  196. }
  197. if (cmd.getName().equalsIgnoreCase("salir")) {
  198. if (args.length == 0) {
  199. if(isInWorld(sender.getName())){
  200. if(getRango(sender.getName())!=9){
  201.  
  202. String c = getClan(sender.getName());
  203. Eliminar(getClan(sender.getName()),sender.getName());
  204. sender.sendMessage(ChatColor.AQUA+"Has salido de "+c);
  205. for(Player pl:Bukkit.getOnlinePlayers()){
  206. if(isInClan(c, pl.getName())){
  207. pl.sendMessage(ChatColor.GREEN+"El jugador "+ChatColor.DARK_PURPLE+""+sender.getName()+ChatColor.GREEN+" ha salido del clan");
  208. }
  209. }
  210. }else{
  211. sender.sendMessage(ChatColor.RED+"No puedes irte del clan si eres el lider, deja a otro de lider con "+ChatColor.DARK_PURPLE+"/lider nick"+ChatColor.RED+" o borra el clan con "+ChatColor.DARK_PURPLE+"/borrar");
  212. }
  213. }else{
  214. sender.sendMessage(ChatColor.RED+"No estas en ningun clan");
  215. }
  216. }
  217. return false;
  218. }
  219. if (cmd.getName().equalsIgnoreCase("expulsar")) {
  220. if (args.length == 1) {
  221. if(isInWorld(sender.getName())){
  222. if(getRango(sender.getName())>2){
  223. if(getRango(args[0])<3||getRango(sender.getName())==9){
  224. if(getClan(sender.getName()).equals(getClan(args[0]))){
  225. Eliminar(getClan(sender.getName()),args[0]);
  226. Player p = Bukkit.getServer().getPlayer(args[0]);
  227. if(p!=null){p.sendMessage(ChatColor.GREEN+"El jugador "+ChatColor.DARK_PURPLE+sender.getName()+ChatColor.GREEN+" te ha expulsado del clan");}
  228. for(Player pl:Bukkit.getOnlinePlayers()){
  229.  
  230. pl.sendMessage(ChatColor.GREEN+"El jugador "+ChatColor.DARK_PURPLE+sender.getName()+ChatColor.GREEN+" expulsado del clan a "+ChatColor.YELLOW+args[0]);
  231. }
  232. }else{sender.sendMessage(ChatColor.GREEN+"El jugador "+args[0]+" no esta en tu clan");}
  233. }else{sender.sendMessage(ChatColor.DARK_PURPLE+args[0]+ChatColor.RED+" es sublider, no le puedes expulsar");}
  234. }else{
  235. sender.sendMessage(ChatColor.RED+"Necesitas un ascenso para hacer eso");}
  236. }else{
  237. sender.sendMessage(ChatColor.RED+"No estas en ningun clan");
  238. }
  239. }
  240. return false;
  241. }
  242. if (cmd.getName().equalsIgnoreCase("invitar")) {
  243. if (args.length == 1) {
  244. // if(getCantidad(getClan(sender.getName()))>49){
  245. // sender.sendMessage(ChatColor.DARK_RED+"EL maximo de miembros es 50");
  246. //return false;
  247. // }
  248. if(isInWorld(sender.getName())){
  249. if(getRango(sender.getName())>1){
  250. if(Bukkit.getServer().getPlayer(args[0])!=null){
  251. Player p =Bukkit.getServer().getPlayer(args[0]);
  252. if(!isInWorld(p.getName())){
  253. open = Bukkit.createInventory(Bukkit.getServer().getPlayer(args[0]), 27, "§2 Aceptas entrar a "+getClan(sender.getName())+"?");
  254. ItemStack si = new ItemStack(Material.STAINED_CLAY, 1, DyeColor.GREEN.getData());
  255. ItemStack no = new ItemStack(Material.STAINED_CLAY, 1, DyeColor.RED.getData());
  256. ItemStack clan = new ItemStack(Material.STAINED_CLAY, 1, DyeColor.WHITE.getData());
  257. ItemMeta sim = si.getItemMeta();
  258. ItemMeta nom = no.getItemMeta();
  259. ItemMeta clanm = clan.getItemMeta();
  260. sim.setDisplayName("§aSi");
  261. nom.setDisplayName("§4No");
  262. clanm.setDisplayName(getClan(sender.getName()));
  263. clanm.setLore(Arrays.asList(new String[] { "§bSigla: "+getClan(sender.getName()), "§a§lNombre: "+getName(getClan(sender.getName())), "§5§lPuntuacion: "+getPuntuacion(getClan(sender.getName())), "§4§lNumero de Miembros: "+getCantidad(getClan(sender.getName())) }));
  264. si.setItemMeta(sim);
  265. no.setItemMeta(nom);
  266. clan.setItemMeta(clanm);
  267. open.setItem(11, si);
  268. open.setItem(15, no);
  269. open.setItem(22, clan);
  270. Bukkit.getServer().getPlayer(args[0]).openInventory(open);
  271. sender.sendMessage(ChatColor.AQUA+"has invitado a "+p.getName()+" a "+getClan(sender.getName()));
  272. }else{
  273. sender.sendMessage(ChatColor.RED+"ese jugador ya esta en un clan, en "+getClan(p.getName()));
  274. }
  275. }else{
  276. sender.sendMessage(ChatColor.RED+"ese jugador no esta conectado");
  277. }
  278. }else{
  279. sender.sendMessage(ChatColor.RED+"tu no puedes hacer eso, necesitas un ascenso");
  280. }
  281. }else{
  282. sender.sendMessage(ChatColor.RED+"Necesitas estar en un clan para invitar a un jugador");
  283. }
  284. }else{
  285. sender.sendMessage(ChatColor.RED+"uso incorrecto,"+ChatColor.GREEN+" se usa asi: "+ChatColor.DARK_PURPLE+"/invitar nick,"+ChatColor.GREEN+" ej: "+ChatColor.DARK_PURPLE+"/invitar "+sender.getName());
  286. }
  287. return false;
  288. }
  289. if (cmd.getName().equalsIgnoreCase("crear")) {
  290. String nombre = "";
  291. if (args.length > 1) {
  292. for(int i=1;i<args.length;i++){
  293. nombre = nombre +" "+ args[i];
  294. }
  295. if(!isInWorld(sender.getName())){
  296. if(!clanExists(args[0])){
  297. if(args[0].length()<7){
  298. if(nombre.length()<41){
  299. nuevoClan(args[0],nombre, sender.getName());
  300.  
  301. }else{
  302. sender.sendMessage(ChatColor.RED+"el nombre no puede ser de mas de 40 caracteres");
  303. }
  304. }else{
  305. sender.sendMessage(ChatColor.RED+"La abreviatura no puede ser de mas de 6 caracteres");
  306. }
  307. }else{
  308. sender.sendMessage(ChatColor.RED+"Ese clan ya existe");
  309. }
  310. }else{
  311. sender.sendMessage(ChatColor.RED+"NO puedes crear un clan si ya estas en uno");
  312. }
  313. }
  314. return false;
  315. }
  316. if (cmd.getName().equalsIgnoreCase("borrar")) {
  317. if (args.length == 1) {
  318. if(sender.hasPermission("clanes.admin")){
  319. borrarClan(args[0]);
  320. sender.sendMessage(ChatColor.GREEN+"----------------------------------");
  321. sender.sendMessage(ChatColor.DARK_RED+"Dale Lord!!!!! "+ChatColor.GREEN+"Clan borrado, el nombre ");
  322. sender.sendMessage(ChatColor.GREEN+args[0]+" queda libre por orden del señor.");
  323. sender.sendMessage(ChatColor.GREEN+"----------------------------------");
  324. }else{sender.sendMessage("No tienes permiso para hacer eso, para borrar tu clan usa solo "+ChatColor.DARK_PURPLE+"/borrar");}
  325. }
  326. if (args.length == 0) {
  327. if(isInWorld(sender.getName())){
  328. if(getRango(sender.getName()) == 9){
  329. String clan = getClan(sender.getName());
  330. borrarClan(getClan(sender.getName()));
  331. for(Player pl:Bukkit.getOnlinePlayers()){
  332. if(isInClan(clan, pl.getName())){
  333. pl.sendMessage(ChatColor.GREEN+"----------------------------------");
  334. pl.sendMessage(ChatColor.GREEN+"Clan borrado... El nombre "+ChatColor.DARK_PURPLE+clan+ChatColor.GREEN+" queda libre.");
  335. pl.sendMessage(ChatColor.GREEN+"----------------------------------");
  336. }
  337. }
  338. }else{sender.sendMessage(ChatColor.RED+"Solo el lider puede hacer eso");}
  339. }else{sender.sendMessage(ChatColor.RED+"Necesitas estar en un clan Y ser su lider para hacer eso");}
  340. }
  341. return false;
  342. }
  343. if (cmd.getName().equalsIgnoreCase("pruebaxt")) {
  344. if (args.length == 0) {
  345.  
  346. openMenuGeneral(Bukkit.getServer().getPlayer(sender.getName()));
  347. }
  348. return false;
  349. }
  350. return true;
  351. }
  352.  
  353. public void clanList(CommandSender sender){
  354. try {
  355. int f =0;
  356. cmd = conn.createStatement();
  357. rs = cmd.executeQuery("SELECT COUNT(*) FROM Clanes WHERE puntuacion1 > 0 OR puntuacion2 > 0 OR puntuacion3 > 0 OR puntuacion4 > 0 OR puntuacion5 > 0 OR puntuacion6 > 0 OR puntuacion7 > 0 OR puntuacion8 > 0 ");
  358. while (rs.next()) {
  359. f = rs.getInt(1);
  360. }
  361. rs.close();
  362. String[] Sarreglo = new String[f];
  363. int[] arreglo = new int[f];
  364. int i =0;
  365. cmd = conn.createStatement();
  366. rs = cmd.executeQuery("SELECT sigla,puntuacion1,puntuacion2,puntuacion3,puntuacion4,puntuacion5,puntuacion6,puntuacion7,puntuacion8 FROM Clanes");
  367. while (rs.next()) {
  368. int p = rs.getInt(2)+rs.getInt(3)+rs.getInt(4)+rs.getInt(5)+rs.getInt(6)+rs.getInt(7)+rs.getInt(8)+rs.getInt(9);
  369. if(p>0){
  370. Sarreglo[i] = rs.getString(1);
  371. arreglo[i] = p;
  372. i++;
  373. }
  374. }
  375. rs.close();
  376. for (int j = 0; j < f; j++) {//algoritmo de ordenacion Burbuja
  377. for (int k = 0; k < f-1; k++) {
  378. if(arreglo[k]<arreglo[k+1]){
  379.  
  380. int mayor = arreglo[k];
  381. arreglo[k]=arreglo[k+1];
  382. arreglo[k+1]=mayor;
  383.  
  384. String sr = Sarreglo[k];
  385. Sarreglo[k]=Sarreglo[k+1];
  386. Sarreglo[k+1]=sr;
  387.  
  388. }
  389. }
  390. }
  391. for (int l = 0; l < f; l++) {
  392. sender.sendMessage(ChatColor.DARK_GREEN +"Posicion "+ChatColor.RED+""+ChatColor.BOLD + (l+1)+ChatColor.DARK_GREEN +" : "+ChatColor.DARK_PURPLE +Sarreglo[l]+""+ChatColor.DARK_GREEN+" Puntuacion "+ChatColor.DARK_RED+""+ChatColor.BOLD +arreglo[l]);
  393.  
  394. }
  395. }catch(Exception e){
  396. e.printStackTrace();
  397. }
  398. }
  399. public void nuevoClan(String sigla, String nombre, String Lider){
  400. try{
  401. //crea la tabla del clan
  402. cmd = conn.createStatement();
  403. cmd.executeUpdate( "CREATE TABLE "+sigla+" ("
  404. + "nick VARCHAR(20), "
  405. + "rango INT, "
  406. + "titular INT)");
  407. }catch(Exception ex){
  408. return;
  409. }
  410. try{ //registra en el incice clanes
  411. cmd = conn.createStatement();
  412. cmd.executeUpdate("INSERT INTO Clanes VALUES ('"+sigla+"', '"+ nombre+"', "+ 0+", "+0+", "+0+", "+0+", "+0+", "+0+", "+0+", "+0+", "+0+ ")");
  413. cmd.close();
  414. getLogger().info("Clar registrado "+nombre + " " + sigla +"-"+ 0 +"-"+0);
  415. Player p = Bukkit.getServer().getPlayer(Lider);
  416. if(p!=null){
  417. p.sendMessage(ChatColor.GREEN+"Clan creado: "+sigla+": "+nombre);
  418. }
  419. }catch(SQLException ex){
  420. return;
  421.  
  422. }
  423. try{
  424.  
  425. //introduce al lider como lider
  426. cmd = conn.createStatement();
  427. cmd.executeUpdate("INSERT INTO "+sigla+" VALUES ('"+Lider+"', "+ 9+", "+1+")");
  428. cmd.close();
  429.  
  430. }catch(Exception ex){
  431. }
  432. }
  433. public void borrarClan(String sigla){
  434. try{
  435. //borra la tabla del clan
  436. cmd = conn.createStatement();
  437. cmd.executeUpdate("DROP TABLE "+sigla);
  438. }catch(SQLException ex){
  439.  
  440. return;
  441. }
  442. //lo borra en el incice de clanes
  443. try{
  444. cmd = conn.createStatement();
  445. cmd.executeUpdate("DELETE FROM Clanes WHERE sigla = '"+sigla+"'");
  446. cmd.close();
  447. }catch(SQLException ex){
  448. return;
  449. }
  450. }
  451. public boolean isInWorld(String nombre){
  452. int clanes = 0;
  453. try {
  454. //cuenta los clanes
  455. cmd = conn.createStatement();
  456. rs = cmd.executeQuery("SELECT COUNT(*) FROM Clanes");
  457. rs.next();
  458. clanes = rs.getInt(1);
  459. String Sclanes[] = new String[clanes];
  460. rs.close();
  461.  
  462. // mete sus siglas en la String[]
  463. cmd = conn.createStatement();
  464. rs = cmd.executeQuery("SELECT sigla FROM Clanes");
  465. int u = 0;
  466. while (rs.next()) {
  467. Sclanes[u] = rs.getString("sigla");
  468. u++;
  469. }
  470. rs.close();
  471.  
  472. //busca el nick en los clanes
  473. for(int i = 0;i < clanes;i++){
  474. cmd = conn.createStatement();
  475. rs = cmd.executeQuery("SELECT nick FROM "+Sclanes[i]+" WHERE nick ='"+nombre+"'");
  476. while (rs.next()) {
  477. return true;
  478.  
  479. }
  480. rs.close();
  481. }
  482.  
  483. }catch(Exception e){
  484. e.printStackTrace();
  485. }
  486. return false;
  487. }
  488. public boolean isInClan(String clan, String nombre){
  489. try {
  490.  
  491. cmd = conn.createStatement();
  492. rs = cmd.executeQuery("SELECT nick FROM "+clan);
  493. while (rs.next()) {
  494. if(rs.getString("nick").equals(nombre)){
  495. return true;
  496. }
  497. }
  498. rs.close();
  499.  
  500. }catch(Exception e){
  501. e.printStackTrace();
  502. }
  503. return false;
  504. }
  505. public String[] Miembros(String clan){
  506. int i =0;
  507. String[] Miembros = new String[getCantidad(clan)];
  508. try{
  509. rs = cmd.executeQuery("SELECT nick FROM "+clan);
  510. while(rs.next()){
  511. Miembros[i]=rs.getString(1);
  512. i++;
  513. }
  514.  
  515. }catch(Exception e){
  516. e.printStackTrace();
  517. }
  518.  
  519. return Miembros;
  520. }
  521. public String[] MiembrosT(String clan){
  522. int i =0;
  523. String[] Miembros = new String[getCantidadW(clan)];
  524. try{
  525. rs = cmd.executeQuery("SELECT nick FROM "+clan+" WHERE titular = 1");
  526. while(rs.next()){
  527. Miembros[i]=rs.getString(1);
  528. i++;
  529. }
  530.  
  531. }catch(Exception e){
  532. e.printStackTrace();
  533. }
  534.  
  535. return Miembros;
  536. }
  537. public String[] MiembrosNT(String clan){
  538. int i =0;
  539. String[] Miembros = new String[getCantidadNW(clan)];
  540. try{
  541. rs = cmd.executeQuery("SELECT nick FROM "+clan+" WHERE titular = 0");
  542. while(rs.next()){
  543. Miembros[i]=rs.getString(1);
  544. i++;
  545. }
  546.  
  547. }catch(Exception e){
  548. e.printStackTrace();
  549. }
  550.  
  551. return Miembros;
  552. }
  553. public void Anadir(String sigla, String nombre){
  554. try{
  555.  
  556. cmd = conn.createStatement();
  557. cmd.executeUpdate("INSERT INTO "+sigla+" VALUES ('"+nombre+"', "+ 1+", "+0+")");
  558. cmd.close();
  559.  
  560. }catch(Exception ex){
  561. }
  562. }
  563. public void Eliminar(String sigla, String nombre){
  564. try{
  565. cmd = conn.createStatement();
  566. cmd.executeUpdate("DELETE FROM "+sigla+" WHERE nick = '"+nombre+"'");
  567. cmd.close();
  568.  
  569. }catch(Exception ex){
  570.  
  571. }
  572. }
  573. public int getPuntuacion(String clan){
  574. int puntuacion=0;
  575. try {
  576. cmd = conn.createStatement();
  577. rs = cmd.executeQuery("SELECT sigla, puntuacion1, puntuacion2, puntuacion3, puntuacion4, puntuacion5, puntuacion6, puntuacion7, puntuacion8 FROM Clanes");
  578. while (rs.next()) {
  579. if(rs.getString("sigla").equals(clan)){
  580. puntuacion = rs.getInt("puntuacion1")+rs.getInt("puntuacion2")+rs.getInt("puntuacion3")+rs.getInt("puntuacion4")+rs.getInt("puntuacion5")+rs.getInt("puntuacion6")+rs.getInt("puntuacion7")+rs.getInt("puntuacion8");
  581. }
  582. }
  583. rs.close();
  584.  
  585. }catch(Exception e){
  586.  
  587. e.printStackTrace();
  588. }
  589. return puntuacion;
  590. }
  591. public void setPuntuacion(String clan, int puntuacion){
  592. int p1 =0;
  593. int p2 =0;
  594. int p3 =0;
  595. int p4 =0;
  596. int p5 =0;
  597. int p6= 0;
  598. int p7 =0;
  599.  
  600. try {
  601. cmd = conn.createStatement();
  602. rs = cmd.executeQuery("SELECT sigla, puntuacion1, puntuacion2, puntuacion3, puntuacion4, puntuacion5, puntuacion6, puntuacion7 FROM Clanes WHERE sigla = '"+clan+"'");
  603. while (rs.next()) {
  604. p1 = rs.getInt(2);
  605. p2 = rs.getInt(3);
  606. p3 = rs.getInt(4);
  607. p4 = rs.getInt(5);
  608. p5 = rs.getInt(6);
  609. p6 = rs.getInt(7);
  610. p7 = rs.getInt(8);
  611. }
  612. rs.close();
  613. cmd.close();
  614. }catch(SQLException e){
  615. e.printStackTrace();
  616. }
  617. try {
  618. cmd = conn.createStatement();
  619. cmd.executeUpdate("UPDATE Clanes SET puntuacion1 = "+puntuacion+",puntuacion2 = "+p1+",puntuacion3 = "+p2+",puntuacion4 = "+p3+",puntuacion5 = "+p4+",puntuacion6 = "+p5+",puntuacion7 = "+p6+",puntuacion8 = "+p7+" WHERE sigla='"+clan+"'");
  620. }catch(SQLException e){
  621. e.printStackTrace();
  622. }
  623. }
  624. public void resetPuntuacion(String clan){
  625. int p1 =0;
  626. int p2 =0;
  627. int p3 =0;
  628. int p4 =0;
  629. int p5 =0;
  630. int p6= 0;
  631. int p7 =0;
  632. try {
  633. cmd = conn.createStatement();
  634. cmd.executeUpdate("UPDATE Clanes SET puntuacion1 = "+0+",puntuacion2 = "+p1+",puntuacion3 = "+p2+",puntuacion4 = "+p3+",puntuacion5 = "+p4+",puntuacion6 = "+p5+",puntuacion7 = "+p6+",puntuacion8 = "+p7+" WHERE sigla='"+clan+"'");
  635. }catch(SQLException e){
  636. e.printStackTrace();
  637. }
  638. }
  639. public void Paticipa(String clan){
  640. try {
  641. cmd = conn.createStatement();
  642. cmd.executeUpdate("UPDATE Clanes SET participa = "+1+" WHERE sigla='"+clan+"'");
  643. }catch(SQLException e){;
  644. e.printStackTrace();
  645. }
  646. }
  647. public void noPaticipa(String clan){
  648. try {
  649. cmd = conn.createStatement();
  650. cmd.executeUpdate("UPDATE Clanes SET participa = "+0+" WHERE sigla='"+clan+"'");
  651. }catch(SQLException e){
  652. e.printStackTrace();
  653. }
  654. }
  655. public void setTitular(String clan, String nick){
  656. try {
  657. cmd = conn.createStatement();
  658. cmd.executeUpdate("UPDATE "+clan+" SET titular = "+1+" WHERE nick='"+nick+"'");
  659. }catch(SQLException e){
  660. e.printStackTrace();
  661. }
  662. }
  663. public void unsetTitular(String clan, String nick){
  664. try {
  665. cmd = conn.createStatement();
  666. cmd.executeUpdate("UPDATE "+clan+" SET titular = "+0+" WHERE nick='"+nick+"'");
  667. }catch(SQLException e){
  668. e.printStackTrace();
  669. }
  670. }
  671. public boolean isTitular(String clan, String nick){
  672. try {
  673. cmd = conn.createStatement();
  674. rs = cmd.executeQuery("SELECT titular FROM "+clan+" WHERE nick ='"+nick+"'");
  675. while(rs.next()){
  676. if(rs.getInt(1)==1){
  677. return true;
  678. }else{
  679. return false;
  680. }
  681. }
  682.  
  683. }catch(SQLException e){
  684. e.printStackTrace();
  685. }
  686. return false;
  687. }
  688. public void setRango(String nick, int rango){
  689. int clanes = 0;
  690. try {
  691. //cuenta los clanes
  692. cmd = conn.createStatement();
  693. rs = cmd.executeQuery("SELECT sigla FROM Clanes");
  694. while (rs.next()) {
  695. clanes++;
  696. }
  697. rs.close();
  698. String Sclanes[] = new String[clanes];
  699.  
  700.  
  701.  
  702. // mete sus siglas en la String[]
  703. cmd = conn.createStatement();
  704. rs = cmd.executeQuery("SELECT sigla FROM Clanes");
  705. int u = 0;
  706. while (rs.next()) {
  707. Sclanes[u] = rs.getString("sigla");
  708. u++;
  709. }
  710. rs.close();
  711. cmd.close();
  712. //cambia el rango
  713. for(int i = 0;i < clanes;i++){
  714. cmd = conn.createStatement();
  715. rs = cmd.executeQuery("SELECT nick FROM "+Sclanes[i]+" WHERE nick ='"+nick+"'");
  716. while (rs.next()) {
  717. cmd.close();
  718. cmd = conn.createStatement();
  719. cmd.executeUpdate("UPDATE "+Sclanes[i]+" SET rango = "+rango+" WHERE nick='"+nick+"'");
  720. cmd.close();
  721. rs.close();
  722. return;
  723. }
  724. rs.close();
  725. cmd.close();
  726. }
  727. }catch(Exception e){
  728. e.printStackTrace();
  729. }
  730. }
  731. public int getRango(String nick){
  732. int r =0;
  733. try {
  734. String Sclanes[] = new String[cuentaClanes()];
  735. // mete sus siglas en la String[]
  736. cmd = conn.createStatement();
  737. rs = cmd.executeQuery("SELECT sigla FROM Clanes");
  738. int u = 0;
  739. while (rs.next()) {
  740. Sclanes[u] = rs.getString(1);
  741. u++;
  742. }
  743. rs.close();
  744. for(int i = 0;i < cuentaClanes();i++){
  745. cmd = conn.createStatement();
  746. rs = cmd.executeQuery("SELECT rango FROM "+Sclanes[i]+" WHERE nick ='"+nick+"'");
  747. while (rs.next()) {
  748. r = rs.getInt(1);
  749. cmd.close();
  750. rs.close();
  751. return r;
  752. }
  753. rs.close();
  754. cmd.close();
  755. }
  756. }catch(Exception e){
  757. e.printStackTrace();
  758. }
  759. return r;
  760. }
  761. public String getLider(String clan){
  762. try{
  763. cmd = conn.createStatement();
  764. rs = cmd.executeQuery("SELECT nick,rango FROM "+clan+" WHERE rango =9");
  765. while (rs.next()){
  766.  
  767. String p = rs.getString(1);
  768. cmd.close();
  769. rs.close();
  770. return p;
  771. }
  772. rs.close();
  773. cmd.close();
  774.  
  775. }catch(Exception e){
  776. e.printStackTrace();
  777. }
  778. return "";
  779. }
  780. public String getClan(String nombre){
  781. try {
  782. int clanes = cuentaClanes();
  783. String Sclanes[] = new String[cuentaClanes()];
  784. // mete sus siglas en la String[]
  785. cmd = conn.createStatement();
  786. rs = cmd.executeQuery("SELECT sigla FROM Clanes");
  787. int u = 0;
  788. while (rs.next()) {
  789. Sclanes[u] = rs.getString("sigla");
  790. u++;
  791. }
  792. rs.close();
  793. //busca el nick en los clanes
  794. for(int i = 0;i < clanes;i++){
  795. cmd = conn.createStatement();
  796. rs = cmd.executeQuery("SELECT nick FROM "+Sclanes[i]+" WHERE nick ='"+nombre+"'");
  797. if(rs.next()) {
  798. rs.close();
  799. return Sclanes[i];
  800. }
  801. rs.close();
  802. }
  803. }catch(Exception e){
  804. e.printStackTrace();
  805. }
  806. return "";
  807. }
  808. public void cambiarNombre(String clan, String nuevo){
  809. try {
  810. cmd = conn.createStatement();
  811. cmd.executeUpdate("UPDATE Clanes SET sigla = "+nuevo+" WHERE sigla='"+clan+"'");
  812. }catch(SQLException e){
  813. e.printStackTrace();
  814. }
  815. }
  816. public void cambiarDescripcion(String vieja, String nueva){
  817. try {
  818. cmd = conn.createStatement();
  819. cmd.executeUpdate("UPDATE Clanes SET nombre = "+nueva+" WHERE nombre='"+vieja+"'");
  820. }catch(SQLException e){
  821. e.printStackTrace();
  822. }
  823. }
  824. public boolean clanExists(String clan){
  825. try {
  826. cmd = conn.createStatement();
  827. rs = cmd.executeQuery("SELECT * FROM "+clan);
  828. return true;
  829. }catch(SQLException e){
  830. return false;
  831. }
  832. }
  833. public String getName(String clan){
  834. try {
  835. cmd = conn.createStatement();
  836. rs = cmd.executeQuery("SELECT nombre FROM Clanes WHERE sigla ='"+clan+"'");
  837. while(rs.next()){
  838. return rs.getString(1);
  839. }
  840. }catch(SQLException e){
  841.  
  842. }
  843. return "";
  844. }
  845. public int getCantidad(String clan){
  846. int c =0;
  847. try {
  848. cmd = conn.createStatement();
  849. rs = cmd.executeQuery("SELECT COUNT(*) FROM "+clan);
  850. while (rs.next()) {
  851. c = rs.getInt(1);
  852. }
  853.  
  854. rs.close();
  855. }catch(Exception e){
  856. e.printStackTrace();
  857. }
  858. return c;
  859. }
  860. public Boolean isInCW(String clan){
  861.  
  862. try {
  863. cmd = conn.createStatement();
  864. rs = cmd.executeQuery("SELECT participa FROM Clanes WHERE sigla ='"+clan+"'");
  865. while (rs.next()) {
  866. if(rs.getInt(1)==2){
  867. return true;
  868. }
  869. }
  870.  
  871. rs.close();
  872. }catch(Exception e){
  873. e.printStackTrace();
  874. }
  875. return false;
  876. }
  877. public int getCantidadW(String clan){
  878. int c =0;
  879. try {
  880. cmd = conn.createStatement();
  881. rs = cmd.executeQuery("SELECT COUNT(*) FROM "+clan+" WHERE titular = 1 ");
  882. while (rs.next()) {
  883. c = rs.getInt(1);
  884. }
  885.  
  886. rs.close();
  887. }catch(Exception e){
  888. e.printStackTrace();
  889. }
  890. return c;
  891. }
  892. public int getCantidadNW(String clan){
  893. int c =0;
  894. try {
  895. cmd = conn.createStatement();
  896. rs = cmd.executeQuery("SELECT COUNT(*) FROM "+clan+" WHERE titular = 0 ");
  897. while (rs.next()) {
  898. c = rs.getInt(1);
  899. }
  900.  
  901. rs.close();
  902. }catch(Exception e){
  903. e.printStackTrace();
  904. }
  905. return c;
  906. }
  907. public int cuentaClanes(){
  908. int c =0;
  909. try {
  910. cmd = conn.createStatement();
  911. rs = cmd.executeQuery("SELECT COUNT(*) FROM Clanes");
  912. while (rs.next()) {
  913. c = rs.getInt(1);
  914. }
  915.  
  916. rs.close();
  917. }catch(Exception e){
  918. e.printStackTrace();
  919. }
  920. return c;
  921. }
  922. // Menus
  923.  
  924.  
  925. @SuppressWarnings("deprecation")
  926. public void openMenuGeneral(Player sender){
  927. int r = getRango(sender.getName());
  928. String nombre= sender.getName();
  929. if(!isInWorld(nombre)){
  930. //Anvil
  931. try{
  932. SearchGUI gui = new SearchGUI(sender, new SearchGUI.AnvilClickEventHandler(){
  933. @Override
  934. public void onAnvilClick(AnvilClickEvent event){
  935. if(event.getSlot() == SearchGUI.AnvilSlot.OUTPUT){
  936. event.setWillClose(true);
  937. event.setWillDestroy(true);
  938.  
  939. } else {
  940. event.setWillClose(false);
  941. event.setWillDestroy(false);
  942. }
  943. }
  944. });
  945. ItemStack Miembros = new ItemStack(Material.STAINED_CLAY, 1, DyeColor.GREEN.getData());
  946. ItemMeta Miembrosm = Miembros.getItemMeta();
  947. Miembrosm.setDisplayName(ChatColor.GREEN+"Sigla? ej: RP");
  948. Miembros.setItemMeta(Miembrosm);
  949. gui.setSlot(SearchGUI.AnvilSlot.INPUT_LEFT, Miembros);
  950.  
  951. gui.open();
  952. }catch(Exception ex){
  953. getLogger().info("Greshka");
  954. }
  955. try{
  956. SearchGUI gui = new SearchGUI(sender, new SearchGUI.AnvilClickEventHandler(){
  957. @Override
  958. public void onAnvilClick(AnvilClickEvent event){
  959. if(event.getSlot() == SearchGUI.AnvilSlot.OUTPUT){
  960. event.setWillClose(true);
  961. event.setWillDestroy(true);
  962.  
  963. } else {
  964. event.setWillClose(false);
  965. event.setWillDestroy(false);
  966. }
  967. }
  968. });
  969. ItemStack Miembros = new ItemStack(Material.STAINED_CLAY, 1, DyeColor.BLUE.getData());
  970. ItemMeta Miembrosm = Miembros.getItemMeta();
  971. Miembrosm.setDisplayName(ChatColor.AQUA+"Nombre? ej: Re Pros");
  972. Miembros.setItemMeta(Miembrosm);
  973. gui.setSlot(SearchGUI.AnvilSlot.INPUT_LEFT, Miembros);
  974.  
  975. gui.open();
  976. }catch(Exception ex){
  977. getLogger().info("Greshka");
  978. }
  979. return;
  980.  
  981.  
  982.  
  983. //sino, abre el menu
  984. }else{
  985.  
  986.  
  987. open = Bukkit.createInventory(Bukkit.getServer().getPlayer(nombre), 27, "§2Clan §5"+getClan(sender.getName()));
  988. ItemStack Miembros = new ItemStack(Material.STAINED_CLAY, 1, DyeColor.GREEN.getData());
  989. ItemMeta Miembrosm = Miembros.getItemMeta();
  990. Miembrosm.setDisplayName(ChatColor.GREEN+"Miembros");
  991. Miembrosm.setLore(Arrays.asList(new String[] { "§bAsciende, degrada o expulsa miembros" }));
  992. Miembros.setItemMeta(Miembrosm);
  993. ItemStack head1 = new ItemStack(Material.SKULL_ITEM, 1,(short) 3);
  994. SkullMeta head1m = (SkullMeta) head1.getItemMeta();
  995. head1m.setDisplayName("§bLider: §5"+getLider(getClan(sender.getName())));
  996. String owner = getLider(getClan(sender.getName()));
  997. head1m.setOwner(owner);
  998. head1.setItemMeta(head1m);
  999. if(r==9){
  1000. ItemStack Borrar = new ItemStack(Material.LAVA_BUCKET);
  1001. ItemMeta Borrarm = Borrar.getItemMeta();
  1002. Borrarm.setDisplayName(ChatColor.GREEN+"Borrar");
  1003. Borrarm.setLore(Arrays.asList(new String[] { "§bBorra el clan" }));
  1004. Borrar.setItemMeta(Borrarm);
  1005. open.setItem(22, Borrar);
  1006. }else{
  1007. ItemStack Salir = new ItemStack(Material.WOOD_DOOR, 1);
  1008. ItemMeta Salirm = Salir.getItemMeta();
  1009. Salirm.setDisplayName(ChatColor.GREEN+"Salir del clan");
  1010. Salirm.setLore(Arrays.asList(new String[] { "§bAbandona "+getClan(sender.getName()) }));
  1011. Salir.setItemMeta(Salirm);
  1012. open.setItem(22, Salir);
  1013. }
  1014. if(r>2){
  1015. ItemStack Whitelist = new ItemStack(Material.STAINED_CLAY, 1, DyeColor.WHITE.getData());
  1016. ItemMeta Whitelistm = Whitelist.getItemMeta();
  1017. Whitelistm.setDisplayName(ChatColor.GREEN+"Whitelist");
  1018. Whitelistm.setLore(Arrays.asList(new String[] { "§bMira los jugadores que estan en la Whitelist" }));
  1019. Whitelist.setItemMeta(Whitelistm);
  1020. open.setItem(15, Whitelist);
  1021. }
  1022. open.setItem(4, head1);
  1023. open.setItem(11, Miembros);
  1024. Bukkit.getServer().getPlayer(sender.getName()).openInventory(open);
  1025. open= null;
  1026. }
  1027. }
  1028. public void openMiembros(Player p){
  1029. String nombre= p.getName();
  1030. open = Bukkit.createInventory(p, 54, "§2Miembros de §5"+getClan(nombre));
  1031. String [] mie = Miembros(getClan(nombre));
  1032. for(int i=0;i<mie.length;i++){
  1033. int rang = getRango(mie [i]);
  1034. String rango="";
  1035. if(rang==1){
  1036. rango = "§aRango: §6Miembro";
  1037. }
  1038. else if(rang==2){
  1039. rango = "§aRango: §2Veternano";
  1040. }
  1041.  
  1042. else if(rang==3){
  1043. rango = "§aRango: §bSub-Lider";
  1044.  
  1045. }else{
  1046. rango = "§aRango: §4Lider";
  1047. }
  1048. ItemStack head1 = new ItemStack(Material.SKULL_ITEM, 1,(short) 3);
  1049. SkullMeta head1m = (SkullMeta) head1.getItemMeta();
  1050. head1m.setDisplayName(mie [i]);
  1051. head1m.setOwner(mie [i]);
  1052. head1m.setLore(Arrays.asList(new String[] { rango,"coso" }));
  1053. head1.setItemMeta(head1m);
  1054. open.setItem(i, head1);
  1055. }
  1056. p.openInventory(open);
  1057. open= null;
  1058. }
  1059. @SuppressWarnings("deprecation")
  1060. public void openConfirmar(Player p){
  1061. String nombre= p.getName();
  1062. open = Bukkit.createInventory(p, 27, "§2Seguro que quieres borrar §5"+getClan(nombre)+"?");
  1063. ItemStack si = new ItemStack(Material.STAINED_CLAY, 1, DyeColor.GREEN.getData());
  1064. ItemStack no = new ItemStack(Material.STAINED_CLAY, 1, DyeColor.RED.getData());
  1065. ItemMeta sim = si.getItemMeta();
  1066. ItemMeta nom = no.getItemMeta();
  1067. sim.setDisplayName("§aSi");
  1068. nom.setDisplayName("§4No");
  1069. si.setItemMeta(sim);
  1070. no.setItemMeta(nom);
  1071. open.setItem(11, si);
  1072. open.setItem(15, no);
  1073. p.openInventory(open);
  1074. open= null;
  1075. }
  1076. @SuppressWarnings("deprecation")
  1077. public void openWhite(Player p){
  1078. String nombre= p.getName();
  1079. open = Bukkit.createInventory(p, 54, "§2Whitelist de §5"+getClan(nombre));
  1080. String [] mW = MiembrosT(getClan(nombre));
  1081. String [] mNW = MiembrosNT(getClan(nombre));
  1082. ItemStack Degradar = new ItemStack(Material.STAINED_CLAY, 1, DyeColor.GREEN.getData());
  1083. ItemMeta dm = Degradar.getItemMeta();
  1084. dm.setDisplayName(ChatColor.GREEN+"Los que estan");
  1085. Degradar.setItemMeta(dm);
  1086. open.setItem(0, Degradar);
  1087. int i = 1;
  1088. for(int u =0;u<mW.length;u++){
  1089. ItemStack head1 = new ItemStack(Material.SKULL_ITEM, 1,(short) 3);
  1090. SkullMeta head1m = (SkullMeta) head1.getItemMeta();
  1091. head1m.setDisplayName(mW [u]);
  1092. head1m.setOwner(mW [u]);
  1093. head1m.setLore(Arrays.asList(new String[] { "Click para sacar de la whitelist"}));
  1094. head1.setItemMeta(head1m);
  1095. open.setItem(i, head1);
  1096. i++;
  1097. }
  1098. ItemStack NE = new ItemStack(Material.STAINED_CLAY, 1, DyeColor.RED.getData());
  1099. ItemMeta NEm = Degradar.getItemMeta();
  1100. NEm.setDisplayName(ChatColor.RED+"Los que no estan");
  1101. NE.setItemMeta(NEm);
  1102. open.setItem(i, NE);
  1103. i++;
  1104. for(int u =0;u<mNW.length;u++){
  1105. ItemStack head1 = new ItemStack(Material.SKULL_ITEM, 1,(short) 3);
  1106. SkullMeta head1m = (SkullMeta) head1.getItemMeta();
  1107. head1m.setDisplayName(mNW [u]);
  1108. head1m.setOwner(mNW [u]);
  1109. head1m.setLore(Arrays.asList(new String[] { "Click para meter en la whitelist"}));
  1110. head1.setItemMeta(head1m);
  1111. open.setItem(i, head1);
  1112. i++;
  1113.  
  1114. }
  1115. p.openInventory(open);
  1116. open= null;
  1117. }
  1118. @SuppressWarnings("deprecation")
  1119. public void openMiembro(Player p,String NMiembro){
  1120.  
  1121. String nombre = p.getName();
  1122. int rangm = getRango(NMiembro);
  1123. int rang = getRango(p.getName());
  1124. if(rang<3){
  1125. p.closeInventory();
  1126. openMenuGeneral(p);
  1127. return;
  1128. }
  1129. open = Bukkit.createInventory(p, 27, "§2Opciones de "+NMiembro);
  1130. String rango="";
  1131. if(rangm==1){
  1132. rango = "§aRango: §6Miembro";
  1133. }
  1134. else if(rangm==2){
  1135. rango = "§aRango: §2Veternano";
  1136. }
  1137.  
  1138. else if(rangm==3){
  1139. rango = "§aRango: §bSub-Lider";
  1140.  
  1141. }else{
  1142. rango = "§aRango: §4Lider";
  1143. }
  1144. String l;
  1145. if(isTitular(getClan(nombre),NMiembro)){
  1146. l= "§2Si";
  1147. ItemStack sip = new ItemStack(Material.STAINED_CLAY, 1, DyeColor.GREEN.getData());
  1148. ItemMeta sipm = sip.getItemMeta();
  1149. sipm.setDisplayName(ChatColor.GREEN+"Esta en la Whitelist");
  1150. sipm.setLore(Arrays.asList(new String[] { "§bClic para sacar a "+NMiembro+" de la WL "}));
  1151. sip.setItemMeta(sipm);
  1152. open.setItem(15, sip);
  1153. }else{
  1154. l= "§4No";
  1155. ItemStack nop = new ItemStack(Material.STAINED_CLAY, 1, DyeColor.RED.getData());
  1156. ItemMeta nopm = nop.getItemMeta();
  1157. nopm.setDisplayName(ChatColor.RED+"No esta en la Whitelist");
  1158. nopm.setLore(Arrays.asList(new String[] { "§bClic para meter a "+NMiembro+" en la WL "}));
  1159. nop.setItemMeta(nopm);
  1160. open.setItem(15, nop);
  1161. }
  1162. ItemStack head1 = new ItemStack(Material.SKULL_ITEM, 1,(short) 3);
  1163. SkullMeta head1m = (SkullMeta) head1.getItemMeta();
  1164. head1m.setDisplayName(NMiembro);
  1165. head1m.setOwner(NMiembro);
  1166. head1m.setLore(Arrays.asList(new String[] { rango,"§bParticipa: "+l }));
  1167. head1.setItemMeta(head1m);
  1168. open.setItem(4, head1);
  1169. if(rangm==1||rang==9&&(rangm==2)){
  1170. ItemStack as = new ItemStack(Material.SKULL_ITEM, 1,(short) 3);
  1171. SkullMeta asm = (SkullMeta)as.getItemMeta();
  1172. asm.setDisplayName(ChatColor.GREEN+"Ascender ");
  1173. asm.setLore(Arrays.asList(new String[] { "§bAsciende a "+NMiembro }));
  1174. asm.setOwner("MHF_ArrowUp");
  1175. as.setItemMeta(asm);
  1176. open.setItem(12, as);
  1177. }
  1178. if(rangm==2||rang==9&&(rangm==2||rangm==3)){
  1179. ItemStack asi = new ItemStack(Material.SKULL_ITEM, 1,(short) 3);
  1180. SkullMeta asim = (SkullMeta)asi.getItemMeta();
  1181. asim.setDisplayName(ChatColor.RED+"Degradar ");
  1182. asim.setLore(Arrays.asList(new String[] { "§cDegrada a "+NMiembro }));
  1183. asim.setOwner("MHF_ArrowDown");
  1184. asi.setItemMeta(asim);
  1185. open.setItem(14, asi);
  1186. }
  1187. if(rang == 9&&rangm!=9){
  1188. ItemStack lider = new ItemStack(Material.DIAMOND_SWORD, 1, DyeColor.RED.getData());
  1189. ItemMeta liderm = lider.getItemMeta();
  1190. liderm.setDisplayName(ChatColor.RED+"Hacer Lider");
  1191. liderm.setLore(Arrays.asList(new String[] { "§bCede el liderazgo a "+NMiembro }));
  1192. lider.setItemMeta(liderm);
  1193. open.setItem(22, lider);
  1194. }
  1195. if(rangm<3||rang==9&&rangm!=9){
  1196. ItemStack fus = new ItemStack(Material.TRAP_DOOR);
  1197. ItemMeta fusm = fus.getItemMeta();
  1198. fusm.setDisplayName(ChatColor.RED+"Expulsar");
  1199. fusm.setLore(Arrays.asList(new String[] { "§bExpulsa a "+NMiembro }));
  1200. fus.setItemMeta(fusm);
  1201. open.setItem(26, fus);
  1202. }
  1203. p.openInventory(open);
  1204. }
  1205. // ----------------------------------------------------------
  1206. // ------------------ Los Eventos ---------------------------
  1207. //-----------------------------------------------------------
  1208. @EventHandler(priority = EventPriority.LOWEST)
  1209. public void onEnderChestClickEvent(InventoryClickEvent e)
  1210. {
  1211. try{
  1212. if (e.getWhoClicked() instanceof Player)
  1213. {
  1214. Player p = (Player)e.getWhoClicked();
  1215. if (!e.getInventory().getName().contains("entrar")&&!e.getInventory().getName().contains("Clan")&&!e.getInventory().getName().contains("Seguro")&&!e.getInventory().getName().contains("Opciones")&&!e.getInventory().getName().contains("Miembros")&&!e.getInventory().getName().contains("Whitelist")) {
  1216. return;
  1217. }else{
  1218. if(e.getCurrentItem()==null){
  1219. return;
  1220. }
  1221. if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Si")&&e.getInventory().getName().contains("entrar"))
  1222. {
  1223. Anadir(e.getInventory().getItem(22).getItemMeta().getDisplayName(),p.getName());
  1224. e.setCancelled(true);
  1225. p.closeInventory();
  1226. String c = getClan(p.getName());
  1227. for(Player pl:Bukkit.getOnlinePlayers()){
  1228. if(isInClan(c, pl.getName())){
  1229. pl.sendMessage(ChatColor.GREEN+"El jugador "+ChatColor.DARK_PURPLE+""+p.getName()+ChatColor.GREEN+" ha entrado al clan");
  1230. }
  1231. }
  1232. return;
  1233. }
  1234. else if (e.getCurrentItem().getItemMeta().getDisplayName().contains("No")&&e.getInventory().getName().contains("entrar"))
  1235. {
  1236. e.setCancelled(true);
  1237. p.closeInventory();
  1238. return;
  1239. }
  1240. else if (e.getInventory().getName().contains("Seguro"))
  1241. {
  1242. if(e.getCurrentItem().getItemMeta().getDisplayName().contains("Si")){
  1243. e.setCancelled(true);
  1244. p.closeInventory();
  1245. String c =getClan(p.getName());
  1246. for(String s:Miembros(getClan(p.getName()))){
  1247. Player pl = Bukkit.getServer().getPlayer(s);
  1248. if(pl!= null){
  1249. pl.sendMessage(ChatColor.GREEN+"----------------------------------");
  1250. pl.sendMessage(ChatColor.GREEN+"Clan borrado... El nombre "+ChatColor.DARK_PURPLE+c+ChatColor.GREEN+" queda libre.");
  1251. pl.sendMessage(ChatColor.GREEN+"----------------------------------");
  1252. }
  1253. }
  1254. borrarClan(getClan(p.getName()));
  1255.  
  1256. }else{
  1257. e.setCancelled(true);
  1258. p.closeInventory();
  1259. openMenuGeneral(p);
  1260. }
  1261. return;
  1262. }
  1263. else if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Miembros"))
  1264. {
  1265. e.setCancelled(true);
  1266. p.closeInventory();
  1267. openMiembros(p);
  1268. }
  1269. else if (e.getCurrentItem().getType() == Material.SKULL_ITEM && e.getInventory().getName().contains("Miembros"))
  1270. {
  1271. p.closeInventory();
  1272. openMiembro(p,e.getCurrentItem().getItemMeta().getDisplayName());
  1273. }
  1274. else if (e.getCurrentItem().getType() == Material.SKULL_ITEM && e.getInventory().getName().contains("Whitelist"))
  1275. {
  1276. if(!isTitular(getClan(p.getName()),e.getCurrentItem().getItemMeta().getDisplayName())){
  1277. if(getCantidadW(getClan(p.getName()))>=MW){
  1278. p.sendMessage(ChatColor.RED+"No puedes meter mas jugadores en la WL, max "+MW);
  1279. }else{
  1280. setTitular(getClan(p.getName()),e.getCurrentItem().getItemMeta().getDisplayName());
  1281. }
  1282. }else{
  1283. unsetTitular(getClan(p.getName()),e.getCurrentItem().getItemMeta().getDisplayName());
  1284. }
  1285.  
  1286. p.closeInventory();
  1287. openWhite(p);
  1288. }
  1289. else if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Whitelist") && e.getInventory().getName().contains("Clan"))
  1290. {
  1291. p.closeInventory();
  1292. openWhite(p);
  1293. }
  1294. else if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Ascender"))
  1295. {
  1296. String args = p.getName();
  1297. String miembro =e.getInventory().getItem(4).getItemMeta().getDisplayName() ;
  1298. Player m = Bukkit.getServer().getPlayer(e.getInventory().getItem(4).getItemMeta().getDisplayName());
  1299. if(getRango(args)>2){
  1300. if(getRango(miembro)<3){
  1301. if(getRango(miembro)==1)
  1302. {
  1303. p.sendMessage(ChatColor.AQUA+"Has ascendido a veternano a "+miembro);
  1304. setRango(miembro,2);
  1305. if(m!=null){
  1306. m.sendMessage(ChatColor.AQUA+"Has sido ascendido a veternano");
  1307. }
  1308. }else if
  1309. (getRango(miembro)==2)
  1310. {
  1311. p.sendMessage(ChatColor.AQUA+"Has ascendido a Sub-lider a "+miembro);
  1312. setRango(miembro,3);
  1313. if(m!=null){
  1314. m.sendMessage(ChatColor.AQUA+"Has sido ascendido a Sub-lider");
  1315. }
  1316. }
  1317.  
  1318. }else{
  1319. if(getRango(args)==9){
  1320. p.sendMessage(ChatColor.DARK_PURPLE+""+p.getName()+ChatColor.RED+" ya es sublider, si le quieres dejar a el de lider y quedarte como sublider, usa "+ChatColor.GREEN+"/lider "+miembro);
  1321. }else{p.sendMessage(ChatColor.RED+"No puedes ascender a "+miembro);
  1322. }
  1323. }
  1324. }else{
  1325. p.sendMessage(ChatColor.RED+"Necesitas ser lider o sublider para ascender miembros");
  1326. }
  1327. p.closeInventory();
  1328. openMenuGeneral(p);
  1329. }else if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Borrar"))
  1330. {
  1331. e.setCancelled(true);
  1332. p.closeInventory();
  1333. openConfirmar(p);
  1334. }
  1335. else if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Salir"))
  1336. {
  1337. String c = getClan(p.getName());
  1338. for(Player pl:Bukkit.getOnlinePlayers()){
  1339. if(isInClan(c, pl.getName())){
  1340. pl.sendMessage(ChatColor.DARK_PURPLE+p.getName()+ChatColor.GREEN+" ha salido del clan");
  1341. }
  1342. }
  1343. p.closeInventory();
  1344. Eliminar(getClan(p.getName()),p.getName());
  1345. }
  1346. else if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Whitelist"))
  1347. {
  1348. p.closeInventory();
  1349. String args = p.getName();
  1350. String miembro =e.getInventory().getItem(4).getItemMeta().getDisplayName() ;
  1351. if(e.getCurrentItem().getItemMeta().getDisplayName().contains("No")){
  1352. if(getCantidadW(getClan(p.getName()))>=MW){
  1353. p.sendMessage(ChatColor.RED+"No puedes meter mas jugadores en la WL, max "+MW);
  1354. }else{
  1355. setTitular(getClan(args),miembro);
  1356. p.sendMessage(ChatColor.GREEN+"Has metido a "+ChatColor.DARK_PURPLE+miembro +ChatColor.GREEN+ " en la whitelist");
  1357. }
  1358. }else{
  1359. p.sendMessage(ChatColor.GREEN+" has sacado a "+ChatColor.DARK_PURPLE+miembro+ChatColor.GREEN+" de la whitelist");
  1360. unsetTitular(getClan(args),miembro);
  1361. }
  1362. openMiembros(p);
  1363. }
  1364. else if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Hacer"))
  1365. {
  1366. e.setCancelled(true);
  1367. p.closeInventory();
  1368. String args = p.getName();
  1369. String miembro =e.getInventory().getItem(4).getItemMeta().getDisplayName() ;
  1370. Player m = Bukkit.getServer().getPlayer(e.getInventory().getItem(4).getItemMeta().getDisplayName());
  1371. m.sendMessage(ChatColor.GREEN+"Eres el nuevo lider de "+getClan(miembro));
  1372. p.sendMessage(ChatColor.GREEN+"Ya no eres lider");
  1373. setRango(args,3);
  1374. setRango(miembro,9);
  1375. openMenuGeneral(p);
  1376. }
  1377. else if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Degradar"))
  1378. {
  1379. p.closeInventory();
  1380. String args = p.getName();
  1381. String miembro =e.getInventory().getItem(4).getItemMeta().getDisplayName() ;
  1382. Player m = Bukkit.getServer().getPlayer(e.getInventory().getItem(4).getItemMeta().getDisplayName());
  1383. if(getRango(miembro)<3||getRango(args)==9){
  1384. if(getRango(miembro)==1)
  1385. {
  1386. p.sendMessage(ChatColor.AQUA+"Ese jugador es miembro, no lo puedes degradar mas");
  1387. }else if(getRango(miembro)==2)
  1388. {
  1389. p.sendMessage(ChatColor.AQUA+"has degradado a Miembro a "+miembro);
  1390. setRango(miembro,1);
  1391. if(m!=null){
  1392. m.sendMessage(ChatColor.AQUA+"Has sido degradado a Miembro");
  1393. }
  1394. }
  1395. else if(getRango(miembro)==3)
  1396. {
  1397. p.sendMessage(ChatColor.AQUA+"has degradado a Veterano a "+miembro);
  1398. setRango(miembro,2);
  1399. if(m!=null){
  1400. m.sendMessage(ChatColor.AQUA+"Has sido degradado a Veterano");
  1401. }
  1402. }else{p.sendMessage(ChatColor.YELLOW+"Degradarse a uno mismo, q quien se le ocurre...");}
  1403.  
  1404. }else{
  1405. if(getRango(args)==9){
  1406. p.sendMessage(ChatColor.RED+"No puedes degradar a otro sublider");
  1407. }else{p.sendMessage(ChatColor.RED+"No puedes ascender a "+miembro);
  1408. }
  1409.  
  1410.  
  1411. }
  1412. openMenuGeneral(p);
  1413.  
  1414. }
  1415. else if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Expulsar"))
  1416. {
  1417. p.closeInventory();
  1418. String m = e.getInventory().getItem(4).getItemMeta().getDisplayName();
  1419. for(String s:Miembros(getClan(p.getName()))){
  1420. Player pl = Bukkit.getServer().getPlayer(s);
  1421. if(pl!=null){
  1422. pl.sendMessage(ChatColor.DARK_PURPLE+m+ChatColor.GREEN+" ha sido expulsado del clan.");
  1423. pl=null;
  1424. }
  1425. }
  1426. getLogger().info("si va, mira "+getClan(m)+" y mira "+ m);
  1427. Eliminar(getClan(m),m);
  1428.  
  1429.  
  1430.  
  1431.  
  1432.  
  1433. }
  1434. }
  1435. e.setCancelled(true); }
  1436. }catch(Exception EX){}
  1437. }
  1438. public static Main getInstance() {
  1439. return instance;
  1440. }
  1441. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement