zKingOfKill Postado Janeiro 9, 2017 Denunciar Compartilhar Postado Janeiro 9, 2017 (editado) Pessoal to com uma duvida meio chata, tipo String[] enchantLevels = this.config.getEnchantLevels(ench); List<String> levels = new ArrayList(); for (String enchantLevel : enchantLevels) { enchantLevel = enchantLevel.substring(5); int level = Integer.parseInt(enchantLevel); if (this.permsys.hasEnchantPermission(p, ench, level)) { ItemStack tmp = item.clone(); ItemMeta meta = tmp.getItemMeta(); List<String> lores = new ArrayList(); lores.add(ChatColor.GOLD + "Nivel: " + level); if (!(this.config.getEconomy() instanceof NullPayment)) { int price = this.config.getPrice(ench, level); lores.add(ChatColor.GREEN + "Preço: " + price); } lores.add(ChatColor.GOLD + "Rank necessario: " + level); meta.setLore(lores); tmp.setItemMeta(meta); itemlist.add(tmp); levels.add(enchantLevel); } } Pessoal basicamente esse codigo acima faz isso aqui, que ta no print, sabe essa linha aqui "lores.add(ChatColor.GOLD + "Rank necessario: " + level);" preciso fazer algo que mostre o rank necessario dependendo do nivel exemplo: se for numero 1, mostre o rank necessario novato, e se for 2 mostre membro, se for 3 mostre carvao nao sei se consegui explicar mt bem.. mas espero que tenham entendido.. ja tentei de tudo e nao consigo '-', alguem ajuda? Editado Janeiro 10, 2017 por zKingOfKill Link para o comentário Compartilhar em outros sites More sharing options...
Viiict0r Postado Janeiro 10, 2017 Denunciar Compartilhar Postado Janeiro 10, 2017 Eu quero meio que dar um replace pra substuir o numero (do level) por um nome (que no caso é o nome do rank).. e exibir isso ai nessa linha "lores.add(ChatColor.GOLD + "Rank necessario: " + level);" String[] enchantLevels = this.config.getEnchantLevels(ench); List<String> levels = new ArrayList(); for (String enchantLevel : enchantLevels) { enchantLevel = enchantLevel.substring(5); int level = Integer.parseInt(enchantLevel); if (this.permsys.hasEnchantPermission(p, ench, level)) { ItemStack tmp = item.clone(); ItemMeta meta = tmp.getItemMeta(); List<String> lores = new ArrayList(); lores.add(ChatColor.GOLD + "Nivel: " + level); if (!(this.config.getEconomy() instanceof NullPayment)) { int price = this.config.getPrice(ench, level); lores.add(ChatColor.GREEN + "Preço: " + price); } String level_name = ""; if (level == 1) name = "Novato"; if (level == 2) name = "Básico"; // ... lores.add(ChatColor.GOLD + "Rank necessario: " + level_name); meta.setLore(lores); tmp.setItemMeta(meta); itemlist.add(tmp); levels.add(enchantLevel); } } 1 Link para o comentário Compartilhar em outros sites More sharing options...
Viiict0r Postado Janeiro 10, 2017 Denunciar Compartilhar Postado Janeiro 10, 2017 Você quer pegar o rank necessário através do level? Link para o comentário Compartilhar em outros sites More sharing options...
zKingOfKill Postado Janeiro 10, 2017 Autor Denunciar Compartilhar Postado Janeiro 10, 2017 Você quer pegar o rank necessário através do level? Eu quero meio que dar um replace pra substuir o numero (do level) por um nome (que no caso é o nome do rank).. e exibir isso ai nessa linha "lores.add(ChatColor.GOLD + "Rank necessario: " + level);" Link para o comentário Compartilhar em outros sites More sharing options...
zKingOfKill Postado Janeiro 10, 2017 Autor Denunciar Compartilhar Postado Janeiro 10, 2017 (editado) String[] enchantLevels = this.config.getEnchantLevels(ench); List<String> levels = new ArrayList(); for (String enchantLevel : enchantLevels) { enchantLevel = enchantLevel.substring(5); int level = Integer.parseInt(enchantLevel); if (this.permsys.hasEnchantPermission(p, ench, level)) { ItemStack tmp = item.clone(); ItemMeta meta = tmp.getItemMeta(); List<String> lores = new ArrayList(); lores.add(ChatColor.GOLD + "Nivel: " + level); if (!(this.config.getEconomy() instanceof NullPayment)) { int price = this.config.getPrice(ench, level); lores.add(ChatColor.GREEN + "Preço: " + price); } String level_name = ""; if (level == 1) name = "Novato"; if (level == 2) name = "Básico"; // ... lores.add(ChatColor.GOLD + "Rank necessario: " + level_name); meta.setLore(lores); tmp.setItemMeta(meta); itemlist.add(tmp); levels.add(enchantLevel); } } Funcionou, so que é "lores.add(ChatColor.GOLD + "Rank necessario: " + name); Agora tem outro problema, tipo como são varios encantamentos, definir um level geral nao é mt funcional.. Queria dividir isso ai por encantamentos... tipo se o encantamento for knockback e o nivel for 1 entao exibi um nome em rank necessario, se o encantamento e o numero forem outro entao aparece outro nome.. Editado Janeiro 10, 2017 por zKingOfKill Link para o comentário Compartilhar em outros sites More sharing options...
Trow_Games Postado Janeiro 10, 2017 Denunciar Compartilhar Postado Janeiro 10, 2017 public String getRankForLevel(int level){ // 5 e um exempo, o level voce pega ai da forma que tu ja fez... for(String s:getConfig().getConfigurationSection("Leveis").getKeys(false)){ String levelR = s; // s = Level1,Level2,Level3,etc... // Level = 5 letras, ent removemos o Level e sobra so o level... levelR=levelR.substring(5); int rankParse = Integer.parseInt(levelR); if(level==rankParse){ return getConfig().getString("Leveis.Level"+level+".Rank"); } } /* Na config ficara assim: Leveis: Level1: Rank: "Novado" Level2: Rank: "Membro" * */ return "null"; } Tá ai o método e explicando como por na config também... Qq coisa pergunta 2 Link para o comentário Compartilhar em outros sites More sharing options...
zKingOfKill Postado Janeiro 10, 2017 Autor Denunciar Compartilhar Postado Janeiro 10, 2017 public String getRankForLevel(int level){ // 5 e um exempo, o level voce pega ai da forma que tu ja fez... for(String s:getConfig().getConfigurationSection("Leveis").getKeys(false)){ String levelR = s; // s = Level1,Level2,Level3,etc... // Level = 5 letras, ent removemos o Level e sobra so o level... levelR=levelR.substring(5); int rankParse = Integer.parseInt(levelR); if(level==rankParse){ return getConfig().getString("Leveis.Level"+level+".Rank"); } } /* Na config ficara assim: Leveis: Level1: Rank: "Novado" Level2: Rank: "Membro" * */ return "null"; } Tá ai o método e explicando como por na config também... Qq coisa pergunta eu preciso separar isso ai por encantamentos.. tipo definir rank de acordo com o encantamento e o level.. Link para o comentário Compartilhar em outros sites More sharing options...
zKingOfKill Postado Janeiro 10, 2017 Autor Denunciar Compartilhar Postado Janeiro 10, 2017 eu preciso separar isso ai por encantamentos.. tipo definir rank de acordo com o encantamento e o level.. Ainda nao consegui, será que alguem pode me ajudar? '-----' Link para o comentário Compartilhar em outros sites More sharing options...
GamerVanini Postado Janeiro 10, 2017 Denunciar Compartilhar Postado Janeiro 10, 2017 (editado) Ficaria mais ou menos assim: /* Configuração */ enchantments: protection: name: '&b&oProteção contra Projéteis' levels: 1: name: 'Novato' price: 300 /* Código */ for (String enchantmentName : getConfig().getConfigurationSection("enchantments").getKeys(false)) { for (String enchantmentLevel : getConfig().getConfigurationSection("enchantments." + enchantmentName + ".levels").getKeys(false)) { im.setDisplayName(getConfig().getString("enchantments." + enchantmentName + ".name").replace("&", "§")); ArrayList<String> lore = new ArrayList<String>(); lore.add(ChatColor.GOLD + "Level: " + getConfig().getString("enchantments." + enchantmentName + ".levels." + enchantmentLevel)); lore.add(ChatColor.GREEN + "Preço: " + getConfig().getInt("enchantments." + enchantmentName + ".levels." + enchantmentLevel + ".price")); lore.add(ChatColor.GOLD + "Rank necessário: " + getConfig().getString("enchantments." + enchantmentName + ".levels." + enchantmentLevel + ".name")); im.setLore(lore); tmp.setItemMeta(im); } } Editado Janeiro 10, 2017 por GamerVanini Link para o comentário Compartilhar em outros sites More sharing options...
MrPowerGamerBR Postado Janeiro 12, 2017 Denunciar Compartilhar Postado Janeiro 12, 2017 1 Link para o comentário Compartilhar em outros sites More sharing options...
Thelike Postado Janeiro 12, 2017 Denunciar Compartilhar Postado Janeiro 12, 2017 Sua dúvida foi marcada como [Resolvido] e movido à área de dúvidas resolvidas. Atenciosamente, Gamer's Board Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
zKingOfKill
Pessoal to com uma duvida meio chata, tipo
Pessoal basicamente esse codigo acima faz isso aqui, que ta no print,
sabe essa linha aqui "lores.add(ChatColor.GOLD + "Rank necessario: " + level);"
preciso fazer algo que mostre o rank necessario dependendo do nivel
exemplo: se for numero 1, mostre o rank necessario novato, e se for 2 mostre membro, se for 3 mostre carvao
nao sei se consegui explicar mt bem.. mas espero que tenham entendido..
ja tentei de tudo e nao consigo '-', alguem ajuda?

Editado por zKingOfKillLink para o comentário
Compartilhar em outros sites
10 respostass a esta questão
Posts Recomendados