Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public HashMap<String, String> requests = new HashMap<String, String>();
- @EventHandler
- public void onQuit(PlayerQuitEvent event) {
- Player player = event.getPlayer();
- if (requests.containsKey(player.getName().toLowerCase())) {
- requests.remove(player.getName().toLowerCase());
- }
- }
- @Override
- public boolean onCommand(CommandSender sender, Command cmd, String lb, String[] args) {
- if (command.getName().equalsIgnoreCase("tele")) {
- if (!(sender.hasPermission("tele.tele") || sender.isOp())) {
- sender.sendMessage("§cVocê não tem acesso a esse comando!");
- } else if (!(sender instanceof Player)) {
- sender.sendMessage("§cSomente jogadores podem usar esse comando!");
- } else if (args.length == 0) {
- sender.sendMessage("§6[Servidor] §aComandos:");
- sender.sendMessage(" §6/tele enviar: §eEnvia um pedido de teleporte.");
- sender.sendMessage(" §6/tele aceitar: §eAceita um pedido de teleporte.");
- sender.sendMessage(" §6/tele negar: §eNega um pedido de teleporte.");
- } else if (args[0].equalsIgnoreCase("enviar")) {
- if (!(sender.hasPermission("tele.enviar") || sender.isOp())) {
- sender.sendMessage("§cVocê não tem acesso a esse comando!");
- } else if (args.length != 2) {
- sender.sendMessage("§6[Servidor] §cUse: /tele enviar <jogador>");
- } else if (Bukkit.getServer().getPlayerExact(args[1]) == null) {
- sender.sendMessage("§cJogador não encontrado!");
- } else if (requests.containsKey(sender.getName().toLowerCase())) {
- sender.sendMessage("§cVocê já tem um pedido de teleporte pendente, aguarde até que ele seja aceito ou negado!");
- } else if (sender.getName().toLowerCase().equals(args[1].toLowerCase())) {
- sender.sendMessage("§cVocê não pode enviar um pedido de teleporte para sí mesmo!");
- } else {
- final Player player = (Player) sender;
- final Player referido = Bukkit.getServer().getPlayerExact(args[1]);
- requests.put(player.getName().toLowerCase(), referido.getName().toLowerCase());
- player.sendMessage("§ePedido de teleporte enviado para §6" + referido.getName() + "§e!");
- referido.sendMessage("§6" + player.getName() + " §equer se teleportar até você!");
- referido.sendMessage("§ePara aceitar, digite: §6/tele aceitar " + player.getName());
- new BukkitRunnable() {
- @Override
- public void run() {
- requests.remove(player.getName().toLowerCase());
- }
- }.runTaskLater(20 * 10, this);
- }
- } else if (args[0].equalsIgnoreCase("aceitar")) {
- if (!(sender.hasPermission("tele.aceitar") || sender.isOp())) {
- sender.sendMessage("§cVocê não tem acesso a esse comando!");
- } else if (args.length != 2) {
- sender.sendMessage("§6[Servidor] §cUse: /tele aceitar <jogador>");
- } else if (Bukkit.getServer().getPlayerExact(args[1]) == null) {
- sender.sendMessage("§cJogador não encontrado!");
- } else if (!requests.containsKey(args[1].toLowerCase()) || !requests.get(args[1].toLowerCase()).equals(sender.getName().toLowerCase())) {
- sender.sendMessage("§cEsse jogador não pediu para se teleportar até você!");
- } else if (sender.getName().toLowerCase().equals(args[1].toLowerCase())) {
- sender.sendMessage("§cEsse jogador é você!");
- } else {
- Player player = (Player) sender;
- Player referido = Bukkit.getServer().getPlayerExact(args[1]);
- requests.remove(referido.getName().toLowerCase());
- player.sendMessage("§eVocê aceitou o pedido de teleporte de §6" + referido.getName() + "§e!");
- referido.sendMessage("§6" + player.getName() + " §eaceitou seu pedido de teleporte!");
- referido.teleport(player);
- }
- } else if (args[0].equalsIgnoreCase("negar")) {
- if (!(sender.hasPermission("tele.negar") || sender.isOp())) {
- sender.sendMessage("§cVocê não tem acesso a esse comando!");
- } else if (args.length != 2) {
- sender.sendMessage("§6[Servidor] §cUse: /tele negar<jogador>");
- } else if (Bukkit.getServer().getPlayerExact(args[1]) == null) {
- sender.sendMessage("§cJogador não encontrado!");
- } else if (!requests.containsKey(args[1].toLowerCase()) || !requests.get(args[1].toLowerCase()).equals(sender.getName().toLowerCase())) {
- sender.sendMessage("§cEsse jogador não pediu para se teleportar até você!");
- } else if (sender.getName().toLowerCase().equals(args[1].toLowerCase())) {
- sender.sendMessage("§cEsse jogador é você!");
- } else {
- Player player = (Player) sender;
- Player referido = Bukkit.getServer().getPlayerExact(args[1]);
- requests.remove(referido.getName().toLowerCase());
- player.sendMessage("§eVocê negou o pedido de teleporte de §6" + referido.getName() + "§e!");
- referido.sendMessage("§6" + player.getName() + " §enegou seu pedido de teleporte!");
- }
- } else {
- sender.sendMessage("§6[Servidor] §cUse: /tele")
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement