New item crafting. Help!

Discussion in 'Plugin Development' started by xMinecraft, May 3, 2013.

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

    xMinecraft

    Hello guys!
    I try create a plugin that add new items with craftings:

    Code:java
    1. package net.xminecraft.items;
    2.  
    3. import java.util.logging.Logger;
    4.  
    5. import org.bukkit.Material;
    6. import org.bukkit.Server;
    7. import org.bukkit.enchantments.Enchantment;
    8. import org.bukkit.inventory.ItemStack;
    9. import org.bukkit.inventory.ShapedRecipe;
    10. import org.bukkit.inventory.ShapelessRecipe;
    11. import org.bukkit.inventory.meta.ItemMeta;
    12. import org.bukkit.plugin.java.JavaPlugin;
    13.  
    14. public class main extends JavaPlugin {
    15. public final Logger logger = Logger.getLogger("Minecraft");
    16.  
    17. @Override
    18. public void onEnable() {
    19. Server server = this.getServer();
    20.  
    21. final ShapedRecipe saddle = new ShapedRecipe(new ItemStack(Material.DIAMOND_HOE , 1));
    22.  
    23. ItemMeta im = saddle.getResult().getItemMeta();
    24. im.setDisplayName("Bastón de clérigo");
    25. saddle.getResult().setItemMeta(im);
    26.  
    27. saddle.getResult().addUnsafeEnchantment(Enchantment.FIRE_ASPECT , 2);
    28.  
    29. saddle.shape("DN ", " B ", " B ");
    30. saddle.setIngredient('D', Material.DIAMOND, 1);
    31. saddle.setIngredient('N', Material.NETHER_STAR, 1);
    32. saddle.setIngredient('B', Material.BLAZE_ROD, 1);
    33.  
    34. server.addRecipe(saddle);
    35. }
    36.  
    37. @Override
    38. public void onDisable() {
    39. this.logger.info("Items xMinecraft desactivado.");
    40. }
    41.  
    42. }


    But don't craft the item..
    What's problem?
    Regards
     
  2. Offline

    Antigrate

    I don't know, because I'm fairly new to Java, but if it even helps, this code works for me. I did it earlier, and it worked, so..

    Code:
    import org.bukkit.Material;
    import org.bukkit.Server;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.ShapedRecipe;
    import org.bukkit.plugin.java.JavaPlugin;
     
    public class GuavaCrafting extends JavaPlugin {
       
        public void onEnable() {
            Server server = this.getServer();
           
            ShapedRecipe chainmail_helmet = new ShapedRecipe(new ItemStack(Material.CHAINMAIL_HELMET));
            chainmail_helmet.shape("FIF", "F F", "  ");
            chainmail_helmet.setIngredient('F', Material.FLINT);
            chainmail_helmet.setIngredient('I', Material.IRON_INGOT);
           
            server.addRecipe(chainmail_helmet);
        }
    }
    
     
  3. xMinecraft
    Your problem is here:
    Code:
    saddle.setIngredient('D', Material.DIAMOND, 1);
    saddle.setIngredient('N', Material.NETHER_STAR, 1);
    saddle.setIngredient('B', Material.BLAZE_ROD, 1);
    That 3rd argument, the number, is the data value, not amount, therefore when you craft it expects the ingredients to have data value of 1 which you can't provide since materials you asked doesn't have other data values except 0.
    Remove that number or set it to 0.
     
  4. Offline

    xMinecraft

    Digi Antigrate Thanks for your responses.
    I achieved it working as follows:

    Code:java
    1.  
    2. @Override
    3. public void onEnable() {
    4. ItemStack is;
    5. ItemMeta meta;
    6. Server server = this.getServer();
    7.  
    8. is = new ItemStack(Material.DIAMOND_HOE, 1);
    9. is.addUnsafeEnchantment(Enchantment.FIRE_ASPECT , 2);
    10. is.setDurability((short) 1);
    11. meta = is.getItemMeta();
    12. meta.setDisplayName("Baston de clerigo");
    13. is.setItemMeta(meta);
    14. bastondeclerigo = is;
    15.  
    16. ShapedRecipe newitem = new ShapedRecipe(bastondeclerigo).shape(new String[] { "dn ", " b ", " b " }).setIngredient('d', Material.DIAMOND).setIngredient('n', Material.NETHER_STAR).setIngredient('b', Material.BLAZE_ROD);
    17.  
    18. server.addRecipe(newitem);
    19. }
    20.  


    I've dude: How i set permissions for crafting my new item?
     
Thread Status:
Not open for further replies.

Share This Page