Помогите Помогите найти ошибку

TexHik4159831

Новичок
Баллы
6
Выдает такую ошибку:
Код:
[19:18:57 ERROR]: Could not load 'plugins\ChunkLoader.jar' in folder 'plugins'
org.bukkit.plugin.InvalidDescriptionException: Invalid plugin.yml
        at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:198) ~[JavaPluginLoader.class:1.7.10-1614.58]
        at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:133) [SimplePluginManager.class:1.7.10-1614.58]
        at org.bukkit.craftbukkit.v1_7_R4.CraftServer.loadPlugins(CraftServer.java:343) [CraftServer.class:1.7.10-1614.58]
        at net.minecraft.world.storage.SaveHandler.initBukkitData(SaveHandler.java:462) [ayq.class:?]
        at net.minecraft.world.storage.SaveHandler.func_75757_d(SaveHandler.java:138) [ayq.class:?]
        at net.minecraft.world.World.<init>(World.java:374) [ahb.class:?]
        at net.minecraft.world.WorldServer.<init>(WorldServer.java:162) [mt.class:?]
        at net.minecraft.server.MinecraftServer.func_71247_a(MinecraftServer.java:375) [MinecraftServer.class:?]
        at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:337) [lt.class:?]
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:643) [MinecraftServer.class:?]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131]
Caused by: org.yaml.snakeyaml.scanner.ScannerException: null; mapping values are not allowed here
        at org.yaml.snakeyaml.scanner.ScannerImpl.fetchValue(ScannerImpl.java:733) ~[ScannerImpl.class:?]
        at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:305) ~[ScannerImpl.class:?]
        at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:179) ~[ScannerImpl.class:?]
        at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingKey.produce(ParserImpl.java:563) ~[ParserImpl$ParseBlockMappingKey.class:?]
        at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:161) ~[ParserImpl.class:?]
        at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:146) ~[ParserImpl.class:?]
        at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:230) ~[Composer.class:?]
        at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160) ~[Composer.class:?]
        at org.yaml.snakeyaml.composer.Composer.composeDocument(Composer.java:123) ~[Composer.class:?]
        at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:106) ~[Composer.class:?]
        at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:121) ~[BaseConstructor.class:?]
        at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:480) ~[Yaml.class:?]
        at org.yaml.snakeyaml.Yaml.load(Yaml.java:411) ~[Yaml.class:?]
        at org.bukkit.plugin.PluginDescriptionFile.<init>(PluginDescriptionFile.java:232) ~[PluginDescriptionFile.class:1.7.10-1614.58]
        at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:193) ~[JavaPluginLoader.class:1.7.10-1614.58]
        ... 10 more

Вот исходники:
Код:
package ChunkLoader.main;

import org.bukkit.plugin.java.JavaPlugin;
import cpw.mods.fml.common.Mod.EventHandler;
import java.sql.Connection;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.logging.Logger;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.nio.file.Files;
import java.nio.file.StandardOpenOption;
import org.bukkit.Bukkit;
import org.bukkit.Chunk;
import org.bukkit.Color;
import org.bukkit.event.world.ChunkUnloadEvent;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import org.bukkit.event.world.ChunkUnloadEvent;


public class ChunkLoader extends JavaPlugin implements Listener,CommandExecutor {
    FileConfiguration config = getConfig();
    File customConfigFile = null;
    
    public ChunkLoader(ChunkLoader chunkLoader) {
    }

    public void writeConfig(String string, List<String> var) {
        config.set(string, var);
        saveConfig();
    }
    
    public String readConfig(String key) {
        return config.getString(key);   
    }
    
    List<Chunk> chunks = new ArrayList<Chunk>();

    public void onEnable() {
        Bukkit.getPluginManager().registerEvents(this, this);
        getCommand("setloader").setExecutor(new ChunkLoader(this));
        Logger.getLogger("Minecraft").info("'ChunkLoader': ["+"] loaded");
        try {
            AddPoints("1232");
            AddPoints("1235");
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    public void onDisable() {
    
        Logger.getLogger("Minecraft").info("'ChunkLoader': ["+"] saved");
    }
    
    
    public List<List<String>> ReadPoints() throws IOException {
        customConfigFile = new File(getDataFolder(), "data.yml");
        List<List<String>> data = new ArrayList<List<String>>();
        FileReader fr = new FileReader(customConfigFile);
        BufferedReader reader = new BufferedReader(fr);
        String line = reader.readLine();
        while (line != null) {
            List<String> tempdata = new ArrayList<String>();
            for (String s : line.split(", ")) {
                tempdata.add(s);
            }
            data.add(tempdata);
            line = reader.readLine();
        }
        reader.close();
        return data;
    }
    
    public void AddPoints(String data) throws IOException {
        File file = new File(getDataFolder().getPath()+"\\data.yml");
        FileWriter fileWriter = new FileWriter(file, true);
        fileWriter.append(data+"\n");
        fileWriter.close();
        
    }
    
    
    public void LoadPoint(String Worldname, Location Loc, int Radius) {
        int X0,Z0;
        X0 = Loc.getBlockX()-16*Radius;
        Z0 = Loc.getBlockZ()-16*Radius;
        World world = getServer().getWorld(Worldname);
        for (int X=X0; X<(X0+(2*Radius+1)*16); X+=16) {
            for (int Z=Z0; Z<(Z0+(2*Radius+1)*16); Z+=16) {
                Chunk ch = world.getChunkAt(X, Z);
                chunks.add(ch);
                if (!ch.isLoaded()) {ch.load();}
            }   
        }
    }
    
    @EventHandler
    public void IsUnloaded(ChunkUnloadEvent e) {
        for (Chunk ch : chunks) {
            if (e.getChunk().equals(ch)) {
                e.setCancelled(true);}
        }   
    }
    

    public boolean OnCommand(CommandSender sender, Command cmd, String label, String[] args) {
        if (!(sender instanceof Player)) {return true;}
        if (cmd.getName()!="setloader") {return true;}
        sender.sendMessage(Color.GREEN+"Good!!!");
        return false;
    }
И
Код:
name: ChunkLoader by TexHik
main: ChunkLoader.main.ChunkLoader
version: 1.0
 commands:
   setloader:
     description: Sets chunkloader at your pos
     permission: chunkloader.setloader
     usage: Syntax error! Simply type /setloader <name> <radius>
 
Код:
org.bukkit.plugin.InvalidDescriptionException: Invalid plugin.yml
Caused by: org.yaml.snakeyaml.scanner.ScannerException: null; mapping values are not allowed here
Так сложно было это увидеть 😗
 
Назад
Верх