Помогите Ошибка NullPointerException, не находит строку

  • Автор темы Автор темы Sergeo
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Sergeo

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
Solomka
При попытке получить строку с файла выдает ошибку. Файл != null, файл с данными игрока создается раньше (До использования метода)


Код:
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_311]
Caused by: java.lang.NullPointerException
        at ru.solomka.runes.standard.core.perms.Perm.getGroup(Perm.java:66) ~[?:?]
        at ru.solomka.runes.standard.core.rune.RuneManager.isValidRuneType(RuneManager.java:182) ~[?:?]
        at ru.solomka.runes.standard.core.menu.Menu.setItems(Menu.java:128) ~[?:?]
        at ru.solomka.runes.standard.core.menu.Menu.create(Menu.java:47) ~[?:?]
        at ru.solomka.runes.standard.commands.RunesCommands.onCommand(RunesCommands.java:29) ~[?:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
        ... 15 more


Perm:
upload_2022-3-7_13-47-15.png

Файл в этот момент уже создан, нужные строки так же

upload_2022-3-7_13-48-26.png
upload_2022-3-7_13-48-37.png
 
Странно это всё. Попробуй использовать YamlConfiguration от баккита вместо Yaml
Ты в любом случае его загружаешь, но не используешь
 
Странно это всё. Попробуй использовать YamlConfiguration от баккита вместо Yaml
Ты в любом случае его загружаешь, но не используешь
Код:
    private YamlConfiguration yaml = new YamlConfiguration();
    private File file;

    public Yaml(File file) {
        this.file = file;
        if (fileExists()) try {
            load();
        } catch (IOException | InvalidConfigurationException e) {
            yaml = null;
            e.printStackTrace();
        }
    }

    public Yaml(String path, String name, boolean mode) {
        if (!new File(Main.getInstance().getDataFolder() + "/" + path, name).exists()) {
            File dir = new File(Main.getInstance().getDataFolder() + "/" + path + "/");
            dir.mkdir();
            File file = new File(dir, name);
            FileConfiguration cfg = loadConfiguration(file);
            cfg.options().copyDefaults(mode);
            Main.getInstance().saveResource(path + "/" + name, false);
        }
    }

    public Yaml(String name) {
        if (!new File(Main.getInstance().getDataFolder(), name).exists()) {
            File file = new File(Main.getInstance().getDataFolder(), name);
            FileConfiguration cfg = loadConfiguration(file);
            cfg.options().copyDefaults(true);
            Main.getInstance().saveResource(name, false);
        }
    }

    public File getFile() { return file; }
    public FileConfiguration getFileConfiguration() { return yaml; }

    public void load() throws IOException, InvalidConfigurationException { yaml.load(file); }
    public void save() throws IOException { yaml.save(file); }

    public void reload() {
        try {
            save();
            load();
        } catch (IOException | InvalidConfigurationException e) {
            e.printStackTrace();
        }
    }

    public void set(String path, Object value) {
        yaml.set(path, value);
        reload();
    }

.. и т.д
Класс Yaml реализует все методы от YamlConfiguration

В этом классе проблем нет. Он работает исправно
 
Тогда возможно group.name() выводит нулл?
 
Возможо this.yml выводит null?
 
Окей, тогда дай полную ошибку, а не половину и код, чтобы было видно номера строк


Код:
[19:07:40] [Server thread/ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'runes' in plugin Runes v2.0
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
    at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:648) ~[spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
    at net.minecraft.server.v1_12_R1.PlayerConnection.handleCommand(PlayerConnection.java:1399) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
    at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1234) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
    at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
    at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
    at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_311]
    at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_311]
    at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
    at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:748) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
    at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:406) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
    at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
    at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_311]
Caused by: java.lang.NullPointerException
    at ru.solomka.runes.standard.core.perms.Perm.getGroup(Perm.java:66) ~[?:?]
    at ru.solomka.runes.standard.core.rune.RuneManager.isValidRuneType(RuneManager.java:182) ~[?:?]
    at ru.solomka.runes.standard.core.menu.Menu.setItems(Menu.java:128) ~[?:?]
    at ru.solomka.runes.standard.core.menu.Menu.create(Menu.java:47) ~[?:?]
    at ru.solomka.runes.standard.commands.RunesCommands.onCommand(RunesCommands.java:29) ~[?:?]
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
 
Код:
[19:07:40] [Server thread/ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'runes' in plugin Runes v2.0
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
    at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:648) ~[spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
    at net.minecraft.server.v1_12_R1.PlayerConnection.handleCommand(PlayerConnection.java:1399) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
    at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1234) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
    at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
    at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
    at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_311]
    at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_311]
    at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
    at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:748) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
    at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:406) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
    at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
    at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_311]
Caused by: java.lang.NullPointerException
    at ru.solomka.runes.standard.core.perms.Perm.getGroup(Perm.java:66) ~[?:?]
    at ru.solomka.runes.standard.core.rune.RuneManager.isValidRuneType(RuneManager.java:182) ~[?:?]
    at ru.solomka.runes.standard.core.menu.Menu.setItems(Menu.java:128) ~[?:?]
    at ru.solomka.runes.standard.core.menu.Menu.create(Menu.java:47) ~[?:?]
    at ru.solomka.runes.standard.commands.RunesCommands.onCommand(RunesCommands.java:29) ~[?:?]
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
Окей, выведи в консоль getPlayerFile().getString("Perm.Group");
 
Либо я отупел, либо что-то явно не то, кинь свой yml файл
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх