@Override public boolean onCommand( final CommandSender sender, final Command command, final String label, final String[] args) { if (command.getName().equalsIgnoreCase("setpos")) { if (sender.hasPermission("commandtp.admin")) { if (args.length >= 2) // setpos nome=1 comando=2 { String msg = ""; for (final String s : args) { if (!msg.isEmpty()) { msg += " "; } msg += s; } final Matcher m = Main.regex.matcher(msg); if (m.find()) { final String nome = m.group(1); final String comando = m.group(2).replaceAll("[^a-zá-úÁ-ÚA-Z0-9_-]", "").toLowerCase().trim(); if (comando.isEmpty()) { comando.isEmpty(); sender.sendMessage( ChatColor.translateAlternateColorCodes( '&', Main.data.getString("mensagens.heltopic_empty"))); return false; } else { final int id = Main.data.getConfigurationSection("poses").getKeys(false).size(); for (final String key : Main.data.getConfigurationSection("poses").getKeys(false)) { final String n = Main.data.getString("poses." + key + ".nome"); final String c = Main.data.getString("poses." + key + ".cmd"); if (n.toLowerCase().equalsIgnoreCase(nome) || c.toLowerCase().trim().equalsIgnoreCase(comando.toLowerCase().trim())) { Main.data.set("poses." + key, null); sender.sendMessage("§7Removendo valor obsoleto.."); try { Main.warps.get(Integer.parseInt(key)).unregister(Warp.cmap); } catch (final Exception e) { } } } final Location pos = ((Player) sender).getLocation(); final Warp warp = new Warp(nome, Framework.fromLocation(pos), comando); warp.register(); Main.warps.put(id + 1, warp); Main.data.set("poses." + (id + 1) + ".nome", warp.nome); Main.data.set("poses." + (id + 1) + ".pos", warp.pos); Main.data.set("poses." + (id + 1) + ".cmd", warp.cmd); try { Main.data.save(new File(this.getDataFolder(), "data.yml")); } catch (final IOException e) { e.printStackTrace(); } sender.sendMessage( ChatColor.translateAlternateColorCodes( '&', Main.data.getString("mensagens.pos_added").replace("{nome}", nome))); this.getLogger().info("Registrando teleporte ['" + nome + "']: /" + comando); return true; } } else { sender.sendMessage( ChatColor.translateAlternateColorCodes( '&', Main.data.getString("mensagens.helptopic"))); return false; } } else { sender.sendMessage( ChatColor.translateAlternateColorCodes( '&', Main.data.getString("mensagens.helptopic"))); return false; } } else { sender.sendMessage( ChatColor.translateAlternateColorCodes( '&', Main.data.getString("mensagens.permissão_admin"))); } } else if (command.getName().equalsIgnoreCase("delpos")) { if (sender.hasPermission("commandtp.admin")) { if (args.length == 1) // delpos id { try { final int id = Integer.parseInt(args[0]); Main.data.set("poses." + id, null); try { Main.data.save(new File(this.getDataFolder(), "data.yml")); sender.sendMessage( ChatColor.translateAlternateColorCodes( '&', Main.data.getString("mensagens.pos_removed"))); } catch (final IOException e) { e.printStackTrace(); } } catch (final NumberFormatException nfe) { sender.sendMessage( ChatColor.translateAlternateColorCodes( '&', Main.data.getString("mensagens.pos_remove_nfe"))); } } else { sender.sendMessage( ChatColor.translateAlternateColorCodes( '&', Main.data.getString("mensagens.pos_remove_nfe"))); } } else { sender.sendMessage( ChatColor.translateAlternateColorCodes( '&', Main.data.getString("mensagens.permissão_admin"))); } } else if (command.getName().equalsIgnoreCase("poses")) { if (sender.hasPermission("commandtp.admin")) { boolean empty = true; for (final String s : Main.data.getConfigurationSection("poses").getKeys(false)) { empty = false; sender.sendMessage( "§7» Nome: \"§6" + Main.data.getString("poses." + s + ".nome") + "§7\" Comando: \"§6" + Main.data.getString("poses." + s + ".cmd") + "§7\" ID: §6" + s); } if (empty) { sender.sendMessage("§7Não há nenhuma posição marcada."); } } else { sender.sendMessage( ChatColor.translateAlternateColorCodes( '&', Main.data.getString("mensagens.permissão_admin"))); } } return false; }