Ir para conteúdo
  • 0

[Duvida] getEnchantments para String list


mabazi

Pergunta

Eu tenho um comando que salva infos dos itens na config

ID: ***
Durabilidade: ***
DisplayName: ***
Enchants:
- ***:**
- ***:**



porem to com problema pra colocar os enchants, nao consigo usar no For por se tratar de um Map, e n encontrei na net como usar um Map no for

e o to String coloca de uma forma que nao sei como formatar pra List


se alguem puder me ajudar a colocar em List eu agradeço


Enchants:
- DIG_SPEED:3
- DAMAGE_ALL:5

 

 

@UPDATE

 

Quero passar MAP para STRING LIST (config.yml)

Editado por mabazi
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

List<String> enchants = new ArrayList<>();
for(Enchantment enc : itemstack.getItemMeta().getEnchants().keySet()){
     enchants.add(enc.getName()+":"+itemstack.getItemMeta().getEnchants().get(enc));
}

FILECONFIGURATION.set("meuitem.enchantments", enchants);

Crie uma lista, faça um foreach, adicione os encantamentos na lista e depois sete na config.

Lembre-se de salvar a config.

Acho que foi isso que vc quer.

 

Eu recomendo você usar essa classe, ela te auxilia a salvar/carregar itens com facilidade.

Editado por GabrielSm_
Link para o comentário
Compartilhar em outros sites

map.stream().forEachOrdered((k, v) -> {
 ...
});

ou

Map<String, Integer> map = new LinkedHashMap<>();

getConfig().getStringList("encantamentos").forEach(s -> {
  map.put(s.split(":")[0].trim(), Integer.parseInt(s.split(":")[1].trim()));
});
Editado por Pica-Pau
Link para o comentário
Compartilhar em outros sites

map.stream().forEachOrdered((k, v) -> {
 ...
});

ou

Map<String, Integer> map = new LinkedHashMap<>();

getConfig().getStringList("encantamentos").forEach(s -> {
  map.put(s.split(":")[0].trim(), Integer.parseInt(s.split(":")[1].trim()));
});

n funfou

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...