Solved Cant Add Infinity Enchantment to a bow?

Discussion in 'Plugin Development' started by AppleTechOnline, Jan 24, 2014.

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

    AppleTechOnline

    So i have this..
    ItemStack sword = new ItemStack(Material.STONE_SWORD, 1);
    ItemMeta swordmeta = sword.getItemMeta();
    swordmeta.setDisplayName(ChatColor.BLUE + "The Baws Killer");
    sword.setItemMeta(swordmeta);
    player.getInventory().addItem(sword);


    ItemStack stack2 = new ItemStack(Material.BOW, 1, (byte) 0);
    ItemStack stack1 = new ItemStack(Material.COOKED_BEEF, 64, (byte) 0);
    ItemStack stack3 = new ItemStack(Material.ARROW, 64, (byte) 0);
    ItemStack stack4 = new ItemStack(Material.ARROW, 64, (byte) 0);
    ItemStack stack5 = new ItemStack(Material.ARROW, 64, (byte) 0);
    ItemStack stack6 = new ItemStack(Material.ARROW, 64, (byte) 0);
    ItemStack stack7 = new ItemStack(Material.ARROW, 64, (byte) 0);
    ItemStack stack8 = new ItemStack(Material.ARROW, 64, (byte) 0);
    ItemStack stack9 = new ItemStack(Material.ARROW, 64, (byte) 0);
    ItemStack stack10 = new ItemStack(Material.ARROW, 64, (byte) 0);
    ItemStack stack11 = new ItemStack(Material.ARROW, 64, (byte) 0);
    ItemStack stack12 = new ItemStack(Material.ARROW, 64, (byte) 0);
    ItemStack stack13 = new ItemStack(Material.ARROW, 64, (byte) 0);
    ItemStack stack14 = new ItemStack(Material.ARROW, 64, (byte) 0);
    ItemStack stack15 = new ItemStack(Material.ARROW, 64, (byte) 0);
    ItemStack stack16 = new ItemStack(Material.ARROW, 64, (byte) 0);
    ItemStack stack17 = new ItemStack(Material.ARROW, 64, (byte) 0);

    player.getInventory().addItem(stack1);
    player.getInventory().addItem(stack2);
    player.getInventory().addItem(stack3);
    player.getInventory().addItem(stack4);
    player.getInventory().addItem(stack5);
    player.getInventory().addItem(stack6);
    player.getInventory().addItem(stack7);
    player.getInventory().addItem(stack8);
    player.getInventory().addItem(stack9);
    player.getInventory().addItem(stack10);
    player.getInventory().addItem(stack11);
    player.getInventory().addItem(stack12);
    player.getInventory().addItem(stack13);
    player.getInventory().addItem(stack14);
    player.getInventory().addItem(stack15);
    player.getInventory().addItem(stack16);
    player.getInventory().addItem(stack17);
    stack2.addEnchantment(Enchantment.ARROW_INFINITE, 1);



    Sorry for the spam but As u see i have the thingy with the enchantment but it doesnt add it?
     
  2. AppleTechOnline
    I believe you have to add the enchantment to the stack's ItemMeta.

    Also, you could shorten that code by creating a loop.
     
  3. Offline

    Maurdekye

    Oh god, the amount of .addItem() calls is making my eyes hurt. Replace all that with this;
    Code:java
    1. player.getInventory.addItem(new ItemStack(Material.COOKED_BEEF, 64));
    2. for (int i=0; i<15; i++) player.getInventory().addItem(new ItemStack(Material.ARROW, 64));
    3. ItemStack bow = new ItemStack(Material.BOW);
    4. bow.addEnchantment(Enchantment.ARROW_INFINITE, 1);
    5. player.getInventory().addItem(bow);
     
  4. Offline

    AppleTechOnline

    lol, i konw i can make it MUCH shorter but i was running out of arrows so.. :D

    ItemStack sword = new ItemStack(Material.STONE_SWORD, 1);
    ItemMeta swordmeta = sword.getItemMeta();
    swordmeta.setDisplayName(ChatColor.BLUE + "The Baws Killer");
    sword.setItemMeta(swordmeta);
    player.getInventory().addItem(sword);


    player.getInventory().addItem(new ItemStack(Material.COOKED_BEEF, 64));
    for (int i=0; i<15; i++) player.getInventory().addItem(new ItemStack(Material.ARROW, 64));
    ItemStack bow = new ItemStack(Material.BOW);
    bow.addEnchantment(Enchantment.ARROW_INFINITE, 1);
    player.getInventory().addItem(bow);


    player.getInventory().setBoots(new ItemStack(Material.LEATHER_BOOTS));
    player.getInventory().setLeggings(new ItemStack(Material.LEATHER_LEGGINGS));
    player.getInventory().setChestplate(new ItemStack(Material.LEATHER_CHESTPLATE));
    player.getInventory().setHelmet(new ItemStack(Material.LEATHER_HELMET));
    player.setGameMode(GameMode.ADVENTURE);
    player.addPotionEffect(new PotionEffect(PotionEffectType.HEAL, 3, 55));

    ItemStack IceCream = new ItemStack(Material.NETHER_STAR, 1);
    ItemMeta IceCreamMeta = IceCream.getItemMeta();
    IceCreamMeta.setDisplayName(ChatColor.BLUE + "Coin Shop ( not working atm )");
    IceCreamMeta.getLore();
    IceCreamMeta.setLore(Arrays.asList(ChatColor.DARK_PURPLE + "Please report it to an Admin If u find any bugs,"));
    IceCream.setItemMeta(IceCreamMeta);
    player.getInventory().addItem(IceCream);



    that and some more code under it for more stuff but it still didnt work.. :p

    @Maurdekye

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

    beastman3226

    ItemStack.addEnchantment()?
     
  6. Offline

    AppleTechOnline

Thread Status:
Not open for further replies.

Share This Page