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>
