Solved org.bukkit.plugin.InvalidPluginException: java.lang.ExceptionInInitializerError

Discussion in 'Plugin Development' started by sistem21, Sep 13, 2015.

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

    sistem21

    Hi guys,today i was debugging my plugin,i exported it,ran the server and i got this error:
    Code:
    [13:23:31] [Server thread/ERROR]: Could not load 'plugins\KrypticColor.jar' in folder 'plugins'
    org.bukkit.plugin.InvalidPluginException: java.lang.ExceptionInInitializerError
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:135) ~[spigot.jar:git-Spigot-6d16e64-09ddd9b]
        at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:329) ~[spigot.jar:git-Spigot-6d16e64-09ddd9b]
        at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:251) [spigot.jar:git-Spigot-6d16e64-09ddd9b]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugins(CraftServer.java:291) [spigot.jar:git-Spigot-6d16e64-09ddd9b]
        at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:198) [spigot.jar:git-Spigot-6d16e64-09ddd9b]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:524) [spigot.jar:git-Spigot-6d16e64-09ddd9b]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_45]
    Caused by: java.lang.ExceptionInInitializerError
        at java.lang.Class.forName0(Native Method) ~[?:1.8.0_45]
        at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_45]
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:64) ~[spigot.jar:git-Spigot-6d16e64-09ddd9b]
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:131) ~[spigot.jar:git-Spigot-6d16e64-09ddd9b]
        ... 6 more
    Caused by: java.lang.NullPointerException
        at me.sistem21.KrypticColor.KrypticColor.<clinit>(KrypticColor.java:24) ~[?:?]
        at java.lang.Class.forName0(Native Method) ~[?:1.8.0_45]
        at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_45]
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:64) ~[spigot.jar:git-Spigot-6d16e64-09ddd9b]
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:131) ~[spigot.jar:git-Spigot-6d16e64-09ddd9b]
        ... 6 more
    here is what i coded: ( i saw that error is on line 24)
    Code:
    package me.sistem21.KrypticColor;
    
    import java.util.Collections;
    
    import org.bukkit.Bukkit;
    import org.bukkit.Material;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.configuration.file.FileConfiguration;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.inventory.InventoryClickEvent;
    import org.bukkit.inventory.Inventory;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.meta.ItemMeta;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class KrypticColor extends JavaPlugin implements Listener {
    
        KrypticColor plugin;
        private static FileConfiguration config;
        private static  Inventory nameColor = Bukkit.createInventory(null, 27,
                config.getString("Settings.Inventory.Name")
                .replaceAll("&", "§"));
        private static ItemStack bianco,arancione,magenta,azzurro,giallo,verde1,rosa,grigio,grigio1,ciano,viola,blu,marrone,verde,nero, rosso, esci;
    
        public void onEnable(){
            plugin = this;
          
            /*
             *
             * TODO: add lores
             *
             */
          
            bianco = new ItemStack(Material.WOOL, 1);
            ItemMeta biancoM = bianco.getItemMeta();
            biancoM.setDisplayName(config.getString("Settings.Items.WhiteWool.DisplayName")
                    .replaceAll("&", "§"));
            Collections.replaceAll(config.getStringList("Settings.Items.WhiteWool.Lore"), "&", "§");
            biancoM.setLore(config.getStringList("Settings.Items.WhiteWool.Lore"));
            bianco.setItemMeta(biancoM);
          
            arancione = new ItemStack(Material.WOOL, 1, (short) 1);
            ItemMeta arM = arancione.getItemMeta();
            arM.setDisplayName(config.getString("Settings.Items.OrangeWool.DisplayName")
                    .replaceAll("&", "§"));
            arancione.setItemMeta(arM);
          
            magenta = new ItemStack(Material.WOOL, 1, (short) 2);
            ItemMeta magM = magenta.getItemMeta();
            magM.setDisplayName(config.getString("Settings.Items.MagentaWool.DisplayName")
                    .replaceAll("&", "§"));
            magenta.setItemMeta(magM);
          
            azzurro = new ItemStack(Material.WOOL, 1, (short) 3);
            ItemMeta azM = azzurro.getItemMeta();
            azM.setDisplayName(config.getString("Settings.Items.LightBlueWool.DisplayName")
                    .replaceAll("&", "§"));
            azzurro.setItemMeta(azM);
          
            giallo = new ItemStack(Material.WOOL, 1, (short) 4);
            ItemMeta gialloM = giallo.getItemMeta();
            gialloM.setDisplayName(config.getString("Settings.Items.YellowWool.DisplayName")
                    .replaceAll("&", "§"));
            giallo.setItemMeta(gialloM);
          
            verde1 = new ItemStack(Material.WOOL, 1, (short) 5);
            ItemMeta verde1M = verde1.getItemMeta();
            verde1M.setDisplayName(config.getString("Settings.Items.LightGreenWool.DisplayName")
                    .replaceAll("&", "§"));
            verde1.setItemMeta(verde1M);
          
            rosa = new ItemStack(Material.WOOL, 1, (short) 6);
            ItemMeta rosaM = rosa.getItemMeta();
            rosaM.setDisplayName(config.getString("Settings.Items.PinkWool.DisplayName")
                    .replaceAll("&", "§"));
            rosa.setItemMeta(rosaM);
          
            grigio = new ItemStack(Material.WOOL, 1, (short) 7);
            ItemMeta grigioM = grigio.getItemMeta();
            grigioM.setDisplayName(config.getString("Settings.Items.GreyWool.DisplayName")
                    .replaceAll("&", "§"));
            grigio.setItemMeta(grigioM);
          
            grigio1 = new ItemStack(Material.WOOL, 1, (short) 8);
            ItemMeta grigio1M = grigio1.getItemMeta();
            grigio1M.setDisplayName(config.getString("Settings.Items.LightGreyWool.DisplayName")
                    .replaceAll("&", "§"));
            grigio1.setItemMeta(grigio1M);
          
            ciano = new ItemStack(Material.WOOL, 1, (short) 9);
            ItemMeta cianoM = ciano.getItemMeta();
            cianoM.setDisplayName(config.getString("Settings.Items.CyanWool.DisplayName")
                    .replaceAll("&", "§"));
            ciano.setItemMeta(cianoM);
          
            viola = new ItemStack(Material.WOOL, 1, (short) 10);
            ItemMeta violaM = viola.getItemMeta();
            violaM.setDisplayName(config.getString("Settings.Items.PurpleWool.DisplayName")
                    .replaceAll("&", "§"));
            viola.setItemMeta(violaM);
          
            blu = new ItemStack(Material.WOOL, 1, (short) 11);
            ItemMeta bluM = bianco.getItemMeta();
            bluM.setDisplayName(config.getString("Settings.Items.BlueWool.DisplayName")
                    .replaceAll("&", "§"));
            blu.setItemMeta(bluM);
          
            marrone = new ItemStack(Material.WOOL, 1, (short) 12);
            ItemMeta marM = marrone.getItemMeta();
            marM.setDisplayName(config.getString("Settings.Items.BrownWool.DisplayName")
                    .replaceAll("&", "§"));
            marrone.setItemMeta(marM);
          
            verde = new ItemStack(Material.WOOL, 1, (short) 13);
            ItemMeta verdeM = verde.getItemMeta();
            verdeM.setDisplayName(config.getString("Settings.Items.GreenWool.DisplayName")
                    .replaceAll("&", "§"));
            verde.setItemMeta(verdeM);
          
            nero = new ItemStack(Material.WOOL, 1, (short) 15);
            ItemMeta neroM = nero.getItemMeta();
            neroM.setDisplayName(config.getString("Settings.Items.BlackWool.DisplayName")
                    .replaceAll("&", "§"));
            nero.setItemMeta(neroM);
          
            rosso = new ItemStack(Material.WOOL, 1, (short) 14);
            ItemMeta rossoM = rosso.getItemMeta();
            rossoM.setDisplayName(config.getString("Settings.Items.RedWool.DisplayName")
                    .replaceAll("&", "§"));
            rosso.setItemMeta(rossoM);
          
            esci = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 14);
            ItemMeta esciM = esci.getItemMeta();
            esciM.setDisplayName(config.getString("Settings.Items.CloseMenu.DisplayName")
                    .replaceAll("&", "§"));
            esci.setItemMeta(esciM);
          
            config = getConfig();
            saveDefaultConfig();
            Bukkit.getServer().getPluginManager().registerEvents(this, this);
          
        }
      
        static{
          
            nameColor.setItem(config.getInt("Settings.Items.WhiteWool.Slot"), bianco);
            nameColor.setItem(config.getInt("Settings.Items.OrangeWool.Slot"), arancione);
            nameColor.setItem(config.getInt("Settings.Items.MagentaWool.Slot"), magenta);
            nameColor.setItem(config.getInt("Settings.Items.LightBlueWool.Slot"), azzurro);
            nameColor.setItem(config.getInt("Settings.Items.YellowWool.Slot"), giallo);
            nameColor.setItem(config.getInt("Settings.Items.LightGreenWool.Slot"), verde1);
            nameColor.setItem(config.getInt("Settings.Items.PinkWool.Slot"), rosa);
            nameColor.setItem(config.getInt("Settings.Items.GreyWool.Slot"), grigio);
            nameColor.setItem(config.getInt("Settings.Items.LightGreyWool.Slot"), grigio1);
            nameColor.setItem(config.getInt("Settings.Items.CyanWool.Slot"), ciano);
            nameColor.setItem(config.getInt("Settings.Items.PurpleWool.Slot"), viola);
            nameColor.setItem(config.getInt("Settings.Items.BlueWool.Slot"), blu);
            nameColor.setItem(config.getInt("Settings.Items.BrownWool.Slot"), marrone);
            nameColor.setItem(config.getInt("Settings.Items.GreenWool.Slot"), verde);
            nameColor.setItem(config.getInt("Settings.Items.BlackWool.Slot"), nero);
            nameColor.setItem(config.getInt("Settings.Items.RedWool.Slot"), rosso);
            nameColor.setItem(config.getInt("Settings.Items.CloseMenu.Slot"), esci);
          
        }
    
        public boolean onCommand(CommandSender sender, Command cmd, String label,
                String[] args) {
            if (sender instanceof Player) {
                Player p = (Player) sender;
                if (cmd.getName().equalsIgnoreCase("namecolor")) {
                    if(args.length == 0){
                        p.openInventory(nameColor);
                    }else if(args.length == 1){
                        if(args[0].equalsIgnoreCase("reload")){
                            if(p.isOp()){
                                reloadConfig();
                            }else{
                                p.sendMessage("§4You don't have permissions for this command!");
                            }
                        }
                    }
                  
                }
            } else {
                sender.sendMessage("§4You have to be a player to execute that command!");
                return false;
            }
            return false;
        }
      
        @EventHandler
        public void onClick(InventoryClickEvent e){
            Player p = (Player) e.getWhoClicked();
            ItemStack clicked = e.getCurrentItem();
            Inventory inv = e.getInventory();
            if(inv.getName() == nameColor.getName()){
                if(clicked == bianco){
                    e.setCancelled(true);
                    p.closeInventory();
                    p.setDisplayName("§f" + p.getName());
                    p.sendMessage(config.getString("Settings.Items.WhiteWool.Message")
                            .replaceAll("&", "§")
                            .replaceAll("%player%", p.getName()));
                }else if(clicked == arancione){
                    e.setCancelled(true);
                    p.closeInventory();
                    p.setDisplayName("§6" + p.getName());
                    p.sendMessage(config.getString("Settings.Items.OrangeWool.Message")
                            .replaceAll("&", "§")
                            .replaceAll("%player%", p.getName()));
                }else if(clicked == magenta){
                    e.setCancelled(true);
                    p.closeInventory();
                    p.setDisplayName("§d" + p.getName());
                    p.sendMessage(config.getString("Settings.Items.MagentaWool.Message")
                            .replaceAll("&", "§")
                            .replaceAll("%player%", p.getName()));
                }else if(clicked == azzurro){
                    e.setCancelled(true);
                    p.closeInventory();
                    p.setDisplayName("§b" + p.getName());
                    p.sendMessage(config.getString("Settings.Items.LightBlueWool.Message")
                            .replaceAll("&", "§")
                            .replaceAll("%player%", p.getName()));
                }else if(clicked == giallo){
                    e.setCancelled(true);
                    p.closeInventory();
                    p.setDisplayName("§e" + p.getName());
                    p.sendMessage(config.getString("Settings.Items.YellowWool.Message")
                            .replaceAll("&", "§")
                            .replaceAll("%player%", p.getName()));
                }else if(clicked == verde1){
                    e.setCancelled(true);
                    p.closeInventory();
                    p.setDisplayName("§a" + p.getName());
                    p.sendMessage(config.getString("Settings.Items.LightGreenWool.Message")
                            .replaceAll("&", "§")
                            .replaceAll("%player%", p.getName()));
                }else if(clicked == rosa){
                    e.setCancelled(true);
                    p.closeInventory();
                    p.setDisplayName("§d" + p.getName());
                    p.sendMessage(config.getString("Settings.Items.PinkWool.Message")
                            .replaceAll("&", "§")
                            .replaceAll("%player%", p.getName()));
                }else if(clicked == grigio){
                    e.setCancelled(true);
                    p.closeInventory();
                    p.setDisplayName("§8" + p.getName());
                    p.sendMessage(config.getString("Settings.Items.GreyWool.Message")
                            .replaceAll("&", "§")
                            .replaceAll("%player%", p.getName()));
                }else if(clicked == grigio1){
                    e.setCancelled(true);
                    p.closeInventory();
                    p.setDisplayName("§7" + p.getName());
                    p.sendMessage(config.getString("Settings.Items.LightGreyWool.Message")
                            .replaceAll("&", "§")
                            .replaceAll("%player%", p.getName()));
                }else if(clicked == ciano){
                    e.setCancelled(true);
                    p.closeInventory();
                    p.setDisplayName("§3" + p.getName());
                    p.sendMessage(config.getString("Settings.Items.CyanWool.Message")
                            .replaceAll("&", "§")
                            .replaceAll("%player%", p.getName()));
                }else if(clicked == viola){
                    e.setCancelled(true);
                    p.closeInventory();
                    p.setDisplayName("§5" + p.getName());
                    p.sendMessage(config.getString("Settings.Items.PurpleWool.Message")
                            .replaceAll("&", "§")
                            .replaceAll("%player%", p.getName()));
                }else if(clicked == blu){
                    e.setCancelled(true);
                    p.closeInventory();
                    p.setDisplayName("§1" + p.getName());
                    p.sendMessage(config.getString("Settings.Items.BlueWool.Message")
                            .replaceAll("&", "§")
                            .replaceAll("%player%", p.getName()));
                }else if(clicked == marrone){
                    e.setCancelled(true);
                    p.closeInventory();
                    p.setDisplayName("§6" + p.getName());
                    p.sendMessage(config.getString("Settings.Items.BrownWool.Message")
                            .replaceAll("&", "§")
                            .replaceAll("%player%", p.getName()));
                }else if(clicked == verde){
                    e.setCancelled(true);
                    p.closeInventory();
                    p.setDisplayName("§2" + p.getName());
                    p.sendMessage(config.getString("Settings.Items.GreenWool.Message")
                            .replaceAll("&", "§")
                            .replaceAll("%player%", p.getName()));
                }else if(clicked == nero){
                    e.setCancelled(true);
                    p.closeInventory();
                    p.setDisplayName("§0" + p.getName());
                    p.sendMessage(config.getString("Settings.Items.BlackWool.Message")
                            .replaceAll("&", "§")
                            .replaceAll("%player%", p.getName()));
                }else if(clicked == rosso){
                    e.setCancelled(true);
                    p.closeInventory();
                    p.setDisplayName("§4" + p.getName());
                    p.sendMessage(config.getString("Settings.Items.RedWool.Message")
                            .replaceAll("&", "§")
                            .replaceAll("%player%", p.getName()));
                }else if(clicked == esci){
                    e.setCancelled(true);
                    p.closeInventory();
                    p.sendMessage(config.getString("Settings.Items.CloseMenu.Message")
                            .replaceAll("&", "§")
                            .replaceAll("%player%", p.getName()));
                }
            }
        }
      
    }
    
    And my config.yml:
    Code:
    #KrypticColor config
    
    #You can use colors!
    Settings:
        Inventory: #Set inventory Name!
          Name: "&0NameColor"
        Items:
          WhiteWool:
             DisplayName: "&fWhite Color" #set display name for items
             Slot: 0 #set slot for items
             Message: "&bName&fColor &7>> &f%player%, your display name now is White!" #set message after choice of the color! You can use variable %player,that will be replaced( in game ) to the player name!
             Lore: #set lore for items
             - '&4prova'
             - '&4Simo'
          OrangeWool:
             DisplayName: "&6Orange Color"
             Slot: 1
             Message: "&bName&fColor &7>> &f%player%, your display name now is Orange!"
          MagentaWool:
             DisplayName: "&dMagenta Color"
             Slot: 2
             Message: "&bName&fColor &7>> &f%player%, your display name now is Magenta!"
          LightBlueWool:
             DisplayName: "&bLight Blue Color"
             Slot: 3
             Message: "&bName&fColor &7>> &f%player%, your display name now is Light Blue!"
          YellowWool:
             DisplayName: "&eYellow Color"
             Slot: 4
             Message: "&bName&fColor &7>> &f%player%, your display name now is Yellow!"
          LightGreenWool:
             DisplayName: "&aLight Green Color"
             Slot: 5
             Message: "&bName&fColor &7>> &f%player%, your display name now is Light Green!"
          PinkWool:
             DisplayName: "&dPink Color"
             Slot: 6
             Message: "&bName&fColor &7>> &f%player%, your display name now is Pink!"
          GreyWool:
             DisplayName: "&8Grey Color"
             Slot: 7
             Message: "&bName&fColor &7>> &f%player%, your display name now is Grey!"
          LightGreyColor:
             DisplayName: "&7Light Grey Color"
             Slot: 8   
             Message: "&bName&fColor &7>> &f%player%, your display name now is Light Grey!"
          CyanWool:
             DisplayName: "&3Cyan Color"
             Slot: 9
             Message: "&bName&fColor &7>> &f%player%, your display name now is Cyan!"
          PurpleWool:
             DisplayName: "&5Purple Color"
             Slot: 10
             Message: "&bName&fColor &7>> &f%player%, your display name now is Purple!"
          BlueWool:
             DisplayName: "&1Blue Color"
             Slot: 11
             Message: "&bName&fColor &7>> &f%player%, your display name now is Blue!"
          BrownWool:
             DisplayName: "&fWhite Color"
             Slot: 12
             Message: "&bName&fColor &7>> &f%player%, your display name now is Brown!"
          GreenWool:
             DisplayName: "&2Green Color"
             Slot: 13
             Message: "&bName&fColor &7>> &f%player%, your display name now is Green!"
          RedWool:
             DisplayName: "&4Red Color"
             Slot: 14
             Message: "&bName&fColor &7>> &f%player%, your display name now is Red!"
          BlackWool:
             DisplayName: "&0Black Color"
             Slot: 15
             Message: "&bName&fColor &7>> &f%player%, your display name now is Black!"
          CloseMenu:
             DisplayName: "&4Close Color's GUI"
             Slot: 27
             
    Please,help me i'm desperated xD
     
    Last edited: Sep 13, 2015
  2. Offline

    WPM

    Is "Settings.Inventory.Name" in the config?
     
  3. Offline

    sistem21

    yes..i added config file to the post @WPM
     
  4. @sistem21 Notice you have four spaces from Settings to Inventory, but only two spaces from Inventory to Name. I think it's four spaces for everything. Try setting all of the spaces to be four from the previous section (unless it's not part of that section). If that doesn't work, try them all with 2 spaces.

    Edit: Also never press tab on the config (not like you did)

    Code:
    #KrypticColor config
    
    #You can use colors!
    Settings:
        Inventory: #Set inventory Name!
          Name: "&0NameColor"
    Try changing that to
    Code:
    #KrypticColor config
    
    #You can use colors!
    Settings:
        Inventory: #Set inventory Name!
            Name: "&0NameColor"
    Difference: Second code has eight spaces in front of Name instead of 6

    Edit: Sorry, accident with the double posting. Meant to press edit. Please merge.

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

    teej107

    @sistem21 Do yourself a favor and assign your fields a value AND do it inside the onEnable
     
  6. Offline

    sistem21

    @teej107 now it gives me this error:
    Code:
    Could not load 'plugins\KrypticColor.jar' in folder 'plugins'
    org.bukkit.plugin.InvalidPluginException: java.lang.ExceptionInInitializerError
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:135) ~[spigot.jar:git-Spigot-0359393-9cd1111]
        at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:329) ~[spigot.jar:git-Spigot-0359393-9cd1111]
        at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:251) [spigot.jar:git-Spigot-0359393-9cd1111]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugins(CraftServer.java:292) [spigot.jar:git-Spigot-0359393-9cd1111]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.reload(CraftServer.java:739) [spigot.jar:git-Spigot-0359393-9cd1111]
        at org.bukkit.Bukkit.reload(Bukkit.java:535) [spigot.jar:git-Spigot-0359393-9cd1111]
        at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:25) [spigot.jar:git-Spigot-0359393-9cd1111]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) [spigot.jar:git-Spigot-0359393-9cd1111]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:641) [spigot.jar:git-Spigot-0359393-9cd1111]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchServerCommand(CraftServer.java:627) [spigot.jar:git-Spigot-0359393-9cd1111]
        at net.minecraft.server.v1_8_R3.DedicatedServer.aO(DedicatedServer.java:412) [spigot.jar:git-Spigot-0359393-9cd1111]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:375) [spigot.jar:git-Spigot-0359393-9cd1111]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:653) [spigot.jar:git-Spigot-0359393-9cd1111]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:556) [spigot.jar:git-Spigot-0359393-9cd1111]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_45]
    Caused by: java.lang.ExceptionInInitializerError
        at java.lang.Class.forName0(Native Method) ~[?:1.8.0_45]
        at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_45]
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:64) ~[spigot.jar:git-Spigot-0359393-9cd1111]
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:131) ~[spigot.jar:git-Spigot-0359393-9cd1111]
        ... 14 more
    Caused by: java.lang.NullPointerException
        at me.sistem21.KrypticColor.KrypticColor.<clinit>(KrypticColor.java:150) ~[?:?]
        at java.lang.Class.forName0(Native Method) ~[?:1.8.0_45]
        at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_45]
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:64) ~[spigot.jar:git-Spigot-0359393-9cd1111]
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:131) ~[spigot.jar:git-Spigot-0359393-9cd1111]
        ... 14 more
    here is code modified:
    Code:java
    1. package me.sistem21.KrypticColor;
    2.  
    3. import java.util.Collections;
    4.  
    5. import org.bukkit.Bukkit;
    6. import org.bukkit.Material;
    7. import org.bukkit.command.Command;
    8. import org.bukkit.command.CommandSender;
    9. import org.bukkit.configuration.file.FileConfiguration;
    10. import org.bukkit.entity.Player;
    11. import org.bukkit.event.EventHandler;
    12. import org.bukkit.event.Listener;
    13. import org.bukkit.event.inventory.InventoryClickEvent;
    14. import org.bukkit.inventory.Inventory;
    15. import org.bukkit.inventory.ItemStack;
    16. import org.bukkit.inventory.meta.ItemMeta;
    17. import org.bukkit.plugin.java.JavaPlugin;
    18.  
    19. public class KrypticColor extends JavaPlugin implements Listener {
    20.  
    21. KrypticColor plugin;
    22. private static FileConfiguration config;
    23. private static Inventory nameColor;
    24. private static ItemStack bianco,arancione,magenta,azzurro,giallo,verde1,rosa,grigio,grigio1,ciano,viola,blu,marrone,verde,nero, rosso, esci;
    25.  
    26. public void onEnable(){
    27. plugin = this;
    28.  
    29. /*
    30.   *
    31.   * TODO: add lores
    32.   *
    33.   */
    34.  
    35. bianco = new ItemStack(Material.WOOL, 1);
    36. ItemMeta biancoM = bianco.getItemMeta();
    37. biancoM.setDisplayName(config.getString("Settings.Items.WhiteWool.DisplayName")
    38. .replaceAll("&", "§"));
    39. Collections.replaceAll(config.getStringList("Settings.Items.WhiteWool.Lore"), "&", "§");
    40. biancoM.setLore(config.getStringList("Settings.Items.WhiteWool.Lore"));
    41. bianco.setItemMeta(biancoM);
    42.  
    43. arancione = new ItemStack(Material.WOOL, 1, (short) 1);
    44. ItemMeta arM = arancione.getItemMeta();
    45. arM.setDisplayName(config.getString("Settings.Items.OrangeWool.DisplayName")
    46. .replaceAll("&", "§"));
    47. arancione.setItemMeta(arM);
    48.  
    49. magenta = new ItemStack(Material.WOOL, 1, (short) 2);
    50. ItemMeta magM = magenta.getItemMeta();
    51. magM.setDisplayName(config.getString("Settings.Items.MagentaWool.DisplayName")
    52. .replaceAll("&", "§"));
    53. magenta.setItemMeta(magM);
    54.  
    55. azzurro = new ItemStack(Material.WOOL, 1, (short) 3);
    56. ItemMeta azM = azzurro.getItemMeta();
    57. azM.setDisplayName(config.getString("Settings.Items.LightBlueWool.DisplayName")
    58. .replaceAll("&", "§"));
    59. azzurro.setItemMeta(azM);
    60.  
    61. giallo = new ItemStack(Material.WOOL, 1, (short) 4);
    62. ItemMeta gialloM = giallo.getItemMeta();
    63. gialloM.setDisplayName(config.getString("Settings.Items.YellowWool.DisplayName")
    64. .replaceAll("&", "§"));
    65. giallo.setItemMeta(gialloM);
    66.  
    67. verde1 = new ItemStack(Material.WOOL, 1, (short) 5);
    68. ItemMeta verde1M = verde1.getItemMeta();
    69. verde1M.setDisplayName(config.getString("Settings.Items.LightGreenWool.DisplayName")
    70. .replaceAll("&", "§"));
    71. verde1.setItemMeta(verde1M);
    72.  
    73. rosa = new ItemStack(Material.WOOL, 1, (short) 6);
    74. ItemMeta rosaM = rosa.getItemMeta();
    75. rosaM.setDisplayName(config.getString("Settings.Items.PinkWool.DisplayName")
    76. .replaceAll("&", "§"));
    77. rosa.setItemMeta(rosaM);
    78.  
    79. grigio = new ItemStack(Material.WOOL, 1, (short) 7);
    80. ItemMeta grigioM = grigio.getItemMeta();
    81. grigioM.setDisplayName(config.getString("Settings.Items.GreyWool.DisplayName")
    82. .replaceAll("&", "§"));
    83. grigio.setItemMeta(grigioM);
    84.  
    85. grigio1 = new ItemStack(Material.WOOL, 1, (short) 8);
    86. ItemMeta grigio1M = grigio1.getItemMeta();
    87. grigio1M.setDisplayName(config.getString("Settings.Items.LightGreyWool.DisplayName")
    88. .replaceAll("&", "§"));
    89. grigio1.setItemMeta(grigio1M);
    90.  
    91. ciano = new ItemStack(Material.WOOL, 1, (short) 9);
    92. ItemMeta cianoM = ciano.getItemMeta();
    93. cianoM.setDisplayName(config.getString("Settings.Items.CyanWool.DisplayName")
    94. .replaceAll("&", "§"));
    95. ciano.setItemMeta(cianoM);
    96.  
    97. viola = new ItemStack(Material.WOOL, 1, (short) 10);
    98. ItemMeta violaM = viola.getItemMeta();
    99. violaM.setDisplayName(config.getString("Settings.Items.PurpleWool.DisplayName")
    100. .replaceAll("&", "§"));
    101. viola.setItemMeta(violaM);
    102.  
    103. blu = new ItemStack(Material.WOOL, 1, (short) 11);
    104. ItemMeta bluM = bianco.getItemMeta();
    105. bluM.setDisplayName(config.getString("Settings.Items.BlueWool.DisplayName")
    106. .replaceAll("&", "§"));
    107. blu.setItemMeta(bluM);
    108.  
    109. marrone = new ItemStack(Material.WOOL, 1, (short) 12);
    110. ItemMeta marM = marrone.getItemMeta();
    111. marM.setDisplayName(config.getString("Settings.Items.BrownWool.DisplayName")
    112. .replaceAll("&", "§"));
    113. marrone.setItemMeta(marM);
    114.  
    115. verde = new ItemStack(Material.WOOL, 1, (short) 13);
    116. ItemMeta verdeM = verde.getItemMeta();
    117. verdeM.setDisplayName(config.getString("Settings.Items.GreenWool.DisplayName")
    118. .replaceAll("&", "§"));
    119. verde.setItemMeta(verdeM);
    120.  
    121. nero = new ItemStack(Material.WOOL, 1, (short) 15);
    122. ItemMeta neroM = nero.getItemMeta();
    123. neroM.setDisplayName(config.getString("Settings.Items.BlackWool.DisplayName")
    124. .replaceAll("&", "§"));
    125. nero.setItemMeta(neroM);
    126.  
    127. rosso = new ItemStack(Material.WOOL, 1, (short) 14);
    128. ItemMeta rossoM = rosso.getItemMeta();
    129. rossoM.setDisplayName(config.getString("Settings.Items.RedWool.DisplayName")
    130. .replaceAll("&", "§"));
    131. rosso.setItemMeta(rossoM);
    132.  
    133. esci = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 14);
    134. ItemMeta esciM = esci.getItemMeta();
    135. esciM.setDisplayName(config.getString("Settings.Items.CloseMenu.DisplayName")
    136. .replaceAll("&", "§"));
    137. esci.setItemMeta(esciM);
    138.  
    139. config = getConfig();
    140. saveDefaultConfig();
    141. Bukkit.getServer().getPluginManager().registerEvents(this, this);
    142.  
    143. nameColor = Bukkit.createInventory(null, 27,
    144. config.getString("Settings.Inventory.Name")
    145. .replaceAll("&", "§"));
    146. }
    147.  
    148. static{
    149.  
    150. nameColor.setItem(config.getInt("Settings.Items.WhiteWool.Slot"), bianco);
    151. nameColor.setItem(config.getInt("Settings.Items.OrangeWool.Slot"), arancione);
    152. nameColor.setItem(config.getInt("Settings.Items.MagentaWool.Slot"), magenta);
    153. nameColor.setItem(config.getInt("Settings.Items.LightBlueWool.Slot"), azzurro);
    154. nameColor.setItem(config.getInt("Settings.Items.YellowWool.Slot"), giallo);
    155. nameColor.setItem(config.getInt("Settings.Items.LightGreenWool.Slot"), verde1);
    156. nameColor.setItem(config.getInt("Settings.Items.PinkWool.Slot"), rosa);
    157. nameColor.setItem(config.getInt("Settings.Items.GreyWool.Slot"), grigio);
    158. nameColor.setItem(config.getInt("Settings.Items.LightGreyWool.Slot"), grigio1);
    159. nameColor.setItem(config.getInt("Settings.Items.CyanWool.Slot"), ciano);
    160. nameColor.setItem(config.getInt("Settings.Items.PurpleWool.Slot"), viola);
    161. nameColor.setItem(config.getInt("Settings.Items.BlueWool.Slot"), blu);
    162. nameColor.setItem(config.getInt("Settings.Items.BrownWool.Slot"), marrone);
    163. nameColor.setItem(config.getInt("Settings.Items.GreenWool.Slot"), verde);
    164. nameColor.setItem(config.getInt("Settings.Items.BlackWool.Slot"), nero);
    165. nameColor.setItem(config.getInt("Settings.Items.RedWool.Slot"), rosso);
    166. nameColor.setItem(config.getInt("Settings.Items.CloseMenu.Slot"), esci);
    167.  
    168. }
    169.  
    170. public boolean onCommand(CommandSender sender, Command cmd, String label,
    171. String[] args) {
    172. if (sender instanceof Player) {
    173. Player p = (Player) sender;
    174. if (cmd.getName().equalsIgnoreCase("namecolor")) {
    175. if(args.length == 0){
    176. p.openInventory(nameColor);
    177. }else if(args.length == 1){
    178. if(args[0].equalsIgnoreCase("reload")){
    179. if(p.isOp()){
    180. reloadConfig();
    181. }else{
    182. p.sendMessage("§4You don't have permissions for this command!");
    183. }
    184. }
    185. }
    186.  
    187. }
    188. } else {
    189. sender.sendMessage("§4You have to be a player to execute that command!");
    190. return false;
    191. }
    192. return false;
    193. }
    194.  
    195. @EventHandler
    196. public void onClick(InventoryClickEvent e){
    197. Player p = (Player) e.getWhoClicked();
    198. ItemStack clicked = e.getCurrentItem();
    199. Inventory inv = e.getInventory();
    200. if(inv.getName() == nameColor.getName()){
    201. if(clicked == bianco){
    202. e.setCancelled(true);
    203. p.closeInventory();
    204. p.setDisplayName("§f" + p.getName());
    205. p.sendMessage(config.getString("Settings.Items.WhiteWool.Message")
    206. .replaceAll("&", "§")
    207. .replaceAll("%player%", p.getName()));
    208. }else if(clicked == arancione){
    209. e.setCancelled(true);
    210. p.closeInventory();
    211. p.setDisplayName("§6" + p.getName());
    212. p.sendMessage(config.getString("Settings.Items.OrangeWool.Message")
    213. .replaceAll("&", "§")
    214. .replaceAll("%player%", p.getName()));
    215. }else if(clicked == magenta){
    216. e.setCancelled(true);
    217. p.closeInventory();
    218. p.setDisplayName("§d" + p.getName());
    219. p.sendMessage(config.getString("Settings.Items.MagentaWool.Message")
    220. .replaceAll("&", "§")
    221. .replaceAll("%player%", p.getName()));
    222. }else if(clicked == azzurro){
    223. e.setCancelled(true);
    224. p.closeInventory();
    225. p.setDisplayName("§b" + p.getName());
    226. p.sendMessage(config.getString("Settings.Items.LightBlueWool.Message")
    227. .replaceAll("&", "§")
    228. .replaceAll("%player%", p.getName()));
    229. }else if(clicked == giallo){
    230. e.setCancelled(true);
    231. p.closeInventory();
    232. p.setDisplayName("§e" + p.getName());
    233. p.sendMessage(config.getString("Settings.Items.YellowWool.Message")
    234. .replaceAll("&", "§")
    235. .replaceAll("%player%", p.getName()));
    236. }else if(clicked == verde1){
    237. e.setCancelled(true);
    238. p.closeInventory();
    239. p.setDisplayName("§a" + p.getName());
    240. p.sendMessage(config.getString("Settings.Items.LightGreenWool.Message")
    241. .replaceAll("&", "§")
    242. .replaceAll("%player%", p.getName()));
    243. }else if(clicked == rosa){
    244. e.setCancelled(true);
    245. p.closeInventory();
    246. p.setDisplayName("§d" + p.getName());
    247. p.sendMessage(config.getString("Settings.Items.PinkWool.Message")
    248. .replaceAll("&", "§")
    249. .replaceAll("%player%", p.getName()));
    250. }else if(clicked == grigio){
    251. e.setCancelled(true);
    252. p.closeInventory();
    253. p.setDisplayName("§8" + p.getName());
    254. p.sendMessage(config.getString("Settings.Items.GreyWool.Message")
    255. .replaceAll("&", "§")
    256. .replaceAll("%player%", p.getName()));
    257. }else if(clicked == grigio1){
    258. e.setCancelled(true);
    259. p.closeInventory();
    260. p.setDisplayName("§7" + p.getName());
    261. p.sendMessage(config.getString("Settings.Items.LightGreyWool.Message")
    262. .replaceAll("&", "§")
    263. .replaceAll("%player%", p.getName()));
    264. }else if(clicked == ciano){
    265. e.setCancelled(true);
    266. p.closeInventory();
    267. p.setDisplayName("§3" + p.getName());
    268. p.sendMessage(config.getString("Settings.Items.CyanWool.Message")
    269. .replaceAll("&", "§")
    270. .replaceAll("%player%", p.getName()));
    271. }else if(clicked == viola){
    272. e.setCancelled(true);
    273. p.closeInventory();
    274. p.setDisplayName("§5" + p.getName());
    275. p.sendMessage(config.getString("Settings.Items.PurpleWool.Message")
    276. .replaceAll("&", "§")
    277. .replaceAll("%player%", p.getName()));
    278. }else if(clicked == blu){
    279. e.setCancelled(true);
    280. p.closeInventory();
    281. p.setDisplayName("§1" + p.getName());
    282. p.sendMessage(config.getString("Settings.Items.BlueWool.Message")
    283. .replaceAll("&", "§")
    284. .replaceAll("%player%", p.getName()));
    285. }else if(clicked == marrone){
    286. e.setCancelled(true);
    287. p.closeInventory();
    288. p.setDisplayName("§6" + p.getName());
    289. p.sendMessage(config.getString("Settings.Items.BrownWool.Message")
    290. .replaceAll("&", "§")
    291. .replaceAll("%player%", p.getName()));
    292. }else if(clicked == verde){
    293. e.setCancelled(true);
    294. p.closeInventory();
    295. p.setDisplayName("§2" + p.getName());
    296. p.sendMessage(config.getString("Settings.Items.GreenWool.Message")
    297. .replaceAll("&", "§")
    298. .replaceAll("%player%", p.getName()));
    299. }else if(clicked == nero){
    300. e.setCancelled(true);
    301. p.closeInventory();
    302. p.setDisplayName("§0" + p.getName());
    303. p.sendMessage(config.getString("Settings.Items.BlackWool.Message")
    304. .replaceAll("&", "§")
    305. .replaceAll("%player%", p.getName()));
    306. }else if(clicked == rosso){
    307. e.setCancelled(true);
    308. p.closeInventory();
    309. p.setDisplayName("§4" + p.getName());
    310. p.sendMessage(config.getString("Settings.Items.RedWool.Message")
    311. .replaceAll("&", "§")
    312. .replaceAll("%player%", p.getName()));
    313. }else if(clicked == esci){
    314. e.setCancelled(true);
    315. p.closeInventory();
    316. p.sendMessage(config.getString("Settings.Items.CloseMenu.Message")
    317. .replaceAll("&", "§")
    318. .replaceAll("%player%", p.getName()));
    319. }
    320. }
    321. }
    322.  
    323. }
    324.  
     
  7. Offline

    RoboticPlayer

    You are getting an NPE at line 150.
     
  8. Offline

    sistem21

    i know it,but i son't understand why i get an NPE..
    @henderry2019
     
  9. Offline

    teej107

    @sistem21
     
  10. Offline

    sistem21

  11. Offline

    teej107

    The one that is at
     
  12. Offline

    sistem21

    this is on line 150.. @teej107
     
  13. Offline

    teej107

    @sistem21 so one object you are using could be null.
     
  14. Offline

    sistem21

    how i should get slot's key? @teej107
    Code:
    #KrypticColor config
    
    #You can use colors!
    Settings:
        Inventory: #Set inventory Name!
            Name: "&0NameColor"
        Items:
            WhiteWool:
               DisplayName: "&fWhite Color" #set display name for items
               Slot: 26 #set slot for items
               Message: "&bName&fColor &7>> &f%player%, your display name now is White!" #set message after choice of the color! You can use variable %player,that will be replaced( in game ) to the player name!
               Lore: #set lore for items
               - '&4prova'
               - '&4Simo'
            OrangeWool:
               DisplayName: "&6Orange Color"
               Slot: 1
               Message: "&bName&fColor &7>> &f%player%, your display name now is Orange!"
            MagentaWool:
               DisplayName: "&dMagenta Color"
               Slot: 2
               Message: "&bName&fColor &7>> &f%player%, your display name now is Magenta!"
            LightBlueWool:
               DisplayName: "&bLight Blue Color"
               Slot: 3
               Message: "&bName&fColor &7>> &f%player%, your display name now is Light Blue!"
            YellowWool:
               DisplayName: "&eYellow Color"
               Slot: 4
               Message: "&bName&fColor &7>> &f%player%, your display name now is Yellow!"
            LightGreenWool:
               DisplayName: "&aLight Green Color"
               Slot: 5
               Message: "&bName&fColor &7>> &f%player%, your display name now is Light Green!"
            PinkWool:
               DisplayName: "&dPink Color"
               Slot: 6
               Message: "&bName&fColor &7>> &f%player%, your display name now is Pink!"
            GreyWool:
               DisplayName: "&8Grey Color"
               Slot: 7
               Message: "&bName&fColor &7>> &f%player%, your display name now is Grey!"
            LightGreyColor:
               DisplayName: "&7Light Grey Color"
               Slot: 8  
               Message: "&bName&fColor &7>> &f%player%, your display name now is Light Grey!"
            CyanWool:
               DisplayName: "&3Cyan Color"
               Slot: 9
               Message: "&bName&fColor &7>> &f%player%, your display name now is Cyan!"
            PurpleWool:
               DisplayName: "&5Purple Color"
               Slot: 10
               Message: "&bName&fColor &7>> &f%player%, your display name now is Purple!"
            BlueWool:
               DisplayName: "&1Blue Color"
               Slot: 11
               Message: "&bName&fColor &7>> &f%player%, your display name now is Blue!"
            BrownWool:
               DisplayName: "&fWhite Color"
               Slot: 12
               Message: "&bName&fColor &7>> &f%player%, your display name now is Brown!"
            GreenWool:
               DisplayName: "&2Green Color"
               Slot: 13
               Message: "&bName&fColor &7>> &f%player%, your display name now is Green!"
            RedWool:
               DisplayName: "&4Red Color"
               Slot: 14
               Message: "&bName&fColor &7>> &f%player%, your display name now is Red!"
            BlackWool:
               DisplayName: "&0Black Color"
               Slot: 15
               Message: "&bName&fColor &7>> &f%player%, your display name now is Black!"
            CloseMenu:
               DisplayName: "&4Close Color's GUI"
               Slot: 27
     
    Last edited: Sep 13, 2015
  15. you have a static { //code } in your code so it will be called before onEnable
     
  16. Offline

    sistem21

  17. Offline

    teej107

    You are confusing me because you seem to know where the error was and I told you what the problem is and how to fix it. For OOP's sake, I'm going to tell you to stop misusing static :p
     
  18. Offline

    sistem21

    I'm confused, @teej107 @FisheyLP i was wrong,i don't understand where is the error..so pls help me,i'm sorry if i seem noob,so..can you explain well what is the error and how i can resolve it?Thanks..
     
  19. Offline

    teej107

    1. Stop abusing static
     
  20. Offline

    sistem21

    now my code is:
    Code:java
    1. package me.sistem21.KrypticColor;
    2.  
    3. import java.util.Collections;
    4.  
    5. import org.bukkit.Bukkit;
    6. import org.bukkit.Material;
    7. import org.bukkit.command.Command;
    8. import org.bukkit.command.CommandSender;
    9. import org.bukkit.configuration.file.FileConfiguration;
    10. import org.bukkit.entity.Player;
    11. import org.bukkit.event.EventHandler;
    12. import org.bukkit.event.Listener;
    13. import org.bukkit.event.inventory.InventoryClickEvent;
    14. import org.bukkit.inventory.Inventory;
    15. import org.bukkit.inventory.ItemStack;
    16. import org.bukkit.inventory.meta.ItemMeta;
    17. import org.bukkit.plugin.java.JavaPlugin;
    18.  
    19. public class KrypticColor extends JavaPlugin implements Listener {
    20.  
    21. KrypticColor plugin;
    22. private static FileConfiguration config;
    23. private static Inventory nameColor;
    24. private static ItemStack bianco,arancione,magenta,azzurro,giallo,verde1,rosa,grigio,grigio1,ciano,viola,blu,marrone,verde,nero, rosso, esci;
    25.  
    26. public void onEnable(){
    27. plugin = this;
    28.  
    29. /*
    30.   *
    31.   * TODO: add lores
    32.   *
    33.   */
    34.  
    35. config = getConfig();
    36. saveDefaultConfig();
    37. Bukkit.getServer().getPluginManager().registerEvents(this, this);
    38.  
    39. nameColor = Bukkit.createInventory(null, 27,
    40. config.getString("Settings.Inventory.Name")
    41. .replaceAll("&", "§"));
    42. }
    43.  
    44. static{
    45.  
    46. bianco = new ItemStack(Material.WOOL, 1);
    47. ItemMeta biancoM = bianco.getItemMeta();
    48. biancoM.setDisplayName(config.getString("Settings.Items.WhiteWool.DisplayName")
    49. .replaceAll("&", "§"));
    50. Collections.replaceAll(config.getStringList("Settings.Items.WhiteWool.Lore"), "&", "§");
    51. biancoM.setLore(config.getStringList("Settings.Items.WhiteWool.Lore"));
    52. bianco.setItemMeta(biancoM);
    53.  
    54. arancione = new ItemStack(Material.WOOL, 1, (short) 1);
    55. ItemMeta arM = arancione.getItemMeta();
    56. arM.setDisplayName(config.getString("Settings.Items.OrangeWool.DisplayName")
    57. .replaceAll("&", "§"));
    58. arancione.setItemMeta(arM);
    59.  
    60. magenta = new ItemStack(Material.WOOL, 1, (short) 2);
    61. ItemMeta magM = magenta.getItemMeta();
    62. magM.setDisplayName(config.getString("Settings.Items.MagentaWool.DisplayName")
    63. .replaceAll("&", "§"));
    64. magenta.setItemMeta(magM);
    65.  
    66. azzurro = new ItemStack(Material.WOOL, 1, (short) 3);
    67. ItemMeta azM = azzurro.getItemMeta();
    68. azM.setDisplayName(config.getString("Settings.Items.LightBlueWool.DisplayName")
    69. .replaceAll("&", "§"));
    70. azzurro.setItemMeta(azM);
    71.  
    72. giallo = new ItemStack(Material.WOOL, 1, (short) 4);
    73. ItemMeta gialloM = giallo.getItemMeta();
    74. gialloM.setDisplayName(config.getString("Settings.Items.YellowWool.DisplayName")
    75. .replaceAll("&", "§"));
    76. giallo.setItemMeta(gialloM);
    77.  
    78. verde1 = new ItemStack(Material.WOOL, 1, (short) 5);
    79. ItemMeta verde1M = verde1.getItemMeta();
    80. verde1M.setDisplayName(config.getString("Settings.Items.LightGreenWool.DisplayName")
    81. .replaceAll("&", "§"));
    82. verde1.setItemMeta(verde1M);
    83.  
    84. rosa = new ItemStack(Material.WOOL, 1, (short) 6);
    85. ItemMeta rosaM = rosa.getItemMeta();
    86. rosaM.setDisplayName(config.getString("Settings.Items.PinkWool.DisplayName")
    87. .replaceAll("&", "§"));
    88. rosa.setItemMeta(rosaM);
    89.  
    90. grigio = new ItemStack(Material.WOOL, 1, (short) 7);
    91. ItemMeta grigioM = grigio.getItemMeta();
    92. grigioM.setDisplayName(config.getString("Settings.Items.GreyWool.DisplayName")
    93. .replaceAll("&", "§"));
    94. grigio.setItemMeta(grigioM);
    95.  
    96. grigio1 = new ItemStack(Material.WOOL, 1, (short) 8);
    97. ItemMeta grigio1M = grigio1.getItemMeta();
    98. grigio1M.setDisplayName(config.getString("Settings.Items.LightGreyWool.DisplayName")
    99. .replaceAll("&", "§"));
    100. grigio1.setItemMeta(grigio1M);
    101.  
    102. ciano = new ItemStack(Material.WOOL, 1, (short) 9);
    103. ItemMeta cianoM = ciano.getItemMeta();
    104. cianoM.setDisplayName(config.getString("Settings.Items.CyanWool.DisplayName")
    105. .replaceAll("&", "§"));
    106. ciano.setItemMeta(cianoM);
    107.  
    108. viola = new ItemStack(Material.WOOL, 1, (short) 10);
    109. ItemMeta violaM = viola.getItemMeta();
    110. violaM.setDisplayName(config.getString("Settings.Items.PurpleWool.DisplayName")
    111. .replaceAll("&", "§"));
    112. viola.setItemMeta(violaM);
    113.  
    114. blu = new ItemStack(Material.WOOL, 1, (short) 11);
    115. ItemMeta bluM = bianco.getItemMeta();
    116. bluM.setDisplayName(config.getString("Settings.Items.BlueWool.DisplayName")
    117. .replaceAll("&", "§"));
    118. blu.setItemMeta(bluM);
    119.  
    120. marrone = new ItemStack(Material.WOOL, 1, (short) 12);
    121. ItemMeta marM = marrone.getItemMeta();
    122. marM.setDisplayName(config.getString("Settings.Items.BrownWool.DisplayName")
    123. .replaceAll("&", "§"));
    124. marrone.setItemMeta(marM);
    125.  
    126. verde = new ItemStack(Material.WOOL, 1, (short) 13);
    127. ItemMeta verdeM = verde.getItemMeta();
    128. verdeM.setDisplayName(config.getString("Settings.Items.GreenWool.DisplayName")
    129. .replaceAll("&", "§"));
    130. verde.setItemMeta(verdeM);
    131.  
    132. nero = new ItemStack(Material.WOOL, 1, (short) 15);
    133. ItemMeta neroM = nero.getItemMeta();
    134. neroM.setDisplayName(config.getString("Settings.Items.BlackWool.DisplayName")
    135. .replaceAll("&", "§"));
    136. nero.setItemMeta(neroM);
    137.  
    138. rosso = new ItemStack(Material.WOOL, 1, (short) 14);
    139. ItemMeta rossoM = rosso.getItemMeta();
    140. rossoM.setDisplayName(config.getString("Settings.Items.RedWool.DisplayName")
    141. .replaceAll("&", "§"));
    142. rosso.setItemMeta(rossoM);
    143.  
    144. esci = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 14);
    145. ItemMeta esciM = esci.getItemMeta();
    146. esciM.setDisplayName(config.getString("Settings.Items.CloseMenu.DisplayName")
    147. .replaceAll("&", "§"));
    148. esci.setItemMeta(esciM);
    149.  
    150. nameColor.setItem(config.getInt("Settings.Items.WhiteWool.Slot"), bianco);
    151. nameColor.setItem(config.getInt("Settings.Items.OrangeWool.Slot"), arancione);
    152. nameColor.setItem(config.getInt("Settings.Items.MagentaWool.Slot"), magenta);
    153. nameColor.setItem(config.getInt("Settings.Items.LightBlueWool.Slot"), azzurro);
    154. nameColor.setItem(config.getInt("Settings.Items.YellowWool.Slot"), giallo);
    155. nameColor.setItem(config.getInt("Settings.Items.LightGreenWool.Slot"), verde1);
    156. nameColor.setItem(config.getInt("Settings.Items.PinkWool.Slot"), rosa);
    157. nameColor.setItem(config.getInt("Settings.Items.GreyWool.Slot"), grigio);
    158. nameColor.setItem(config.getInt("Settings.Items.LightGreyWool.Slot"), grigio1);
    159. nameColor.setItem(config.getInt("Settings.Items.CyanWool.Slot"), ciano);
    160. nameColor.setItem(config.getInt("Settings.Items.PurpleWool.Slot"), viola);
    161. nameColor.setItem(config.getInt("Settings.Items.BlueWool.Slot"), blu);
    162. nameColor.setItem(config.getInt("Settings.Items.BrownWool.Slot"), marrone);
    163. nameColor.setItem(config.getInt("Settings.Items.GreenWool.Slot"), verde);
    164. nameColor.setItem(config.getInt("Settings.Items.BlackWool.Slot"), nero);
    165. nameColor.setItem(config.getInt("Settings.Items.RedWool.Slot"), rosso);
    166. nameColor.setItem(config.getInt("Settings.Items.CloseMenu.Slot"), esci);
    167.  
    168. }
    169.  
    170. public boolean onCommand(CommandSender sender, Command cmd, String label,
    171. String[] args) {
    172. if (sender instanceof Player) {
    173. Player p = (Player) sender;
    174. if (cmd.getName().equalsIgnoreCase("namecolor")) {
    175. if(args.length == 0){
    176. p.openInventory(nameColor);
    177. }else if(args.length == 1){
    178. if(args[0].equalsIgnoreCase("reload")){
    179. if(p.isOp()){
    180. reloadConfig();
    181. }else{
    182. p.sendMessage("§4You don't have permissions for this command!");
    183. }
    184. }
    185. }
    186.  
    187. }
    188. } else {
    189. sender.sendMessage("§4You have to be a player to execute that command!");
    190. return false;
    191. }
    192. return false;
    193. }
    194.  
    195. @EventHandler
    196. public void onClick(InventoryClickEvent e){
    197. Player p = (Player) e.getWhoClicked();
    198. ItemStack clicked = e.getCurrentItem();
    199. Inventory inv = e.getInventory();
    200. if(inv.getName() == nameColor.getName()){
    201. if(clicked == bianco){
    202. e.setCancelled(true);
    203. p.closeInventory();
    204. p.setDisplayName("§f" + p.getName());
    205. p.sendMessage(config.getString("Settings.Items.WhiteWool.Message")
    206. .replaceAll("&", "§")
    207. .replaceAll("%player%", p.getName()));
    208. }else if(clicked == arancione){
    209. e.setCancelled(true);
    210. p.closeInventory();
    211. p.setDisplayName("§6" + p.getName());
    212. p.sendMessage(config.getString("Settings.Items.OrangeWool.Message")
    213. .replaceAll("&", "§")
    214. .replaceAll("%player%", p.getName()));
    215. }else if(clicked == magenta){
    216. e.setCancelled(true);
    217. p.closeInventory();
    218. p.setDisplayName("§d" + p.getName());
    219. p.sendMessage(config.getString("Settings.Items.MagentaWool.Message")
    220. .replaceAll("&", "§")
    221. .replaceAll("%player%", p.getName()));
    222. }else if(clicked == azzurro){
    223. e.setCancelled(true);
    224. p.closeInventory();
    225. p.setDisplayName("§b" + p.getName());
    226. p.sendMessage(config.getString("Settings.Items.LightBlueWool.Message")
    227. .replaceAll("&", "§")
    228. .replaceAll("%player%", p.getName()));
    229. }else if(clicked == giallo){
    230. e.setCancelled(true);
    231. p.closeInventory();
    232. p.setDisplayName("§e" + p.getName());
    233. p.sendMessage(config.getString("Settings.Items.YellowWool.Message")
    234. .replaceAll("&", "§")
    235. .replaceAll("%player%", p.getName()));
    236. }else if(clicked == verde1){
    237. e.setCancelled(true);
    238. p.closeInventory();
    239. p.setDisplayName("§a" + p.getName());
    240. p.sendMessage(config.getString("Settings.Items.LightGreenWool.Message")
    241. .replaceAll("&", "§")
    242. .replaceAll("%player%", p.getName()));
    243. }else if(clicked == rosa){
    244. e.setCancelled(true);
    245. p.closeInventory();
    246. p.setDisplayName("§d" + p.getName());
    247. p.sendMessage(config.getString("Settings.Items.PinkWool.Message")
    248. .replaceAll("&", "§")
    249. .replaceAll("%player%", p.getName()));
    250. }else if(clicked == grigio){
    251. e.setCancelled(true);
    252. p.closeInventory();
    253. p.setDisplayName("§8" + p.getName());
    254. p.sendMessage(config.getString("Settings.Items.GreyWool.Message")
    255. .replaceAll("&", "§")
    256. .replaceAll("%player%", p.getName()));
    257. }else if(clicked == grigio1){
    258. e.setCancelled(true);
    259. p.closeInventory();
    260. p.setDisplayName("§7" + p.getName());
    261. p.sendMessage(config.getString("Settings.Items.LightGreyWool.Message")
    262. .replaceAll("&", "§")
    263. .replaceAll("%player%", p.getName()));
    264. }else if(clicked == ciano){
    265. e.setCancelled(true);
    266. p.closeInventory();
    267. p.setDisplayName("§3" + p.getName());
    268. p.sendMessage(config.getString("Settings.Items.CyanWool.Message")
    269. .replaceAll("&", "§")
    270. .replaceAll("%player%", p.getName()));
    271. }else if(clicked == viola){
    272. e.setCancelled(true);
    273. p.closeInventory();
    274. p.setDisplayName("§5" + p.getName());
    275. p.sendMessage(config.getString("Settings.Items.PurpleWool.Message")
    276. .replaceAll("&", "§")
    277. .replaceAll("%player%", p.getName()));
    278. }else if(clicked == blu){
    279. e.setCancelled(true);
    280. p.closeInventory();
    281. p.setDisplayName("§1" + p.getName());
    282. p.sendMessage(config.getString("Settings.Items.BlueWool.Message")
    283. .replaceAll("&", "§")
    284. .replaceAll("%player%", p.getName()));
    285. }else if(clicked == marrone){
    286. e.setCancelled(true);
    287. p.closeInventory();
    288. p.setDisplayName("§6" + p.getName());
    289. p.sendMessage(config.getString("Settings.Items.BrownWool.Message")
    290. .replaceAll("&", "§")
    291. .replaceAll("%player%", p.getName()));
    292. }else if(clicked == verde){
    293. e.setCancelled(true);
    294. p.closeInventory();
    295. p.setDisplayName("§2" + p.getName());
    296. p.sendMessage(config.getString("Settings.Items.GreenWool.Message")
    297. .replaceAll("&", "§")
    298. .replaceAll("%player%", p.getName()));
    299. }else if(clicked == nero){
    300. e.setCancelled(true);
    301. p.closeInventory();
    302. p.setDisplayName("§0" + p.getName());
    303. p.sendMessage(config.getString("Settings.Items.BlackWool.Message")
    304. .replaceAll("&", "§")
    305. .replaceAll("%player%", p.getName()));
    306. }else if(clicked == rosso){
    307. e.setCancelled(true);
    308. p.closeInventory();
    309. p.setDisplayName("§4" + p.getName());
    310. p.sendMessage(config.getString("Settings.Items.RedWool.Message")
    311. .replaceAll("&", "§")
    312. .replaceAll("%player%", p.getName()));
    313. }else if(clicked == esci){
    314. e.setCancelled(true);
    315. p.closeInventory();
    316. p.sendMessage(config.getString("Settings.Items.CloseMenu.Message")
    317. .replaceAll("&", "§")
    318. .replaceAll("%player%", p.getName()));
    319. }
    320. }
    321. }
    322.  
    323. }


    but i get this error:
    Code:
    Could not load 'plugins\KrypticColor.jar' in folder 'plugins'
    org.bukkit.plugin.InvalidPluginException: java.lang.ExceptionInInitializerError
       at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:135) ~[spigot.jar:git-Spigot-0359393-9cd1111]
       at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:329) ~[spigot.jar:git-Spigot-0359393-9cd1111]
       at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:251) [spigot.jar:git-Spigot-0359393-9cd1111]
       at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugins(CraftServer.java:292) [spigot.jar:git-Spigot-0359393-9cd1111]
       at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:198) [spigot.jar:git-Spigot-0359393-9cd1111]
       at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:524) [spigot.jar:git-Spigot-0359393-9cd1111]
       at java.lang.Thread.run(Unknown Source) [?:1.8.0_45]
    Caused by: java.lang.ExceptionInInitializerError
       at java.lang.Class.forName0(Native Method) ~[?:1.8.0_45]
       at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_45]
       at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:64) ~[spigot.jar:git-Spigot-0359393-9cd1111]
       at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:131) ~[spigot.jar:git-Spigot-0359393-9cd1111]
       ... 6 more
    Caused by: java.lang.NullPointerException
       at me.sistem21.KrypticColor.KrypticColor.<clinit>(KrypticColor.java:48) ~[?:?]
       at java.lang.Class.forName0(Native Method) ~[?:1.8.0_45]
       at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_45]
       at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:64) ~[spigot.jar:git-Spigot-0359393-9cd1111]
       at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:131) ~[spigot.jar:git-Spigot-0359393-9cd1111]
       ... 6 more
    
    NPE on this line:
    Code:java
    1.  
    2. biancoM.setDisplayName(config.getString("Settings.Items.WhiteWool.DisplayName")
    3.  
     
  21. You are still abusing static
     
  22. Offline

    RoboticPlayer

    So that I can learn from this as well, how do you properly use static? I've never actually used it as I know that it's often used improperly, but I would like to know in case I need it in the future.
     
  23. Offline

    rbrick

    @sistem21 the static block is called before any other code is initialized, meaning that the "config" variable is null, since you are initializing it in the onEnable method. As others have said above, stop misusing static.
     
  24. Offline

    sistem21

    yes i understood and i resolved any errors,thanks to all!
     
  25. Offline

    boomboompower

    Mark this thread as solved if your problem is fixed.
     
Thread Status:
Not open for further replies.

Share This Page