Solved Comparing Colored Armor Issues.

Discussion in 'Plugin Development' started by Worthless_Hobo, Sep 25, 2014.

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

    Worthless_Hobo

    I have been having an issue comparing armor color, no errors in console:
    Code:java
    1. Player player = (Player) event.getDamager();
    2. if(player.getInventory().getHelmet() == null){return;}
    3. if(player.getInventory().getHelmet().getType() == Material.LEATHER_HELMET){
    4.  
    5. ItemStack lhelmet = new ItemStack(Material.LEATHER_HELMET, 1);
    6. LeatherArmorMeta lhm = (LeatherArmorMeta)lhelmet.getItemMeta();
    7.  
    8. if(lhm.getColor() == Color.YELLOW){
    9. LivingEntity enemy = (LivingEntity) event.getEntity();
    10. Location loc = enemy.getLocation();
    11. loc.getWorld().strikeLightningEffect(loc);
    12. }
    13. }

    I spawn in the armor to be Color.YELLOW, Ive tried converting the color to .asRGB() to compare it as well as trying to change the color to a string with .toString() but neither work, any help would be appreciated.
     
  2. Offline

    fireblast709

    Worthless_Hobo lhm never had it's colour set. That aside, shouldn't you get the LeatherArmorMeta from the helmet instead of the newly created ItemStack (which has no meta)
     
  3. Offline

    Worthless_Hobo

    Its always something obvious, just seemingly invisible to the original creator >.> Thanks for your help again fireblast.

    In case anyone else needs the code:
    Code:java
    1. if(!(player.getInventory().getBoots() != null || player.getInventory().getBoots().hasItemMeta())){return;}
    2. if(!(player.getInventory().getChestplate() != null || player.getInventory().getChestplate().hasItemMeta())){return;}
    3. if(!(player.getInventory().getLeggings() != null || player.getInventory().getLeggings().hasItemMeta())){return;}
    4. if(!(player.getInventory().getHelmet() != null || player.getInventory().getHelmet().hasItemMeta())){return;}
    5. if(player.getInventory().getBoots().getType() == Material.LEATHER_BOOTS){
    6. if(player.getInventory().getChestplate().getType() == Material.LEATHER_CHESTPLATE){
    7. if(player.getInventory().getLeggings().getType() == Material.LEATHER_LEGGINGS){
    8. if(player.getInventory().getHelmet().getType() == Material.LEATHER_HELMET){
    9.  
    10. ItemStack lhelmet = player.getInventory().getHelmet();
    11. ItemStack lchestplate = player.getInventory().getChestplate();
    12. ItemStack lleggings = player.getInventory().getLeggings();
    13. ItemStack lboots = player.getInventory().getBoots();
    14. Color helm = ((LeatherArmorMeta) lhelmet.getItemMeta()).getColor();
    15. Color chest = ((LeatherArmorMeta) lchestplate.getItemMeta()).getColor();
    16. Color legs = ((LeatherArmorMeta) lleggings.getItemMeta()).getColor();
    17. Color boots = ((LeatherArmorMeta) lboots.getItemMeta()).getColor();
    18.  
    19. int helmet = helm.asRGB();
    20. int chestplate = chest.asRGB();
    21. int leggings = legs.asRGB();
    22. int boot = boots.asRGB();
    23. int yellow = Color.YELLOW.asRGB();
    24.  
    25. if(helmet == yellow){
    26. if(chestplate == yellow){
    27. if(leggings == yellow){
    28. if(boot == yellow){
    29. player.sendMessage(ChatColor.BLUE + "TEST COMPLETE");
    30. }
    31. }
    32. }
    33. }
    34. }
    35. }
    36. }
    37. }
    38.  


    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 14, 2016
Thread Status:
Not open for further replies.

Share This Page