1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

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

Тема в разделе "Разработка плагинов для новичков", создана пользователем TexHik4159831, 11 дек 2017.

  1. Автор темы
    TexHik4159831

    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>
     
  2. SDIR01

    SDIR01 Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    sdir01
    Код:
    org.bukkit.plugin.InvalidDescriptionException: Invalid plugin.yml
    Caused by: org.yaml.snakeyaml.scanner.ScannerException: null; mapping values are not allowed here
    Так сложно было это увидеть :whistle:
     
  3. Cool_boy

    Cool_boy Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    фівфів.png
    Подсказка: удали пробелы перед commands
     

Поделиться этой страницей