Adding enchantments won't work?

Discussion in 'Plugin Development' started by TheWolfBadger, Aug 15, 2015.

Thread Status:
Not open for further replies.
  1. Offline

    TheWolfBadger

    For some reason, adding enchants won't work.
    Code:
    if(!enchantMultiple[0].equals("")) {
                                    for(String enchant : enchantMultiple) {
                                        String[] data = enchant.split(":");
                                        item.addUnsafeEnchantment(Enchantment.getByName(data[0].toUpperCase()), Integer.valueOf(data[1]));
                                    }
                                }
     
  2. Offline

    Tecno_Wizard

    @TheWolfBadger, you need to be a lot more specific. What about them does not work?
     
  3. Offline

    TheWolfBadger

    @Tecno_Wizard No errors at all and the code runs, but the enchants are not added...
    Code:
    enchant:
            - ''
            - ''
            - ''
            - 'FIRE_ASPECT:1, DAMAGE_ALL:3'
     
  4. Offline

    Tecno_Wizard

  5. Offline

    TheWolfBadger

  6. Offline

    Tecno_Wizard

    @TheWolfBadger, print out the item metadata. Print out every piece of data you can.

    This is why bukkit needs to be IDE debug compatible.
     
  7. Offline

    TheWolfBadger

    Code:
    public void addEnchantment(ItemStack item, String ench, Integer level) {
            for(Enchantment enchants : Enchantment.values()) {       System.out.print(enchants.getName().toUpperCase());
                if(enchants.getName().toUpperCase().equals(ench.toUpperCase())) {
                    item.addUnsafeEnchantment(enchants, level);              System.out.print("Yes");
                }
            } System.out.print("Enchantments: "+item.getEnchantments());
        }
    Code:
    if(!enchantMultiple[0].equals("")) {
                                    for(String enchant : enchantMultiple) {
                                        String[] data = enchant.split(":");
                                        this.addEnchantment(item, data[0], Integer.parseInt(data[1]));
                                    }
                                } else
                                    if(!enchantString.equals("")) {
                                        String[] data = enchantString.split(":");
                                        this.addEnchantment(item, data[0], Integer.parseInt(data[1]));
                                    }
    Code:
    [21:06:43 INFO]: PROTECTION_ENVIRONMENTAL
    [21:06:43 INFO]: PROTECTION_FIRE
    [21:06:43 INFO]: PROTECTION_FALL
    [21:06:43 INFO]: PROTECTION_EXPLOSIONS
    [21:06:43 INFO]: PROTECTION_PROJECTILE
    [21:06:43 INFO]: OXYGEN
    [21:06:43 INFO]: WATER_WORKER
    [21:06:43 INFO]: THORNS
    [21:06:43 INFO]: DEPTH_STRIDER
    [21:06:43 INFO]: DAMAGE_ALL
    [21:06:43 INFO]: DAMAGE_UNDEAD
    [21:06:43 INFO]: DAMAGE_ARTHROPODS
    [21:06:43 INFO]: KNOCKBACK
    [21:06:43 INFO]: FIRE_ASPECT
    [21:06:43 INFO]: Yes
    [21:06:43 INFO]: LOOT_BONUS_MOBS
    [21:06:43 INFO]: DIG_SPEED
    [21:06:43 INFO]: SILK_TOUCH
    [21:06:43 INFO]: DURABILITY
    [21:06:43 INFO]: LOOT_BONUS_BLOCKS
    [21:06:43 INFO]: ARROW_DAMAGE
    [21:06:43 INFO]: ARROW_KNOCKBACK
    [21:06:43 INFO]: ARROW_FIRE
    [21:06:43 INFO]: ARROW_INFINITE
    [21:06:43 INFO]: LUCK
    [21:06:43 INFO]: LURE
    [21:06:43 INFO]: Enchantments: {Enchantment[20, FIRE_ASPECT]=1}
    [21:06:43 INFO]: PROTECTION_ENVIRONMENTAL
    [21:06:43 INFO]: PROTECTION_FIRE
    [21:06:43 INFO]: PROTECTION_FALL
    [21:06:43 INFO]: PROTECTION_EXPLOSIONS
    [21:06:43 INFO]: PROTECTION_PROJECTILE
    [21:06:43 INFO]: OXYGEN
    [21:06:43 INFO]: WATER_WORKER
    [21:06:43 INFO]: THORNS
    [21:06:43 INFO]: DEPTH_STRIDER
    [21:06:43 INFO]: DAMAGE_ALL
    [21:06:43 INFO]: Yes
    [21:06:43 INFO]: DAMAGE_UNDEAD
    [21:06:43 INFO]: DAMAGE_ARTHROPODS
    [21:06:43 INFO]: KNOCKBACK
    [21:06:43 INFO]: FIRE_ASPECT
    [21:06:43 INFO]: LOOT_BONUS_MOBS
    [21:06:43 INFO]: DIG_SPEED
    [21:06:43 INFO]: SILK_TOUCH
    [21:06:43 INFO]: DURABILITY
    [21:06:43 INFO]: LOOT_BONUS_BLOCKS
    [21:06:43 INFO]: ARROW_DAMAGE
    [21:06:43 INFO]: ARROW_KNOCKBACK
    [21:06:43 INFO]: ARROW_FIRE
    [21:06:43 INFO]: ARROW_INFINITE
    [21:06:43 INFO]: LUCK
    [21:06:43 INFO]: LURE
    [21:06:43 INFO]: Enchantments: {Enchantment[20, FIRE_ASPECT]=1, Enchantment[16, DAMAGE_ALL]=3}
    @Tecno_Wizard Any ideas as to why? It doesn't make sense... :/

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 11, 2016
  8. Offline

    Tecno_Wizard

    @TheWolfBadger, geez how many things did you put on this?

    Please don't double post. Use the edit button
     
  9. Offline

    TheWolfBadger

    Did you read the code? Only 2 enchantments...

    Do you understand the code @Tecno_Wizard?
     
    Last edited: Aug 15, 2015
Thread Status:
Not open for further replies.

Share This Page