SHOW:
|
|
- or go back to the newest paste.
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.contains(player.getName().toLowerCase())) { |
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.contains(sender.getName().toLowerCase())) { |
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 (!requests.get(args[1].toLowerCase()).equals(sender.getName().toLowerCase())) { |
53 | + | |
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 (!requests.get(args[1].toLowerCase()).equals(sender.getName().toLowerCase())) { |
70 | + | |
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 | } |