Advertisement
Guest User

Untitled

a guest
Apr 29th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. public HashMap<String, String> requests = new HashMap<String, String>();
  2.  
  3. @EventHandler
  4. public void onQuit(PlayerQuitEvent event) {
  5. Player player = event.getPlayer();
  6. if (requests.containsKey(player.getName().toLowerCase())) {
  7. requests.remove(player.getName().toLowerCase());
  8. }
  9. }
  10.  
  11. @Override
  12. public boolean onCommand(CommandSender sender, Command cmd, String lb, String[] args) {
  13. if (command.getName().equalsIgnoreCase("tele")) {
  14. if (!(sender.hasPermission("tele.tele") || sender.isOp())) {
  15. sender.sendMessage("§cVocê não tem acesso a esse comando!");
  16. } else if (!(sender instanceof Player)) {
  17. sender.sendMessage("§cSomente jogadores podem usar esse comando!");
  18. } else if (args.length == 0) {
  19. sender.sendMessage("§6[Servidor] §aComandos:");
  20. sender.sendMessage(" §6/tele enviar: §eEnvia um pedido de teleporte.");
  21. sender.sendMessage(" §6/tele aceitar: §eAceita um pedido de teleporte.");
  22. sender.sendMessage(" §6/tele negar: §eNega um pedido de teleporte.");
  23. } else if (args[0].equalsIgnoreCase("enviar")) {
  24. if (!(sender.hasPermission("tele.enviar") || sender.isOp())) {
  25. sender.sendMessage("§cVocê não tem acesso a esse comando!");
  26. } else if (args.length != 2) {
  27. sender.sendMessage("§6[Servidor] §cUse: /tele enviar <jogador>");
  28. } else if (Bukkit.getServer().getPlayerExact(args[1]) == null) {
  29. sender.sendMessage("§cJogador não encontrado!");
  30. } else if (requests.containsKey(sender.getName().toLowerCase())) {
  31. sender.sendMessage("§cVocê já tem um pedido de teleporte pendente, aguarde até que ele seja aceito ou negado!");
  32. } else if (sender.getName().toLowerCase().equals(args[1].toLowerCase())) {
  33. sender.sendMessage("§cVocê não pode enviar um pedido de teleporte para sí mesmo!");
  34. } else {
  35. final Player player = (Player) sender;
  36. final Player referido = Bukkit.getServer().getPlayerExact(args[1]);
  37. requests.put(player.getName().toLowerCase(), referido.getName().toLowerCase());
  38. player.sendMessage("§ePedido de teleporte enviado para §6" + referido.getName() + "§e!");
  39. referido.sendMessage("§6" + player.getName() + " §equer se teleportar até você!");
  40. referido.sendMessage("§ePara aceitar, digite: §6/tele aceitar " + player.getName());
  41. new BukkitRunnable() {
  42. @Override
  43. public void run() {
  44. requests.remove(player.getName().toLowerCase());
  45. }
  46. }.runTaskLater(20 * 10, this);
  47. }
  48. } else if (args[0].equalsIgnoreCase("aceitar")) {
  49. if (!(sender.hasPermission("tele.aceitar") || sender.isOp())) {
  50. sender.sendMessage("§cVocê não tem acesso a esse comando!");
  51. } else if (args.length != 2) {
  52. sender.sendMessage("§6[Servidor] §cUse: /tele aceitar <jogador>");
  53. } else if (Bukkit.getServer().getPlayerExact(args[1]) == null) {
  54. sender.sendMessage("§cJogador não encontrado!");
  55. } else if (!requests.containsKey(args[1].toLowerCase()) || !requests.get(args[1].toLowerCase()).equals(sender.getName().toLowerCase())) {
  56. sender.sendMessage("§cEsse jogador não pediu para se teleportar até você!");
  57. } else if (sender.getName().toLowerCase().equals(args[1].toLowerCase())) {
  58. sender.sendMessage("§cEsse jogador é você!");
  59. } else {
  60. Player player = (Player) sender;
  61. Player referido = Bukkit.getServer().getPlayerExact(args[1]);
  62. requests.remove(referido.getName().toLowerCase());
  63. player.sendMessage("§eVocê aceitou o pedido de teleporte de §6" + referido.getName() + "§e!");
  64. referido.sendMessage("§6" + player.getName() + " §eaceitou seu pedido de teleporte!");
  65. referido.teleport(player);
  66. }
  67. } else if (args[0].equalsIgnoreCase("negar")) {
  68. if (!(sender.hasPermission("tele.negar") || sender.isOp())) {
  69. sender.sendMessage("§cVocê não tem acesso a esse comando!");
  70. } else if (args.length != 2) {
  71. sender.sendMessage("§6[Servidor] §cUse: /tele negar<jogador>");
  72. } else if (Bukkit.getServer().getPlayerExact(args[1]) == null) {
  73. sender.sendMessage("§cJogador não encontrado!");
  74. } else if (!requests.containsKey(args[1].toLowerCase()) || !requests.get(args[1].toLowerCase()).equals(sender.getName().toLowerCase())) {
  75. sender.sendMessage("§cEsse jogador não pediu para se teleportar até você!");
  76. } else if (sender.getName().toLowerCase().equals(args[1].toLowerCase())) {
  77. sender.sendMessage("§cEsse jogador é você!");
  78. } else {
  79. Player player = (Player) sender;
  80. Player referido = Bukkit.getServer().getPlayerExact(args[1]);
  81. requests.remove(referido.getName().toLowerCase());
  82. player.sendMessage("§eVocê negou o pedido de teleporte de §6" + referido.getName() + "§e!");
  83. referido.sendMessage("§6" + player.getName() + " §enegou seu pedido de teleporte!");
  84. }
  85. } else {
  86. sender.sendMessage("§6[Servidor] §cUse: /tele")
  87. }
  88. }
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement