Solved Help Plugin Crashing on Startup

Discussion in 'Plugin Help/Development/Requests' started by benthomas7777, Apr 4, 2015.

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

    benthomas7777

    Hi,

    I am trying to develop the start of a new plugin, I have not done any coding in a very long time, so I am afraid that I may have made some serious mistakes. The plugin crashes when it starts up.

    So far the plugin should allow the saving of some config options to a config file, as well as display them and also have a sign that shows players in a lobby, as well as teleports you when you click on it.

    Console Error (open)

    [23:45:26 WARN]: Plugin `Clash_of_Clans v0.1' uses the space-character (0x20) in
    its name `Clash of Clans' - this is discouraged
    [23:45:26 ERROR]: Could not load 'plugins\ClashofClans.jar' in folder 'plugins'
    org.bukkit.plugin.InvalidPluginException: Cannot find main class `me.benthomas77
    77.clashofclans'
    at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.jav
    a:42) ~[bukkit.jar:git-Bukkit-6e0120a]
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
    ava:129) ~[bukkit.jar:git-Bukkit-6e0120a]
    at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.
    java:328) ~[bukkit.jar:git-Bukkit-6e0120a]
    at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager
    .java:251) [bukkit.jar:git-Bukkit-6e0120a]
    at org.bukkit.craftbukkit.v1_8_R2.CraftServer.loadPlugins(CraftServer.ja
    va:288) [bukkit.jar:git-Bukkit-6e0120a]
    at org.bukkit.craftbukkit.v1_8_R2.CraftServer.<init>(CraftServer.java:25
    0) [bukkit.jar:git-Bukkit-6e0120a]
    at net.minecraft.server.v1_8_R2.PlayerList.<init>(PlayerList.java:69) [b
    ukkit.jar:git-Bukkit-6e0120a]
    at net.minecraft.server.v1_8_R2.DedicatedPlayerList.<init>(SourceFile:14
    ) [bukkit.jar:git-Bukkit-6e0120a]
    at net.minecraft.server.v1_8_R2.DedicatedServer.init(DedicatedServer.jav
    a:180) [bukkit.jar:git-Bukkit-6e0120a]
    at net.minecraft.server.v1_8_R2.MinecraftServer.run(MinecraftServer.java
    :501) [bukkit.jar:git-Bukkit-6e0120a]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_40]
    Caused by: java.lang.ClassNotFoundException: me.benthomas7777.clashofclans
    at java.net.URLClassLoader.findClass(Unknown Source) ~[?:1.8.0_40]
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.
    java:77) ~[bukkit.jar:git-Bukkit-6e0120a]
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.
    java:62) ~[bukkit.jar:git-Bukkit-6e0120a]
    at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_40]
    at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_40]
    at java.lang.Class.forName0(Native Method) ~[?:1.8.0_40]
    at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_40]
    at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.jav
    a:40) ~[bukkit.jar:git-Bukkit-6e0120a]
    ... 10 more


    Code for two Main classes
    Code:
    package me.benthomas7777.clashofclans;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.ObjectInputStream;
    import java.io.ObjectOutputStream;
    import java.util.HashMap;
    import java.util.logging.Logger;
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Location;
    import org.bukkit.Material;
    import org.bukkit.World;
    import org.bukkit.block.Block;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.block.Action;
    import org.bukkit.event.block.SignChangeEvent;
    import org.bukkit.event.player.PlayerInteractEvent;
    import org.bukkit.plugin.PluginDescriptionFile;
    import org.bukkit.plugin.PluginManager;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class Main extends JavaPlugin implements Listener{
        public final Logger logger = Logger.getLogger("Minecraft");
        public static Main plugin;
        public final PlayerListener pl = new PlayerListener();
        public HashMap<Integer, String> locsigns;
        public static int checklobby = 0;
        public int players = 0;
     
     
        @SuppressWarnings("unchecked")
        @Override
        public void onEnable() {
            PluginDescriptionFile pdfFile = this.getDescription();
            this.logger.info(pdfFile.getName() + " Version " + pdfFile.getVersion() + " Has Been Enabled");
            PluginManager pm = getServer().getPluginManager();
            pm.registerEvents(this.pl, this);
            checklobby = getServer().getScheduler().scheduleSyncRepeatingTask(this, new CheckLobby(null), 20l, 20l);
            getConfig().options().copyDefaults(true);
            saveConfig();
         
            File dir = getDataFolder();
            if(!dir.exists())
                if(!dir.mkdir())
                    System.out.println("Could not create directory for plugin: " + getDescription().getName());
            locsigns = (HashMap<Integer, String>) load(new File(getDataFolder(), "signlocation.dat"));
            if (locsigns == null)
                locsigns = new HashMap<Integer, String>();
         
        }
     
        @Override
        public void onDisable() {
            PluginDescriptionFile pdfFile = this.getDescription();
            this.logger.info(pdfFile.getName() + " Has Been Disabled");
            save(locsigns, new File(getDataFolder(), "signlocation.dat" ));
            getServer().getScheduler().cancelTask(checklobby);
        }
        //Converter
        public Location stringToLocation(String key){ //string to location
            String[] split = key.split(" , ");
            if(split.length == 6){
            Location loc = new Location(Bukkit.getWorld(split[0]), Double.parseDouble(split[1]), Double.parseDouble(split[2]), Double.parseDouble(split[3]), Float.parseFloat(split[4]), Float.parseFloat(split[5]));
            return loc;
            }else{
                return null;
            }
            //Load Strings
            //String spawn = config.getString("spawn");
            //stringToLocation(spawn);
        }
     
        //Saving and Loading
        public void save(Object o, File f){
            try {
                if(!f.exists())
                    f.createNewFile();
             
                ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(f));
                oos.writeObject(o);
                oos.flush();
                oos.close();
            } catch (Exception e){
                e.printStackTrace();
            }
        }
        public Object load(File f){
            try{
                ObjectInputStream ois = new ObjectInputStream(new FileInputStream(f));
                Object result = ois.readObject();
                ois.close();
                return result;
            }catch(Exception e){
                return null;
            }
        }
     
        //Settings of Game to configuration
        public boolean onCommandsetlobby(CommandSender sender, Command cmd, String commandLabel, String[] args) { //set lobby location
            if (commandLabel.equalsIgnoreCase("coc") || commandLabel.equalsIgnoreCase("clashofclans")){
                if (sender.isOp()){
                    if(args[0].equalsIgnoreCase("setlobby") || args[0].equalsIgnoreCase("sl")){
                     this.getConfig().set("lobby", (Location) sender);
                     Location loc = (Location) sender;
                     String key = loc.getWorld().getName() + " , " +  loc.getX() + " , " + loc.getY() + " , " + loc.getZ() + " , " + loc.getPitch() + " , " + loc.getYaw();
                     this.getConfig().set("lobby", key);
                    }
                }
            }
            return false;
        }
        public boolean onCommandsetgridsize(CommandSender sender, Command cmd, String commandLabel, String[] args) { //set size of grid default 9
            if (commandLabel.equalsIgnoreCase("coc") || commandLabel.equalsIgnoreCase("clashofclans")) {
                if (sender.isOp()){
                    if(args[0].equalsIgnoreCase("setgridsize") || args[0].equalsIgnoreCase("sgs")){
                        if (args.length == 0) {
                            this.getConfig().set("gridsize", 9);
                        } else if (args.length == 1) {
                                this.getConfig().set("gridsize", args[1]);
                            } else {
                                sender.sendMessage(ChatColor.RED + "Incorrect amount of parameters");
                            }
                        }
                    }
                }
            return false;
        }
        public boolean onCommandsetgrid(CommandSender sender, Command cmd, String commandLabel, String[] args) { //set bottom corner of grid location
            if (commandLabel.equalsIgnoreCase("coc") || commandLabel.equalsIgnoreCase("clashofclans")){
                if (sender.isOp()){
                    if(args[0].equalsIgnoreCase("setgrid") || args[0].equalsIgnoreCase("sg")){
                        if (args.length == 1) {
                            if (args[1] == "1") {
                                Location loc = (Location) sender;
                                 String key = loc.getWorld().getName() + " , " +  loc.getX() + " , " + loc.getY() + " , " + loc.getZ() + " , " + loc.getPitch() + " , " + loc.getYaw();
                                 this.getConfig().set("gridone", key);
                                }else if (args[1] == "2") {
                                    Location loc = (Location) sender;
                                     String key = loc.getWorld().getName() + " , " +  loc.getX() + " , " + loc.getY() + " , " + loc.getZ() + " , " + loc.getPitch() + " , " + loc.getYaw();
                                     this.getConfig().set("gridtwo", key);
                                }
                            } else {
                                sender.sendMessage(ChatColor.RED + "Incorrect arguments");
                            }
                    }
                }
            }
            return false;
        }
    
        //Display Current Settings
        public boolean onCommanddisplay(CommandSender sender, Command cmd, String commandLabel, String[] args) { //display current Settings
            if (commandLabel.equalsIgnoreCase("coc") || commandLabel.equalsIgnoreCase("clashofclans")){
                if (sender.isOp()){
                    if(args[0].equalsIgnoreCase("display") || args[0].equalsIgnoreCase("d")){
                        if(args[1].equalsIgnoreCase("lobby") || args[1].equalsIgnoreCase("l")) {
                            String display = this.getConfig().getString("lobby");
                            sender.sendMessage("Lobby Cordinates are: "  + display);
                        }else if(args[1].equalsIgnoreCase("gridsize") || args[1].equalsIgnoreCase("gs")) {
                            String display = this.getConfig().getString("gridsize");
                            sender.sendMessage("The size of the Grid is "  + display);
                        }else if(args[1].equalsIgnoreCase("gridone") || args[1].equalsIgnoreCase("g1")) {
                            String display = this.getConfig().getString("gridone");
                            sender.sendMessage("Grid One Cordinates are: "  + display);
                        }else if(args[1].equalsIgnoreCase("gridtwo") || args[1].equalsIgnoreCase("g2")) {
                            String display = this.getConfig().getString("gridtwo");
                            sender.sendMessage("Grid Two Cordinates are: "  + display);
                        }
                    }
                }
            }
            return false;
        }
     
        //Joining Lobby
        @EventHandler //Join Sign
        public void signPlace(SignChangeEvent event){
            if(event.getLine(0).equalsIgnoreCase("[coclobby]")){
                Location loc = event.getBlock().getLocation();
                String key = loc.getWorld().getName() + " , " +  loc.getX() + " , " + loc.getY() + " , " + loc.getZ() + " , " + loc.getPitch() + " , " + loc.getYaw();
                locsigns.put(locsigns.size() + 1, key);
            }
        }
        public void onPlayerInteract(PlayerInteractEvent e) {
            if(e.getAction().equals(Action.RIGHT_CLICK_BLOCK)) {
                Block block = e.getClickedBlock();
                if(block.getType() == Material.SIGN) {
                    Location loc = null;
                    for (String value : locsigns.values()) {
                        loc = stringToLocation(value);
                        if (e.getClickedBlock().getLocation() == loc) {
                            if (players < 6){
                                String spawn = this.getConfig().getString("lobby");
                                Location locs = stringToLocation(spawn);
                                World w = locs.getWorld();
                                Block sign = w.getBlockAt(locs);
                                e.getPlayer().teleport(sign.getLocation());
                                players = players + 1;
                            }else {
                                e.getPlayer().sendMessage(ChatColor.RED + "Game is full.");
                            }
                        }
                    }
                }
            }
        }
     
    
    }
    
    
    And the Code of Task
    Code:
    package me.benthomas7777.clashofclans;
    
    import org.bukkit.Location;
    import org.bukkit.World;
    import org.bukkit.block.Block;
    import org.bukkit.block.Sign;
    
    public class CheckLobby implements Runnable {
     
        Main pl;
        public CheckLobby(Main plugin){
        pl = plugin;
        }
    
        @Override
        public void run() {
            for (String value : pl.locsigns.values()) {
                Location loc = pl.stringToLocation(value);
                World w = loc.getWorld();
                Block sign = w.getBlockAt(loc);
                Sign mySign = (Sign) sign.getState();
                mySign.setLine(0, "[ClashofClans]");
                mySign.setLine(1, "--Join--");
                mySign.setLine(2, pl.players + "/6 Players");
                mySign.update();
            }
        }
    
    }
    
    And the Config
    Code:
    #Default Configuration File
    #
    lobby:0
    gridsize:9
    gridone:0
    gridtwo:0
     
    Last edited: Apr 4, 2015
  2. Offline

    benthomas7777

    Plugin.yml (open)

    Code:
    name: Clash of Clans
    main: me.benthomas7777.clashofclans
    version: 0.1
    description: >
                 No Description
    
     
  3. Offline

    nverdier

    @benthomas7777 You have to put .<MainClassName> at the end of the package name in the value of 'main'.
     
  4. Offline

    benthomas7777

    @nverdier
    The plugin is now starting, but there is another error

    Log (open)

    Code:
    [10:57:26] [Server thread/INFO]: Starting minecraft server version 1.8.3
    [10:57:26] [Server thread/INFO]: Loading properties
    [10:57:26] [Server thread/INFO]: Default game type: SURVIVAL
    [10:57:26] [Server thread/INFO]: Generating keypair
    [10:57:26] [Server thread/INFO]: Starting Minecraft server on *:25565
    [10:57:26] [Server thread/INFO]: Using default channel type
    [10:57:26] [Server thread/INFO]: This server is running CraftBukkit version git-Bukkit-6e0120a (MC: 1.8.3) (Implementing API version 1.8.3-R0.1-SNAPSHOT)
    [10:57:26] [Server thread/WARN]: Plugin `Clash_of_Clans v0.1' uses the space-character (0x20) in its name `Clash of Clans' - this is discouraged
    [10:57:26] [Server thread/INFO]: [Clash_of_Clans] Loading Clash_of_Clans v0.1
    [10:57:26] [Server thread/INFO]: Preparing level "world"
    [10:57:27] [Server thread/INFO]: Preparing start region for level 0 (Seed: 6883102785784422186)
    [10:57:28] [Server thread/INFO]: Preparing spawn area: 30%
    [10:57:28] [Server thread/INFO]: Preparing start region for level 1 (Seed: 6883102785784422186)
    [10:57:30] [Server thread/INFO]: Preparing spawn area: 66%
    [10:57:30] [Server thread/INFO]: Preparing start region for level 2 (Seed: 6883102785784422186)
    [10:57:30] [Server thread/INFO]: [Clash_of_Clans] Enabling Clash_of_Clans v0.1
    [10:57:30] [Server thread/INFO]: Clash_of_Clans Version 0.1 Has Been Enabled
    [10:57:30] [Server thread/ERROR]: [Clash_of_Clans] Cannot load configuration from jar
    org.bukkit.configuration.InvalidConfigurationException: Top level is not a Map.
        at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlConfiguration.java:59) ~[bukkit.jar:git-Bukkit-6e0120a]
        at org.bukkit.plugin.java.JavaPlugin.reloadConfig(JavaPlugin.java:214) [bukkit.jar:git-Bukkit-6e0120a]
        at org.bukkit.plugin.java.JavaPlugin.getConfig(JavaPlugin.java:162) [bukkit.jar:git-Bukkit-6e0120a]
        at me.benthomas7777.clashofclans.Main.onEnable(Main.java:44) [ClashofClans.jar:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) [bukkit.jar:git-Bukkit-6e0120a]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:327) [bukkit.jar:git-Bukkit-6e0120a]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:404) [bukkit.jar:git-Bukkit-6e0120a]
        at org.bukkit.craftbukkit.v1_8_R2.CraftServer.loadPlugin(CraftServer.java:341) [bukkit.jar:git-Bukkit-6e0120a]
        at org.bukkit.craftbukkit.v1_8_R2.CraftServer.enablePlugins(CraftServer.java:313) [bukkit.jar:git-Bukkit-6e0120a]
        at net.minecraft.server.v1_8_R2.MinecraftServer.r(MinecraftServer.java:408) [bukkit.jar:git-Bukkit-6e0120a]
        at net.minecraft.server.v1_8_R2.MinecraftServer.k(MinecraftServer.java:374) [bukkit.jar:git-Bukkit-6e0120a]
        at net.minecraft.server.v1_8_R2.MinecraftServer.a(MinecraftServer.java:329) [bukkit.jar:git-Bukkit-6e0120a]
        at net.minecraft.server.v1_8_R2.DedicatedServer.init(DedicatedServer.java:236) [bukkit.jar:git-Bukkit-6e0120a]
        at net.minecraft.server.v1_8_R2.MinecraftServer.run(MinecraftServer.java:501) [bukkit.jar:git-Bukkit-6e0120a]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_40]
    [10:57:30] [Server thread/INFO]: Server permissions file permissions.yml is empty, ignoring it
    [10:57:30] [Server thread/INFO]: Done (3.864s)! For help, type "help" or "?"
    [10:57:31] [Server thread/WARN]: [Clash_of_Clans] Task #2 for Clash_of_Clans v0.1 generated an exception
    java.lang.NullPointerException
        at me.benthomas7777.clashofclans.CheckLobby.run(CheckLobby.java:17) ~[?:?]
        at org.bukkit.craftbukkit.v1_8_R2.scheduler.CraftTask.run(CraftTask.java:53) ~[bukkit.jar:git-Bukkit-6e0120a]
        at org.bukkit.craftbukkit.v1_8_R2.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:349) [bukkit.jar:git-Bukkit-6e0120a]
        at net.minecraft.server.v1_8_R2.MinecraftServer.A(MinecraftServer.java:677) [bukkit.jar:git-Bukkit-6e0120a]
        at net.minecraft.server.v1_8_R2.DedicatedServer.A(DedicatedServer.java:336) [bukkit.jar:git-Bukkit-6e0120a]
        at net.minecraft.server.v1_8_R2.MinecraftServer.z(MinecraftServer.java:626) [bukkit.jar:git-Bukkit-6e0120a]
        at net.minecraft.server.v1_8_R2.MinecraftServer.run(MinecraftServer.java:534) [bukkit.jar:git-Bukkit-6e0120a]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_40]
    [10:57:32] [Server thread/WARN]: [Clash_of_Clans] Task #2 for Clash_of_Clans v0.1 generated an exception
     
  5. @benthomas7777
    Code:
    at me.benthomas7777.clashofclans.CheckLobby.run(CheckLobby.java:17) ~[?:?]
    also your configuration has an issue.
     
  6. Offline

    benthomas7777

    @bwfcwalshy
    I have been looking and am unable to work out what the error exactly is
     
  7. @benthomas7777 Please paste what that line is and if it uses any methods that are not Bukkit's please also paste them here. Remember to put it in code tags so it is easy to read.
     
  8. Offline

    benthomas7777

    @bwfcwalshy
    Code:
        @Override
        public void run() {
            for (String value : pl.locsigns.values()) { //Line 17
                Location loc = pl.stringToLocation(value);
                World w = loc.getWorld();
                Block sign = w.getBlockAt(loc);
                Sign mySign = (Sign) sign.getState();
                mySign.setLine(0, "[ClashofClans]");
                mySign.setLine(1, "--Join--");
                mySign.setLine(2, pl.players + "/6 Players");
                mySign.update();
            }
        }
     
  9. @benthomas7777 Put this before the if

    Code:
    Bukkit.getLogger().info("Plugin: " + pl);
    Bukkit.getLogger.info("LocSigns: " + pl.locsigns)
    Bukkit.getLogger().info("Values: " + pl.locsigns.values());
    Then tell me the output.
     
  10. Offline

    benthomas7777

  11. Offline

    benthomas7777

    Console Log (open)

    Code:
    [12:56:03] [Server thread/ERROR]: [Clash_of_Clans] Cannot load configuration from jar
    org.bukkit.configuration.InvalidConfigurationException: while scanning a simple key
    in 'string', line 2, column 1:
        gridsize:9
        ^
    could not found expected ':'
    in 'string', line 3, column 1:
        gridone:0
        ^
    
        at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlConfiguration.java:57) ~[bukkit.jar:git-Bukkit-6e0120a]
        at org.bukkit.plugin.java.JavaPlugin.reloadConfig(JavaPlugin.java:214) [bukkit.jar:git-Bukkit-6e0120a]
        at org.bukkit.plugin.java.JavaPlugin.getConfig(JavaPlugin.java:162) [bukkit.jar:git-Bukkit-6e0120a]
        at me.benthomas7777.clashofclans.Main.onEnable(Main.java:45) [ClashofClans.jar:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) [bukkit.jar:git-Bukkit-6e0120a]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:327) [bukkit.jar:git-Bukkit-6e0120a]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:404) [bukkit.jar:git-Bukkit-6e0120a]
        at org.bukkit.craftbukkit.v1_8_R2.CraftServer.loadPlugin(CraftServer.java:341) [bukkit.jar:git-Bukkit-6e0120a]
        at org.bukkit.craftbukkit.v1_8_R2.CraftServer.enablePlugins(CraftServer.java:313) [bukkit.jar:git-Bukkit-6e0120a]
        at net.minecraft.server.v1_8_R2.MinecraftServer.r(MinecraftServer.java:408) [bukkit.jar:git-Bukkit-6e0120a]
        at net.minecraft.server.v1_8_R2.MinecraftServer.k(MinecraftServer.java:374) [bukkit.jar:git-Bukkit-6e0120a]
        at net.minecraft.server.v1_8_R2.MinecraftServer.a(MinecraftServer.java:329) [bukkit.jar:git-Bukkit-6e0120a]
        at net.minecraft.server.v1_8_R2.DedicatedServer.init(DedicatedServer.java:236) [bukkit.jar:git-Bukkit-6e0120a]
        at net.minecraft.server.v1_8_R2.MinecraftServer.run(MinecraftServer.java:501) [bukkit.jar:git-Bukkit-6e0120a]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_40]
    Caused by: org.yaml.snakeyaml.scanner.ScannerException: while scanning a simple key
    in 'string', line 2, column 1:
        gridsize:9
        ^
    could not found expected ':'
    in 'string', line 3, column 1:
        gridone:0
        ^
    
        at org.yaml.snakeyaml.scanner.ScannerImpl.stalePossibleSimpleKeys(ScannerImpl.java:465) ~[bukkit.jar:git-Bukkit-6e0120a]
        at org.yaml.snakeyaml.scanner.ScannerImpl.needMoreTokens(ScannerImpl.java:280) ~[bukkit.jar:git-Bukkit-6e0120a]
        at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:225) ~[bukkit.jar:git-Bukkit-6e0120a]
        at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingValue.produce(ParserImpl.java:586) ~[bukkit.jar:git-Bukkit-6e0120a]
        at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:158) ~[bukkit.jar:git-Bukkit-6e0120a]
        at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:143) ~[bukkit.jar:git-Bukkit-6e0120a]
        at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:132) ~[bukkit.jar:git-Bukkit-6e0120a]
        at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:231) ~[bukkit.jar:git-Bukkit-6e0120a]
        at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:155) ~[bukkit.jar:git-Bukkit-6e0120a]
        at org.yaml.snakeyaml.composer.Composer.composeDocument(Composer.java:122) ~[bukkit.jar:git-Bukkit-6e0120a]
        at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:105) ~[bukkit.jar:git-Bukkit-6e0120a]
        at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:120) ~[bukkit.jar:git-Bukkit-6e0120a]
        at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:481) ~[bukkit.jar:git-Bukkit-6e0120a]
        at org.yaml.snakeyaml.Yaml.load(Yaml.java:400) ~[bukkit.jar:git-Bukkit-6e0120a]
        at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlConfiguration.java:55) ~[bukkit.jar:git-Bukkit-6e0120a]
        ... 14 more
    [12:56:03] [Server thread/ERROR]: [Clash_of_Clans] Cannot load configuration from jar
    org.bukkit.configuration.InvalidConfigurationException: while scanning a simple key
    in 'string', line 2, column 1:
        gridsize:9
        ^
    could not found expected ':'
    in 'string', line 3, column 1:
        gridone:0
        ^
    
        at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlConfiguration.java:57) ~[bukkit.jar:git-Bukkit-6e0120a]
        at org.bukkit.plugin.java.JavaPlugin.reloadConfig(JavaPlugin.java:214) [bukkit.jar:git-Bukkit-6e0120a]
        at me.benthomas7777.clashofclans.Main.onEnable(Main.java:47) [ClashofClans.jar:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) [bukkit.jar:git-Bukkit-6e0120a]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:327) [bukkit.jar:git-Bukkit-6e0120a]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:404) [bukkit.jar:git-Bukkit-6e0120a]
        at org.bukkit.craftbukkit.v1_8_R2.CraftServer.loadPlugin(CraftServer.java:341) [bukkit.jar:git-Bukkit-6e0120a]
        at org.bukkit.craftbukkit.v1_8_R2.CraftServer.enablePlugins(CraftServer.java:313) [bukkit.jar:git-Bukkit-6e0120a]
        at net.minecraft.server.v1_8_R2.MinecraftServer.r(MinecraftServer.java:408) [bukkit.jar:git-Bukkit-6e0120a]
        at net.minecraft.server.v1_8_R2.MinecraftServer.k(MinecraftServer.java:374) [bukkit.jar:git-Bukkit-6e0120a]
        at net.minecraft.server.v1_8_R2.MinecraftServer.a(MinecraftServer.java:329) [bukkit.jar:git-Bukkit-6e0120a]
        at net.minecraft.server.v1_8_R2.DedicatedServer.init(DedicatedServer.java:236) [bukkit.jar:git-Bukkit-6e0120a]
        at net.minecraft.server.v1_8_R2.MinecraftServer.run(MinecraftServer.java:501) [bukkit.jar:git-Bukkit-6e0120a]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_40]
    Caused by: org.yaml.snakeyaml.scanner.ScannerException: while scanning a simple key
    in 'string', line 2, column 1:
        gridsize:9
        ^
    could not found expected ':'
    in 'string', line 3, column 1:
        gridone:0
        ^
    
        at org.yaml.snakeyaml.scanner.ScannerImpl.stalePossibleSimpleKeys(ScannerImpl.java:465) ~[bukkit.jar:git-Bukkit-6e0120a]
        at org.yaml.snakeyaml.scanner.ScannerImpl.needMoreTokens(ScannerImpl.java:280) ~[bukkit.jar:git-Bukkit-6e0120a]
        at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:225) ~[bukkit.jar:git-Bukkit-6e0120a]
        at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingValue.produce(ParserImpl.java:586) ~[bukkit.jar:git-Bukkit-6e0120a]
        at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:158) ~[bukkit.jar:git-Bukkit-6e0120a]
        at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:143) ~[bukkit.jar:git-Bukkit-6e0120a]
        at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:132) ~[bukkit.jar:git-Bukkit-6e0120a]
        at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:231) ~[bukkit.jar:git-Bukkit-6e0120a]
        at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:155) ~[bukkit.jar:git-Bukkit-6e0120a]
        at org.yaml.snakeyaml.composer.Composer.composeDocument(Composer.java:122) ~[bukkit.jar:git-Bukkit-6e0120a]
        at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:105) ~[bukkit.jar:git-Bukkit-6e0120a]
        at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:120) ~[bukkit.jar:git-Bukkit-6e0120a]
        at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:481) ~[bukkit.jar:git-Bukkit-6e0120a]
        at org.yaml.snakeyaml.Yaml.load(Yaml.java:400) ~[bukkit.jar:git-Bukkit-6e0120a]
        at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlConfiguration.java:55) ~[bukkit.jar:git-Bukkit-6e0120a]
        ... 13 more
    [12:56:03] [Server thread/INFO]: Server permissions file permissions.yml is empty, ignoring it
    [12:56:03] [Server thread/INFO]: Done (3.196s)! For help, type "help" or "?"
    
    [12:56:04] [Server thread/INFO]: Plugin: null
    [12:56:04] [Server thread/WARN]: [Clash_of_Clans] Task #2 for Clash_of_Clans v0.1 generated an exception
    java.lang.NullPointerException
        at me.benthomas7777.clashofclans.CheckLobby.run(CheckLobby.java:19) ~[?:?]
        at org.bukkit.craftbukkit.v1_8_R2.scheduler.CraftTask.run(CraftTask.java:53) ~[bukkit.jar:git-Bukkit-6e0120a]
        at org.bukkit.craftbukkit.v1_8_R2.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:349) [bukkit.jar:git-Bukkit-6e0120a]
        at net.minecraft.server.v1_8_R2.MinecraftServer.A(MinecraftServer.java:677) [bukkit.jar:git-Bukkit-6e0120a]
        at net.minecraft.server.v1_8_R2.DedicatedServer.A(DedicatedServer.java:336) [bukkit.jar:git-Bukkit-6e0120a]
        at net.minecraft.server.v1_8_R2.MinecraftServer.z(MinecraftServer.java:626) [bukkit.jar:git-Bukkit-6e0120a]
        at net.minecraft.server.v1_8_R2.MinecraftServer.run(MinecraftServer.java:534) [bukkit.jar:git-Bukkit-6e0120a]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_40]


    @bwfcwalshy
    The code is above, I have sorted the configuration error
     
    Last edited by a moderator: Apr 5, 2015
  12. Offline

    benthomas7777

    @bwfcwalshy
    Do you have any ideas on sorting this? As I have been trying and am not sure.
    I am trying to save the location of placed signs with certain text on into a hashmap in the Main class and then In the CheckLobby class I am attempting to at the locations stored in the hashmap in the Main class, update the signs with information.

    Although as no signs have been placed the hashmap is empty. Maybe you have a better way of doing this or a way to get mine to work?

    Thanks
     
Thread Status:
Not open for further replies.

Share This Page