Colored Leather Armour

Discussion in 'Plugin Development' started by TCO_007, Jan 27, 2014.

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

    TCO_007

    Can anyone help me with the code for dying Leather Armour?
    Im starting a kits server and I am the coder as well but I just cant seem to figure out how to dye leather and automatically set it in the players Armour GUI.
    So basically I want to have a black helmet and black chestplate for example (both leather) but I have no idea how to code it to the point where it distributes it to the players as a black helmet or chestplate.
    Any help?
    I know there is an easier way for the soup but I forgot how to do it XD
    Here is my code for currently...
    Code:
    package me.TCOB055.PvPKit;
     
    import org.bukkit.ChatColor;
    import org.bukkit.Material;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.plugin.java.JavaPlugin;
     
    public class PvPKit extends JavaPlugin{
       
        public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
            Player player = (Player) sender;
            if (commandLabel.equalsIgnoreCase("pvp")){
            //this is the permission    V
            if (player.hasPermission("Kit.PVP")){
            player.sendMessage(ChatColor.AQUA + "You have received the kit...." + ChatColor.GOLD + "PVP");
            player.getInventory().clear();
            player.getInventory().addItem(new ItemStack(Material.IRON_SWORD));
            player.getInventory().setHelmet(new ItemStack(Material.IRON_HELMET));
            player.getInventory().setChestplate(new ItemStack(Material.LEATHER_CHESTPLATE));
            player.getInventory().setLeggings(new ItemStack(Material.IRON_LEGGINGS));
            player.getInventory().setBoots(new ItemStack(Material.IRON_BOOTS));
            //SOUP! Learn how to use "for" command
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
           
           
           
           
           
            } else {
                player.sendMessage(ChatColor.RED + "You cannot use this kit!");
            }
            return false;
        }
            return false;
    }
     
    }
    
     
  2. Offline

    MrInspector

    Code:java
    1. ItemStack helm = new ItemStack(Material.LEATHER_HELMET);
    2. LeatherArmorMeta meta = (LeatherArmorMeta) helm.getItemMeta();
    3. meta.setColor(Color.BLACK);

    And for the soup make a for loop. :p
     
  3. Offline

    Ironraptor3

    TCO_007

    To dye leather armor (I think):

    Code:java
    1. ItemStack helmet = new ItemStack(Material.LEATHER_HELMET, 1);
    2. LeatherArmorMeta helmmeta = (LeatherArmorMeta) helmet.getItemMeta();
    3. helmmeta.setColor( Your Color Here );
    4. helmet.setItemMeta(helmmeta);
    5.  
    6.  

    I see help threads for plugins similar to this very often. Though I am not criticizing you, I have issue with the mushroom soup. I see this in the other threads as well. Why would you copy paste so many lines of mushroom soup? You can just do:
    Code:java
    1. int slots = 60 //or whatever you need
    2.  
    3. for (int i = 0; i < slots; i++) {
    4. player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
    5. }


    Again, not trying to be mean, you shouldn't be coding java without first knowing basic loops or without having the logical creativity to know when to use a loop.

    That aside, happy coding

    *******EDIT: Didn't see post above mine ^. Says relatively same thing
     
    TCO_007 likes this.
  4. Offline

    TCO_007

    I knew i was suppose to use a loop but I kept putting it in the wrong place i didnt realize it lol. I just saw copy and pasting was working so i just did that. Thanks for letting me know how to do it though. Ill see if this works. Thanks!

    Oops. Sorry for the double post. Ok, so i put the information you gave me into the code but now how do i set it into the players inventory? Sorry if that seems like a dumb question. Im new to plugins and coding as you can tell XD
    Sorry, I plan on fixing the mushroom soup. Just trying to figure this out first.
    So should it look like this now?
    Code:
    package me.TCOB055.PvPKit;
     
    import org.bukkit.ChatColor;
    import org.bukkit.Color;
    import org.bukkit.Material;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.meta.LeatherArmorMeta;
    import org.bukkit.plugin.java.JavaPlugin;
     
    public class PvPKit extends JavaPlugin{
       
        public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
            Player player = (Player) sender;
            if (commandLabel.equalsIgnoreCase("pvp")){
            //this is the permission    V
            if (player.hasPermission("Kit.PVP")){
            player.sendMessage(ChatColor.AQUA + "You have received the kit...." + ChatColor.GOLD + "PVP");
            player.getInventory().clear();
            player.getInventory().addItem(new ItemStack(Material.IRON_SWORD));
            player.getInventory().setHelmet(new ItemStack(Material.IRON_HELMET));
            ItemStack chestplateBlack = new ItemStack(Material.LEATHER_CHESTPLATE, 1);
            LeatherArmorMeta chestplatemeta = (LeatherArmorMeta) chestplateBlack.getItemMeta();
            chestplatemeta.setColor(Color.BLACK);
            chestplateBlack.setItemMeta(chestplatemeta);
            player.getInventory().setLeggings(new ItemStack(Material.IRON_LEGGINGS));
            player.getInventory().setBoots(new ItemStack(Material.IRON_BOOTS));
            //SOUP! Learn how to use "for" command
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
            player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
           
           
           
           
           
            } else {
                player.sendMessage(ChatColor.RED + "You cannot use this kit!");
            }
            return false;
        }
            return false;
    }
     
    }
    
    WOOHOO! Thanks so much guys! I got it working! I also changed the soup into a for loop. Thanks for that advice XD
    Here is the finished code for the pvp kit. Anything you guys recommend i should add/change?
    I'm still going to add like a "One kit per life thing" but I still need to figure out how to do that lol. Im new to bukkit coding. :(
    Code:
    package me.TCOB055.PvPKit;
     
    import org.bukkit.ChatColor;
    import org.bukkit.Color;
    import org.bukkit.Material;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.meta.LeatherArmorMeta;
    import org.bukkit.plugin.java.JavaPlugin;
     
    public class PvPKit extends JavaPlugin{
       
        public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
            Player player = (Player) sender;
            if (commandLabel.equalsIgnoreCase("pvp")){
            //this is the permission    V
            if (player.hasPermission("Kit.PVP")){
            player.sendMessage(ChatColor.AQUA + "You have received the kit...." + ChatColor.GOLD + "PVP");
            player.getInventory().clear();
            player.getInventory().addItem(new ItemStack(Material.IRON_SWORD));
            player.getInventory().setHelmet(new ItemStack(Material.IRON_HELMET));
            //Leather tut V
            ItemStack chestplateBlack = new ItemStack(Material.LEATHER_CHESTPLATE, 1);
            LeatherArmorMeta chestplatemeta = (LeatherArmorMeta) chestplateBlack.getItemMeta();
            chestplatemeta.setColor(Color.BLACK);
            chestplateBlack.setItemMeta(chestplatemeta);
            //Leather tut ^
            player.getInventory().setLeggings(new ItemStack(Material.IRON_LEGGINGS));
            //SOUP! Learn how to use "for" command
            for (int i = 0; i < 32; i++) {
                player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
                }
            player.getInventory().setChestplate(chestplateBlack);
            //adding leather ^
            ItemStack bootsBlack = new ItemStack(Material.LEATHER_BOOTS, 1);
            LeatherArmorMeta bootsmeta = (LeatherArmorMeta) bootsBlack.getItemMeta();
            bootsmeta.setColor(Color.BLACK);
            bootsBlack.setItemMeta(bootsmeta);
            player.getInventory().setBoots(bootsBlack);
           
           
           
           
            } else {
                player.sendMessage(ChatColor.RED + "You cannot use this kit!");
            }
            return false;
        }
            return false;
    }
     
    }
    
    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 6, 2016
Thread Status:
Not open for further replies.

Share This Page