My kit system plugin doesn't work ;(

Discussion in 'Plugin Development' started by Alabingu, Nov 10, 2018.

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

    Alabingu

    Hi, so I wanted to do a plugin which could do that only the VIPs could use the kits. If you are not a VIP, your VIP armor is supposed to disappear, but it doesn't work. It keeps sending NullPointerException.

    Code:
    Code:
    package alabingu.fullpvpkits;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Material;
    import org.bukkit.entity.Player;
    import org.bukkit.plugin.PluginDescriptionFile;
    import org.bukkit.plugin.java.JavaPlugin;
    import org.bukkit.scheduler.BukkitRunnable;
    
    public class FullPvPKits extends JavaPlugin {
    
        PluginDescriptionFile pdffile = getDescription();
        String name = pdffile.getName();
        String version = pdffile.getVersion();
    
        public void onEnable() {
            new BukkitRunnable() {
    
                @Override
                public void run() {
                
                    for(final Player p : Bukkit.getOnlinePlayers()) {
                        if(p.getInventory().getHelmet().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l]")) && !(p.hasPermission("essentials.kits.vip"))) {
                            p.getInventory().getHelmet().setType(Material.AIR);
                        } else if(p.getInventory().getHelmet().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l+]")) && !(p.hasPermission("essentials.kits.vip+"))) {
                            p.getInventory().getHelmet().setType(Material.AIR);
                        } else if(p.getInventory().getHelmet().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&2&lELITE&f&l]")) && !(p.hasPermission("essentials.kits.elite"))) {
                            p.getInventory().getHelmet().setType(Material.AIR);
                        } else if(p.getInventory().getHelmet().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&4&lMEGA&f&l]")) && !(p.hasPermission("essentials.kits.mega"))) {
                            p.getInventory().getHelmet().setType(Material.AIR);
                        } else if(p.getInventory().getHelmet().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&e&lTITAN&f&l]")) && !(p.hasPermission("essentials.kits.titan"))) {
                            p.getInventory().getHelmet().setType(Material.AIR);
                        }
                    
                        if(p.getInventory().getChestplate().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l]")) && !(p.hasPermission("essentials.kits.vip"))) {
                            p.getInventory().getChestplate().setType(Material.AIR);
                        } else if(p.getInventory().getChestplate().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l+]")) && !(p.hasPermission("essentials.kits.vip+"))) {
                            p.getInventory().getChestplate().setType(Material.AIR);
                        } else if(p.getInventory().getChestplate().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&2&lELITE&f&l]")) && !(p.hasPermission("essentials.kits.elite"))) {
                            p.getInventory().getChestplate().setType(Material.AIR);
                        } else if(p.getInventory().getChestplate().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&4&lMEGA&f&l]")) && !(p.hasPermission("essentials.kits.mega"))) {
                            p.getInventory().getChestplate().setType(Material.AIR);
                        } else if(p.getInventory().getChestplate().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&e&lTITAN&f&l]")) && !(p.hasPermission("essentials.kits.titan"))) {
                            p.getInventory().getChestplate().setType(Material.AIR);
                        }
                    
                        if(p.getInventory().getLeggings().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l]")) && !(p.hasPermission("essentials.kits.vip"))) {
                            p.getInventory().getLeggings().setType(Material.AIR);
                        } else if(p.getInventory().getLeggings().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l+]")) && !(p.hasPermission("essentials.kits.vip+"))) {
                            p.getInventory().getLeggings().setType(Material.AIR);
                        } else if(p.getInventory().getLeggings().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&2&lELITE&f&l]")) && !(p.hasPermission("essentials.kits.elite"))) {
                            p.getInventory().getLeggings().setType(Material.AIR);
                        } else if(p.getInventory().getLeggings().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&4&lMEGA&f&l]")) && !(p.hasPermission("essentials.kits.mega"))) {
                            p.getInventory().getLeggings().setType(Material.AIR);
                        } else if(p.getInventory().getLeggings().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&e&lTITAN&f&l]")) && !(p.hasPermission("essentials.kits.titan"))) {
                            p.getInventory().getLeggings().setType(Material.AIR);
                        }
                    
                        if(p.getInventory().getBoots().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l]")) && !(p.hasPermission("essentials.kits.vip"))) {
                            p.getInventory().getBoots().setType(Material.AIR);
                        } else if(p.getInventory().getBoots().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l+]")) && !(p.hasPermission("essentials.kits.vip+"))) {
                            p.getInventory().getBoots().setType(Material.AIR);
                        } else if(p.getInventory().getBoots().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&2&lELITE&f&l]")) && !(p.hasPermission("essentials.kits.elite"))) {
                            p.getInventory().getBoots().setType(Material.AIR);
                        } else if(p.getInventory().getBoots().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&4&lMEGA&f&l]")) && !(p.hasPermission("essentials.kits.mega"))) {
                            p.getInventory().getBoots().setType(Material.AIR);
                        } else if(p.getInventory().getBoots().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&e&lTITAN&f&l]")) && !(p.hasPermission("essentials.kits.titan"))) {
                            p.getInventory().getBoots().setType(Material.AIR);
                        }
                    }
                }
            
            }.runTaskTimer(this, 3L, 3L);
        }
    }
    
     
  2. @Alabingu

    If you want help with this, show us the line where the NullPointerException occurs. (Not just the line numbers because we can't see the line numbers.)
     
  3. You get an NullPointerException if you try to get the itemMeta from an itemstack without itemMeta, with other words a player is wearing armor that has no custom displayname on it. I assume that this is the problem. So check if the item has an itemmeta first.
     
  4. Online

    timtower Administrator Administrator Moderator

    @DerDonut itemMeta gets created, hasDisplayName should be called.
     
  5. Offline

    Alabingu

  6. Online

    timtower Administrator Administrator Moderator

    @Alabingu getDisplayName() returns null. null doesn't have .equals
     
  7. Offline

    Alabingu

    Then it would be getDisplayName() == "Hi"
     
  8. Online

    timtower Administrator Administrator Moderator

    @Alabingu Yeah, that doesn't works with strings.
    Check if the item has a displayname by using ItemMeta#hasDisplayName
     
  9. Offline

    Alabingu

    Still doesn't work @timtower NullPointerException in line 24
    Code:
    package alabingu.fullpvpkits;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Material;
    import org.bukkit.entity.Player;
    import org.bukkit.plugin.PluginDescriptionFile;
    import org.bukkit.plugin.java.JavaPlugin;
    import org.bukkit.scheduler.BukkitRunnable;
    
    public class FullPvPKits extends JavaPlugin {
      
        PluginDescriptionFile pdffile = getDescription();
        String name = pdffile.getName();
        String version = pdffile.getVersion();
      
        public void onEnable() {
            new BukkitRunnable() {
    
                @Override
                public void run() {
                  
                    for(final Player p : Bukkit.getOnlinePlayers()) {
                        if(p.getInventory().getHelmet().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l]") && !(p.hasPermission("essentials.kits.vip"))) {
                            p.getInventory().getHelmet().setType(Material.AIR);
                        } else if(p.getInventory().getHelmet().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l+]") && !(p.hasPermission("essentials.kits.vip+"))) {
                            p.getInventory().getHelmet().setType(Material.AIR);
                        } else if(p.getInventory().getHelmet().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&2&lELITE&f&l]") && !(p.hasPermission("essentials.kits.elite"))) {
                            p.getInventory().getHelmet().setType(Material.AIR);
                        } else if(p.getInventory().getHelmet().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&4&lMEGA&f&l]") && !(p.hasPermission("essentials.kits.mega"))) {
                            p.getInventory().getHelmet().setType(Material.AIR);
                        } else if(p.getInventory().getHelmet().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&e&lTITAN&f&l]") && !(p.hasPermission("essentials.kits.titan"))) {
                            p.getInventory().getHelmet().setType(Material.AIR);
                        }
                      
                        if(p.getInventory().getChestplate().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l]") && !(p.hasPermission("essentials.kits.vip"))) {
                            p.getInventory().getChestplate().setType(Material.AIR);
                        } else if(p.getInventory().getChestplate().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l+]") && !(p.hasPermission("essentials.kits.vip+"))) {
                            p.getInventory().getChestplate().setType(Material.AIR);
                        } else if(p.getInventory().getChestplate().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&2&lELITE&f&l]") && !(p.hasPermission("essentials.kits.elite"))) {
                            p.getInventory().getChestplate().setType(Material.AIR);
                        } else if(p.getInventory().getChestplate().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&4&lMEGA&f&l]") && !(p.hasPermission("essentials.kits.mega"))) {
                            p.getInventory().getChestplate().setType(Material.AIR);
                        } else if(p.getInventory().getChestplate().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&e&lTITAN&f&l]") && !(p.hasPermission("essentials.kits.titan"))) {
                            p.getInventory().getChestplate().setType(Material.AIR);
                        }
                      
                        if(p.getInventory().getLeggings().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l]") && !(p.hasPermission("essentials.kits.vip"))) {
                            p.getInventory().getLeggings().setType(Material.AIR);
                        } else if(p.getInventory().getLeggings().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l+]") && !(p.hasPermission("essentials.kits.vip+"))) {
                            p.getInventory().getLeggings().setType(Material.AIR);
                        } else if(p.getInventory().getLeggings().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&2&lELITE&f&l]") && !(p.hasPermission("essentials.kits.elite"))) {
                            p.getInventory().getLeggings().setType(Material.AIR);
                        } else if(p.getInventory().getLeggings().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&4&lMEGA&f&l]") && !(p.hasPermission("essentials.kits.mega"))) {
                            p.getInventory().getLeggings().setType(Material.AIR);
                        } else if(p.getInventory().getLeggings().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&e&lTITAN&f&l]") && !(p.hasPermission("essentials.kits.titan"))) {
                            p.getInventory().getLeggings().setType(Material.AIR);
                        }
                      
                        if(p.getInventory().getBoots().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l]") && !(p.hasPermission("essentials.kits.vip"))) {
                            p.getInventory().getBoots().setType(Material.AIR);
                        } else if(p.getInventory().getBoots().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l+]") && !(p.hasPermission("essentials.kits.vip+"))) {
                            p.getInventory().getBoots().setType(Material.AIR);
                        } else if(p.getInventory().getBoots().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&2&lELITE&f&l]") && !(p.hasPermission("essentials.kits.elite"))) {
                            p.getInventory().getBoots().setType(Material.AIR);
                        } else if(p.getInventory().getBoots().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&4&lMEGA&f&l]") && !(p.hasPermission("essentials.kits.mega"))) {
                            p.getInventory().getBoots().setType(Material.AIR);
                        } else if(p.getInventory().getBoots().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&e&lTITAN&f&l]") && !(p.hasPermission("essentials.kits.titan"))) {
                            p.getInventory().getBoots().setType(Material.AIR);
                        }
                    }
                }
              
            }.runTaskTimer(this, 3L, 3L);
        }
    }
    EDIT: Ohhh wait now I remember I had to check if the ItemStack had DisplayName
     
  10. please post the line where the error occurs.
     
  11. Online

    timtower Administrator Administrator Moderator

    @Alabingu And strings compared with == will always return false.
     
  12. Offline

    Alabingu

    Code:
    package alabingu.fullpvpkits;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Material;
    import org.bukkit.entity.Player;
    import org.bukkit.plugin.PluginDescriptionFile;
    import org.bukkit.plugin.java.JavaPlugin;
    import org.bukkit.scheduler.BukkitRunnable;
    
    public class FullPvPKits extends JavaPlugin {
     
        PluginDescriptionFile pdffile = getDescription();
        String name = pdffile.getName();
        String version = pdffile.getVersion();
     
        public void onEnable() {
            new BukkitRunnable() {
    
                @Override
                public void run() {
                 
                    for(final Player p : Bukkit.getOnlinePlayers()) {
                        if(p.getInventory().getHelmet().getItemMeta().hasDisplayName() && p.getInventory().getHelmet().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l]") && !(p.hasPermission("essentials.kits.vip"))) {
                            p.getInventory().getHelmet().setType(Material.AIR);
                        } else if(p.getInventory().getHelmet().getItemMeta().hasDisplayName() && p.getInventory().getHelmet().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l+]") && !(p.hasPermission("essentials.kits.vip+"))) {
                            p.getInventory().getHelmet().setType(Material.AIR);
                        } else if(p.getInventory().getHelmet().getItemMeta().hasDisplayName() && p.getInventory().getHelmet().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&2&lELITE&f&l]") && !(p.hasPermission("essentials.kits.elite"))) {
                            p.getInventory().getHelmet().setType(Material.AIR);
                        } else if(p.getInventory().getHelmet().getItemMeta().hasDisplayName() && p.getInventory().getHelmet().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&4&lMEGA&f&l]") && !(p.hasPermission("essentials.kits.mega"))) {
                            p.getInventory().getHelmet().setType(Material.AIR);
                        } else if(p.getInventory().getHelmet().getItemMeta().hasDisplayName() && p.getInventory().getHelmet().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&e&lTITAN&f&l]") && !(p.hasPermission("essentials.kits.titan"))) {
                            p.getInventory().getHelmet().setType(Material.AIR);
                        }
                     
                        if(p.getInventory().getChestplate().getItemMeta().hasDisplayName() && p.getInventory().getChestplate().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l]") && !(p.hasPermission("essentials.kits.vip"))) {
                            p.getInventory().getChestplate().setType(Material.AIR);
                        } else if(p.getInventory().getChestplate().getItemMeta().hasDisplayName() && p.getInventory().getChestplate().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l+]") && !(p.hasPermission("essentials.kits.vip+"))) {
                            p.getInventory().getChestplate().setType(Material.AIR);
                        } else if(p.getInventory().getChestplate().getItemMeta().hasDisplayName() && p.getInventory().getChestplate().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&2&lELITE&f&l]") && !(p.hasPermission("essentials.kits.elite"))) {
                            p.getInventory().getChestplate().setType(Material.AIR);
                        } else if(p.getInventory().getChestplate().getItemMeta().hasDisplayName() && p.getInventory().getChestplate().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&4&lMEGA&f&l]") && !(p.hasPermission("essentials.kits.mega"))) {
                            p.getInventory().getChestplate().setType(Material.AIR);
                        } else if(p.getInventory().getChestplate().getItemMeta().hasDisplayName() && p.getInventory().getChestplate().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&e&lTITAN&f&l]") && !(p.hasPermission("essentials.kits.titan"))) {
                            p.getInventory().getChestplate().setType(Material.AIR);
                        }
                     
                        if(p.getInventory().getLeggings().getItemMeta().hasDisplayName() && p.getInventory().getLeggings().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l]") && !(p.hasPermission("essentials.kits.vip"))) {
                            p.getInventory().getLeggings().setType(Material.AIR);
                        } else if(p.getInventory().getLeggings().getItemMeta().hasDisplayName() && p.getInventory().getLeggings().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l+]") && !(p.hasPermission("essentials.kits.vip+"))) {
                            p.getInventory().getLeggings().setType(Material.AIR);
                        } else if(p.getInventory().getLeggings().getItemMeta().hasDisplayName() && p.getInventory().getLeggings().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&2&lELITE&f&l]") && !(p.hasPermission("essentials.kits.elite"))) {
                            p.getInventory().getLeggings().setType(Material.AIR);
                        } else if(p.getInventory().getLeggings().getItemMeta().hasDisplayName() && p.getInventory().getLeggings().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&4&lMEGA&f&l]") && !(p.hasPermission("essentials.kits.mega"))) {
                            p.getInventory().getLeggings().setType(Material.AIR);
                        } else if(p.getInventory().getLeggings().getItemMeta().hasDisplayName() && p.getInventory().getLeggings().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&e&lTITAN&f&l]") && !(p.hasPermission("essentials.kits.titan"))) {
                            p.getInventory().getLeggings().setType(Material.AIR);
                        }
                     
                        if(p.getInventory().getBoots().getItemMeta().hasDisplayName() && p.getInventory().getBoots().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l]") && !(p.hasPermission("essentials.kits.vip"))) {
                            p.getInventory().getBoots().setType(Material.AIR);
                        } else if(p.getInventory().getBoots().getItemMeta().hasDisplayName() && p.getInventory().getBoots().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l+]") && !(p.hasPermission("essentials.kits.vip+"))) {
                            p.getInventory().getBoots().setType(Material.AIR);
                        } else if(p.getInventory().getBoots().getItemMeta().hasDisplayName() && p.getInventory().getBoots().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&2&lELITE&f&l]") && !(p.hasPermission("essentials.kits.elite"))) {
                            p.getInventory().getBoots().setType(Material.AIR);
                        } else if(p.getInventory().getBoots().getItemMeta().hasDisplayName() && p.getInventory().getBoots().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&4&lMEGA&f&l]") && !(p.hasPermission("essentials.kits.mega"))) {
                            p.getInventory().getBoots().setType(Material.AIR);
                        } else if(p.getInventory().getBoots().getItemMeta().hasDisplayName() && p.getInventory().getBoots().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&e&lTITAN&f&l]") && !(p.hasPermission("essentials.kits.titan"))) {
                            p.getInventory().getBoots().setType(Material.AIR);
                        }
                    }
                }
             
            }.runTaskTimer(this, 3L, 3L);
        }
    }
    Still doesn't work. NullPointerException. BTW, if strings compared with == always return false, how can I compare them?

    @timtower @DerDonut
     
  13. you compare them using <String1>.equals(<String2>)

    again, in which line occurs the error?
     
  14. Offline

    Alabingu

    Line 24:
    Code:
      if(p.getInventory().getHelmet().getItemMeta().hasDisplayName() && p.getInventory().getHelmet().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l]") && !(p.hasPermission("essentials.kits.vip"))) {
    @DerDonut do I have to tag you every time? :v
     
  15. Online

    timtower Administrator Administrator Moderator

  16. Offline

    Alabingu

    Ohhh that's true

    Now it doesn't send anything @timtower @DerDonut

    Code:
    package alabingu.fullpvpkits;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Material;
    import org.bukkit.entity.Player;
    import org.bukkit.plugin.PluginDescriptionFile;
    import org.bukkit.plugin.java.JavaPlugin;
    import org.bukkit.scheduler.BukkitRunnable;
    
    public class FullPvPKits extends JavaPlugin {
       
        PluginDescriptionFile pdffile = getDescription();
        String name = pdffile.getName();
        String version = pdffile.getVersion();
       
        public void onEnable() {
            new BukkitRunnable() {
    
                @Override
                public void run() {
                   
                    for(final Player p : Bukkit.getOnlinePlayers()) {
                        if(p.getInventory().getHelmet() != null && p.getInventory().getHelmet().getItemMeta().hasDisplayName() && p.getInventory().getHelmet().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l]") && !(p.hasPermission("essentials.kits.vip"))) {
                            p.getInventory().getHelmet().setType(Material.AIR);
                        } else if(p.getInventory().getHelmet() != null && p.getInventory().getHelmet().getItemMeta().hasDisplayName() && p.getInventory().getHelmet().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l+]") && !(p.hasPermission("essentials.kits.vip+"))) {
                            p.getInventory().getHelmet().setType(Material.AIR);
                        } else if(p.getInventory().getHelmet() != null && p.getInventory().getHelmet().getItemMeta().hasDisplayName() && p.getInventory().getHelmet().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&2&lELITE&f&l]") && !(p.hasPermission("essentials.kits.elite"))) {
                            p.getInventory().getHelmet().setType(Material.AIR);
                        } else if(p.getInventory().getHelmet() != null && p.getInventory().getHelmet().getItemMeta().hasDisplayName() && p.getInventory().getHelmet().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&4&lMEGA&f&l]") && !(p.hasPermission("essentials.kits.mega"))) {
                            p.getInventory().getHelmet().setType(Material.AIR);
                        } else if(p.getInventory().getHelmet() != null && p.getInventory().getHelmet().getItemMeta().hasDisplayName() && p.getInventory().getHelmet().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&e&lTITAN&f&l]") && !(p.hasPermission("essentials.kits.titan"))) {
                            p.getInventory().getHelmet().setType(Material.AIR);
                        }
                       
                        if(p.getInventory().getChestplate() != null && p.getInventory().getChestplate().getItemMeta().hasDisplayName() && p.getInventory().getChestplate().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l]") && !(p.hasPermission("essentials.kits.vip"))) {
                            p.getInventory().getChestplate().setType(Material.AIR);
                        } else if(p.getInventory().getChestplate() != null && p.getInventory().getChestplate().getItemMeta().hasDisplayName() && p.getInventory().getChestplate().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l+]") && !(p.hasPermission("essentials.kits.vip+"))) {
                            p.getInventory().getChestplate().setType(Material.AIR);
                        } else if(p.getInventory().getChestplate() != null && p.getInventory().getChestplate().getItemMeta().hasDisplayName() && p.getInventory().getChestplate().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&2&lELITE&f&l]") && !(p.hasPermission("essentials.kits.elite"))) {
                            p.getInventory().getChestplate().setType(Material.AIR);
                        } else if(p.getInventory().getChestplate() != null && p.getInventory().getChestplate().getItemMeta().hasDisplayName() && p.getInventory().getChestplate().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&4&lMEGA&f&l]") && !(p.hasPermission("essentials.kits.mega"))) {
                            p.getInventory().getChestplate().setType(Material.AIR);
                        } else if(p.getInventory().getChestplate() != null && p.getInventory().getChestplate().getItemMeta().hasDisplayName() && p.getInventory().getChestplate().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&e&lTITAN&f&l]") && !(p.hasPermission("essentials.kits.titan"))) {
                            p.getInventory().getChestplate().setType(Material.AIR);
                        }
                       
                        if(p.getInventory().getLeggings() != null && p.getInventory().getLeggings().getItemMeta().hasDisplayName() && p.getInventory().getLeggings().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l]") && !(p.hasPermission("essentials.kits.vip"))) {
                            p.getInventory().getLeggings().setType(Material.AIR);
                        } else if(p.getInventory().getLeggings() != null && p.getInventory().getLeggings().getItemMeta().hasDisplayName() && p.getInventory().getLeggings().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l+]") && !(p.hasPermission("essentials.kits.vip+"))) {
                            p.getInventory().getLeggings().setType(Material.AIR);
                        } else if(p.getInventory().getLeggings() != null && p.getInventory().getLeggings().getItemMeta().hasDisplayName() && p.getInventory().getLeggings().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&2&lELITE&f&l]") && !(p.hasPermission("essentials.kits.elite"))) {
                            p.getInventory().getLeggings().setType(Material.AIR);
                        } else if(p.getInventory().getLeggings() != null && p.getInventory().getLeggings().getItemMeta().hasDisplayName() && p.getInventory().getLeggings().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&4&lMEGA&f&l]") && !(p.hasPermission("essentials.kits.mega"))) {
                            p.getInventory().getLeggings().setType(Material.AIR);
                        } else if(p.getInventory().getLeggings() != null && p.getInventory().getLeggings().getItemMeta().hasDisplayName() && p.getInventory().getLeggings().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&e&lTITAN&f&l]") && !(p.hasPermission("essentials.kits.titan"))) {
                            p.getInventory().getLeggings().setType(Material.AIR);
                        }
                       
                        if(p.getInventory().getBoots() != null && p.getInventory().getBoots().getItemMeta().hasDisplayName() && p.getInventory().getBoots().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l]") && !(p.hasPermission("essentials.kits.vip"))) {
                            p.getInventory().getBoots().setType(Material.AIR);
                        } else if(p.getInventory().getBoots() != null && p.getInventory().getBoots().getItemMeta().hasDisplayName() && p.getInventory().getBoots().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l+]") && !(p.hasPermission("essentials.kits.vip+"))) {
                            p.getInventory().getBoots().setType(Material.AIR);
                        } else if(p.getInventory().getBoots() != null && p.getInventory().getBoots().getItemMeta().hasDisplayName() && p.getInventory().getBoots().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&2&lELITE&f&l]") && !(p.hasPermission("essentials.kits.elite"))) {
                            p.getInventory().getBoots().setType(Material.AIR);
                        } else if(p.getInventory().getBoots() != null && p.getInventory().getBoots().getItemMeta().hasDisplayName() && p.getInventory().getBoots().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&4&lMEGA&f&l]") && !(p.hasPermission("essentials.kits.mega"))) {
                            p.getInventory().getBoots().setType(Material.AIR);
                        } else if(p.getInventory().getBoots() != null && p.getInventory().getBoots().getItemMeta().hasDisplayName() && p.getInventory().getBoots().getItemMeta().getDisplayName() == ChatColor.translateAlternateColorCodes('&', "&f&l[&e&lTITAN&f&l]") && !(p.hasPermission("essentials.kits.titan"))) {
                            p.getInventory().getBoots().setType(Material.AIR);
                        }
                    }
                }
               
            }.runTaskTimer(this, 3L, 3L);
        }
    }
    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Nov 10, 2018
  17. !!
     
  18. Online

    timtower Administrator Administrator Moderator

    @Alabingu p.updateInventory()
    And you might want to rework your code.
    Code:
    if(p.getInventory().getHelmet()!=null){
      if(p.getInventory().getHelmet().getItemMeta().hasDisplayName()){
        String name = p.getInventory().getHelmet().getItemMeta().getDisplayName();
        // Your checks here
       }
     }
     
  19. Offline

    Alabingu

    Still doesn't work. :c.
    @timtower @DerDonut
    BTW, I don't have time to rework my code, sorry :C.
    Code:
    package alabingu.fullpvpkits;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Material;
    import org.bukkit.entity.Player;
    import org.bukkit.plugin.PluginDescriptionFile;
    import org.bukkit.plugin.java.JavaPlugin;
    import org.bukkit.scheduler.BukkitRunnable;
    
    public class FullPvPKits extends JavaPlugin {
      
        PluginDescriptionFile pdffile = getDescription();
        String name = pdffile.getName();
        String version = pdffile.getVersion();
      
        public void onEnable() {
            new BukkitRunnable() {
    
                @Override
                public void run() {
                  
                    for(final Player p : Bukkit.getOnlinePlayers()) {
                        if(p.getInventory().getHelmet() != null && p.getInventory().getHelmet().getItemMeta().hasDisplayName() && p.getInventory().getHelmet().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l]")) && !(p.hasPermission("essentials.kits.vip"))) {
                            p.getInventory().getHelmet().setType(Material.AIR);
                            p.updateInventory();
                        } else if(p.getInventory().getHelmet() != null && p.getInventory().getHelmet().getItemMeta().hasDisplayName() && p.getInventory().getHelmet().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l+]")) && !(p.hasPermission("essentials.kits.vip+"))) {
                            p.getInventory().getHelmet().setType(Material.AIR);
                            p.updateInventory();
                        } else if(p.getInventory().getHelmet() != null && p.getInventory().getHelmet().getItemMeta().hasDisplayName() && p.getInventory().getHelmet().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&2&lELITE&f&l]")) && !(p.hasPermission("essentials.kits.elite"))) {
                            p.getInventory().getHelmet().setType(Material.AIR);
                            p.updateInventory();
                        } else if(p.getInventory().getHelmet() != null && p.getInventory().getHelmet().getItemMeta().hasDisplayName() && p.getInventory().getHelmet().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&4&lMEGA&f&l]")) && !(p.hasPermission("essentials.kits.mega"))) {
                            p.getInventory().getHelmet().setType(Material.AIR);
                            p.updateInventory();
                        } else if(p.getInventory().getHelmet() != null && p.getInventory().getHelmet().getItemMeta().hasDisplayName() && p.getInventory().getHelmet().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&e&lTITAN&f&l]")) && !(p.hasPermission("essentials.kits.titan"))) {
                            p.getInventory().getHelmet().setType(Material.AIR);
                            p.updateInventory();
                        }
                      
                        if(p.getInventory().getChestplate() != null && p.getInventory().getChestplate().getItemMeta().hasDisplayName() && p.getInventory().getChestplate().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l]")) && !(p.hasPermission("essentials.kits.vip"))) {
                            p.getInventory().getChestplate().setType(Material.AIR);
                            p.updateInventory();
                        } else if(p.getInventory().getChestplate() != null && p.getInventory().getChestplate().getItemMeta().hasDisplayName() && p.getInventory().getChestplate().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l+]")) && !(p.hasPermission("essentials.kits.vip+"))) {
                            p.getInventory().getChestplate().setType(Material.AIR);
                            p.updateInventory();
                        } else if(p.getInventory().getChestplate() != null && p.getInventory().getChestplate().getItemMeta().hasDisplayName() && p.getInventory().getChestplate().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&2&lELITE&f&l]")) && !(p.hasPermission("essentials.kits.elite"))) {
                            p.getInventory().getChestplate().setType(Material.AIR);
                            p.updateInventory();
                        } else if(p.getInventory().getChestplate() != null && p.getInventory().getChestplate().getItemMeta().hasDisplayName() && p.getInventory().getChestplate().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&4&lMEGA&f&l]")) && !(p.hasPermission("essentials.kits.mega"))) {
                            p.getInventory().getChestplate().setType(Material.AIR);
                            p.updateInventory();
                        } else if(p.getInventory().getChestplate() != null && p.getInventory().getChestplate().getItemMeta().hasDisplayName() && p.getInventory().getChestplate().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&e&lTITAN&f&l]")) && !(p.hasPermission("essentials.kits.titan"))) {
                            p.getInventory().getChestplate().setType(Material.AIR);
                            p.updateInventory();
                        }
                      
                        if(p.getInventory().getLeggings() != null && p.getInventory().getLeggings().getItemMeta().hasDisplayName() && p.getInventory().getLeggings().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l]")) && !(p.hasPermission("essentials.kits.vip"))) {
                            p.getInventory().getLeggings().setType(Material.AIR);
                            p.updateInventory();
                        } else if(p.getInventory().getLeggings() != null && p.getInventory().getLeggings().getItemMeta().hasDisplayName() && p.getInventory().getLeggings().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l+]")) && !(p.hasPermission("essentials.kits.vip+"))) {
                            p.getInventory().getLeggings().setType(Material.AIR);
                            p.updateInventory();
                        } else if(p.getInventory().getLeggings() != null && p.getInventory().getLeggings().getItemMeta().hasDisplayName() && p.getInventory().getLeggings().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&2&lELITE&f&l]")) && !(p.hasPermission("essentials.kits.elite"))) {
                            p.getInventory().getLeggings().setType(Material.AIR);
                            p.updateInventory();
                        } else if(p.getInventory().getLeggings() != null && p.getInventory().getLeggings().getItemMeta().hasDisplayName() && p.getInventory().getLeggings().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&4&lMEGA&f&l]")) && !(p.hasPermission("essentials.kits.mega"))) {
                            p.getInventory().getLeggings().setType(Material.AIR);
                            p.updateInventory();
                        } else if(p.getInventory().getLeggings() != null && p.getInventory().getLeggings().getItemMeta().hasDisplayName() && p.getInventory().getLeggings().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&e&lTITAN&f&l]")) && !(p.hasPermission("essentials.kits.titan"))) {
                            p.getInventory().getLeggings().setType(Material.AIR);
                            p.updateInventory();
                        }
                      
                        if(p.getInventory().getBoots() != null && p.getInventory().getBoots().getItemMeta().hasDisplayName() && p.getInventory().getBoots().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l]")) && !(p.hasPermission("essentials.kits.vip"))) {
                            p.getInventory().getBoots().setType(Material.AIR);
                            p.updateInventory();
                        } else if(p.getInventory().getBoots() != null && p.getInventory().getBoots().getItemMeta().hasDisplayName() && p.getInventory().getBoots().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&6&lVIP&f&l+]")) && !(p.hasPermission("essentials.kits.vip+"))) {
                            p.getInventory().getBoots().setType(Material.AIR);
                            p.updateInventory();
                        } else if(p.getInventory().getBoots() != null && p.getInventory().getBoots().getItemMeta().hasDisplayName() && p.getInventory().getBoots().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&2&lELITE&f&l]")) && !(p.hasPermission("essentials.kits.elite"))) {
                            p.getInventory().getBoots().setType(Material.AIR);
                            p.updateInventory();
                        } else if(p.getInventory().getBoots() != null && p.getInventory().getBoots().getItemMeta().hasDisplayName() && p.getInventory().getBoots().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&4&lMEGA&f&l]")) && !(p.hasPermission("essentials.kits.mega"))) {
                            p.getInventory().getBoots().setType(Material.AIR);
                            p.updateInventory();
                        } else if(p.getInventory().getBoots() != null && p.getInventory().getBoots().getItemMeta().hasDisplayName() && p.getInventory().getBoots().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', "&f&l[&e&lTITAN&f&l]")) && !(p.hasPermission("essentials.kits.titan"))) {
                            p.getInventory().getBoots().setType(Material.AIR);
                            p.updateInventory();
                        }
                    }
                }
              
            }.runTaskTimer(this, 3L, 3L);
        }
    }
     
  20. Online

    timtower Administrator Administrator Moderator

    @Alabingu Clean code is usable code.
    For some things you need to make time.
    Then you can debug at least.
     
Thread Status:
Not open for further replies.

Share This Page