Ir para conteúdo
  • 0

Por enchanted golden apple na config?


Frogguer

Pergunta

    public ArrayList<ItemStack> GetDroppedItems() {
        ArrayList<ItemStack> toreturn = new ArrayList<ItemStack>();
        Set<String> droppeditems = configGetter.getConfig().getConfigurationSection("DroppedItems.").getKeys(false);
        for (String item : droppeditems) {
            String material = configGetter.getConfig().getString("DroppedItems." + item + ".MATERIAL");
            for (int amount = configGetter.getConfig().getInt("DroppedItems." + item + ".AMOUNT"), i = 0; i <= amount; ++i) {
            	ItemStack itemstack = new ItemStack(Material.valueOf(material), 1);
            	for(String s : configGetter.getConfig().getStringList("DroppedItems." + item + ".ENCHANT")) {
            	    String enchant = s.split("-")[0];
            	    String level= s.split("-")[1];
            	    if(Enchantment.getByName(enchant) != null) {
            	         if (Enchantment.getByName(enchant).canEnchantItem(itemstack)) {
            	               itemstack.addUnsafeEnchantment(Enchantment.getByName(enchant), Integer.parseInt(level));
            	         }
            	    }
            	}
            	toreturn.add(itemstack); 
            }
        }
		return toreturn;
    }

Quero por capiroto na config ? alguém poderia add no cod pra min ? 

 

Item1:
    MATERIAL: GOLDEN APPLE:1

    AMOUNT: 35

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

String material = configGetter.getConfig().getString("DroppedItems." + item + ".MATERIAL");
int data = 0;
if (material.contains(":")) {
  String[] args = material.split(":");
  material = args[0];
  data = Integer.parseInt(args[1]);
}
ItemStack item = new ItemStack(Material.valueOf(material), 1, (short)data);

basicamente o mesmo do  mas sem o regex, que pode ser confuso

   public ArrayList<ItemStack> GetDroppedItems() {
        ArrayList<ItemStack> toreturn = new ArrayList<ItemStack>();
        Set<String> droppeditems = configGetter.getConfig().getConfigurationSection("DroppedItems.").getKeys(false);
        for (String item : droppeditems) {
            String material = configGetter.getConfig().getString("DroppedItems." + item + ".MATERIAL");
            int data = 0;
            if (material.contains(":")) {
                String[] args = material.split(":");
                material = args[0];
                data = Integer.parseInt(args[1]);
            }            
            for (int amount = configGetter.getConfig().getInt("DroppedItems." + item + ".AMOUNT"), i = 0; i <= amount; ++i) {
            	ItemStack itemstack = new ItemStack(Material.valueOf(material), 1, (short)data);
            	for(String s : configGetter.getConfig().getStringList("DroppedItems." + item + ".ENCHANT")) {
            	    String enchant = s.split("-")[0];
            	    String level= s.split("-")[1];
            	    if(Enchantment.getByName(enchant) != null) {
            	         if (Enchantment.getByName(enchant).canEnchantItem(itemstack)) {
            	               itemstack.addUnsafeEnchantment(Enchantment.getByName(enchant), Integer.parseInt(level));
            	         }
            	    }
            	}
            	toreturn.add(itemstack); 
            }
        }
		return toreturn;
    }

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


String material = configGetter.getConfig().getString("DroppedItems." + item + ".MATERIAL");

short data = 0;

if (material.matches("^\\w{1,}:\\d{1,5}$")) {

String[] args = material.split(":");

material = args[0];

data = Short.valueOf(args[1]);

}

ItemStack item = new ItemStack(Material.valueOf(material), 1, data);

// O certo também seria GOLDEN_APPLE:1, tem que ser igual ao enum Material do Bukkit

Link para o comentário
Compartilhar em outros sites

String material = configGetter.getConfig().getString("DroppedItems." + item + ".MATERIAL");
int data = 0;
if (material.contains(":")) {
  String[] args = material.split(":");
  material = args[0];
  data = Integer.parseInt(args[1]);
}
ItemStack item = new ItemStack(Material.valueOf(material), 1, (short)data);

basicamente o mesmo do  mas sem o regex, que pode ser confuso

   public ArrayList<ItemStack> GetDroppedItems() {
        ArrayList<ItemStack> toreturn = new ArrayList<ItemStack>();
        Set<String> droppeditems = configGetter.getConfig().getConfigurationSection("DroppedItems.").getKeys(false);
        for (String item : droppeditems) {
            String material = configGetter.getConfig().getString("DroppedItems." + item + ".MATERIAL");
            int data = 0;
            if (material.contains(":")) {
                String[] args = material.split(":");
                material = args[0];
                data = Integer.parseInt(args[1]);
            }            
            for (int amount = configGetter.getConfig().getInt("DroppedItems." + item + ".AMOUNT"), i = 0; i <= amount; ++i) {
            	ItemStack itemstack = new ItemStack(Material.valueOf(material), 1, (short)data);
            	for(String s : configGetter.getConfig().getStringList("DroppedItems." + item + ".ENCHANT")) {
            	    String enchant = s.split("-")[0];
            	    String level= s.split("-")[1];
            	    if(Enchantment.getByName(enchant) != null) {
            	         if (Enchantment.getByName(enchant).canEnchantItem(itemstack)) {
            	               itemstack.addUnsafeEnchantment(Enchantment.getByName(enchant), Integer.parseInt(level));
            	         }
            	    }
            	}
            	toreturn.add(itemstack); 
            }
        }
		return toreturn;
    }

vlw deu certo ;)

Link para o comentário
Compartilhar em outros sites

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