Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите Ошибка при загрузке плагина Error occurred while enabling WelcomeSpawn v0.0.1 (Is it up to date?)

Статус
Закрыто для дальнейших ответов.

PlayerUnknownDevGround

Новичок
Баллы
6
Имя в Minecraft
dev
Приветствую разработчики и просто посетители страницы, столкнулся с проблемой которую никак не могу решить, после нормальной компиляции выскакивает эта ошибка:

[16:56:27 ERROR]: Error occurred while enabling WelcomeSpawn v0.0.1 (Is it up to date?)
java.lang.NullPointerException: Cannot invoke "org.bukkit.command.PluginCommand.setExecutor(org.bukkit.command.CommandExecutor)" because the return value of "ruan.com.WelcomeSpawn.getCommand(String)" is null
at ruan.com.WelcomeSpawn.onEnable(WelcomeSpawn.java:18) ~[WelcomeSpawn-0.0.1.jar:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:287) ~[paper-api-1.20.4-R0.1-SNAPSHOT.jar:?]
at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.enablePlugin(PaperPluginInstanceManager.java:188) ~[paper-1.20.4.jar:git-Paper-496]
at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.enablePlugin(PaperPluginManagerImpl.java:104) ~[paper-1.20.4.jar:git-Paper-496]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:507) ~[paper-api-1.20.4-R0.1-SNAPSHOT.jar:?]
at org.bukkit.craftbukkit.v1_20_R3.CraftServer.enablePlugin(CraftServer.java:639) ~[paper-1.20.4.jar:git-Paper-496]
at org.bukkit.craftbukkit.v1_20_R3.CraftServer.enablePlugins(CraftServer.java:550) ~[paper-1.20.4.jar:git-Paper-496]
at net.minecraft.server.MinecraftServer.loadWorld0(MinecraftServer.java:671) ~[paper-1.20.4.jar:git-Paper-496]
at net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:431) ~[paper-1.20.4.jar:git-Paper-496]
at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:309) ~[paper-1.20.4.jar:git-Paper-496]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1131) ~[paper-1.20.4.jar:git-Paper-496]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:319) ~[paper-1.20.4.jar:git-Paper-496]
at java.lang.Thread.run(Thread.java:1583) ~[?:?]

Смотрел другие форумы на rubukkit и т.д так и не понял в чем дело, я прикрепляю и даю моей команде setExecutor но по какой то причине метод выкидывает мувик что он упирается в null, вообще ничего не понимаю. Только начинаю в этом деле и могу не знать даже самого банального, так что прошу подсказать и камнями не бросать ❤️

Вот мой код:

paper-plugin:

Код:
paper-plugin:
name: WelcomeSpawn
version: '0.0.1'
main: ruan.com.WelcomeSpawn
api-version: '1.20'
commands:
welcome-spawn:
description: MainCommand

MainClass:
Код:
package ruan.com;

import org.bukkit.plugin.java.JavaPlugin;

public final class WelcomeSpawn extends JavaPlugin {

    static WelcomeSpawn plugin;

    [USER=79777]@Override[/USER]
    public void onEnable() {

        plugin = this;

        // Конфиг
        getConfig().options().copyDefaults();
        saveDefaultConfig();

        getCommand("welcome-spawn").setExecutor(new MainCommand());

    public static WelcomeSpawn getPlugin() {
        return plugin;
    }
}

MainCommand:
Код:
package ruan.com;

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.command.TabCompleter;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import java.util.ArrayList;
import java.util.List;

public class MainCommand implements CommandExecutor, TabCompleter {
    [USER=79777]@Override[/USER]
    public boolean onCommand(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s, @NotNull String[] strings) {

        Player player = (Player) commandSender;
        Location location = player.getLocation();
        World world = player.getWorld();
        FileConfiguration config = WelcomeSpawn.getPlugin().getConfig();

        if(strings[0].equals("help")) {

            player.sendMessage("&7");
            player.sendMessage("&7Плагин: WelcomeSpawn");;
            player.sendMessage("&7");

            Location test = new Location(world, 0, 0, 0);
            player.teleport(test);

        } else if (strings[0].equals("spawn")) {

            Location tp = new Location(world, config.getDouble(".x"), config.getDouble(".y"), config.getDouble(".z"));
            player.teleport(tp);

        } else if (strings[0].equals("set-spawn")) {

            double x = location.getX();
            double y = location.getY();
            double z = location.getZ();

            config.set(".x", x);
            config.set(".y", y);
            config.set(".z", z);

            WelcomeSpawn.getPlugin().reloadConfig();

        } else if (strings[0].equals("reload")) {

            WelcomeSpawn.getPlugin().reloadConfig();
            player.sendMessage("WelcomeSpawn | Успешно перезагружен!");

        } else if (strings[0].equals("jump")) {

            player.teleport(player.getEyeLocation());

        }
            return false;
    }

    [USER=79777]@Override[/USER]
    public @Nullable List<String> onTabComplete(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s, @NotNull String[] strings) {
        List<String> tab = new ArrayList<>();
        if(strings.length == 1) {
            tab.add("help");
            tab.add("spawn");
            tab.add("set-spawn");
            tab.add("reload");
            tab.add("jump");
        }
        return List.of();
    }
}

Даже если я комментрирую else-if
tab.add("spawn");
tab.add("set-spawn");
Все равно выдает ошибку, знаю что могу использовать switch но решил по быстрому попробовать, и проблема не внутри класса.. Или внутри..
 
Последнее редактирование:
Приветствую разработчики и просто посетители страницы, столкнулся с проблемой которую никак не могу решить, после нормальной компиляции выскакивает эта ошибка:
[16:56:27 ERROR]: Error occurred while enabling WelcomeSpawn v0.0.1 (Is it up to date?)
java.lang.NullPointerException: Cannot invoke "org.bukkit.command.PluginCommand.setExecutor(org.bukkit.command.CommandExecutor)" because the return value of "lumia.com.WelcomeSpawn.getCommand(String)" is null
at lumia.com.WelcomeSpawn.onEnable(WelcomeSpawn.java:18) ~[WelcomeSpawn-0.0.1.jar:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:287) ~[paper-api-1.20.4-R0.1-SNAPSHOT.jar:?]
at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.enablePlugin(PaperPluginInstanceManager.java:188) ~[paper-1.20.4.jar:git-Paper-496]
at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.enablePlugin(PaperPluginManagerImpl.java:104) ~[paper-1.20.4.jar:git-Paper-496]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:507) ~[paper-api-1.20.4-R0.1-SNAPSHOT.jar:?]
at org.bukkit.craftbukkit.v1_20_R3.CraftServer.enablePlugin(CraftServer.java:639) ~[paper-1.20.4.jar:git-Paper-496]
at org.bukkit.craftbukkit.v1_20_R3.CraftServer.enablePlugins(CraftServer.java:550) ~[paper-1.20.4.jar:git-Paper-496]
at net.minecraft.server.MinecraftServer.loadWorld0(MinecraftServer.java:671) ~[paper-1.20.4.jar:git-Paper-496]
at net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:431) ~[paper-1.20.4.jar:git-Paper-496]
at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:309) ~[paper-1.20.4.jar:git-Paper-496]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1131) ~[paper-1.20.4.jar:git-Paper-496]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:319) ~[paper-1.20.4.jar:git-Paper-496]
at java.lang.Thread.run(Thread.java:1583) ~[?:?]

Смотрел другие форумы на rubukkit и т.д так и не понял в чем дело, я прикрепляю и даю моей команде setExecutor но по какой то причине метод выкидывает мувик что он упирается в null, вообще ничего не понимаю. Только начинаю в этом деле и могу не знать даже самого банального, так что прошу подсказать и камнями не бросать ❤️

Вот мой код:

paper-plugin:

name: WelcomeSpawn
version: '0.0.1'
main: ruan.com.WelcomeSpawn
api-version: '1.20'
commands:
welcome-spawn:
description: MainCommand

MainClass:
package ruan.com;

import org.bukkit.plugin.java.JavaPlugin;

public final class WelcomeSpawn extends JavaPlugin {

static WelcomeSpawn plugin;

@Override
public void onEnable() {

plugin = this;

// Конфиг
getConfig().options().copyDefaults();
saveDefaultConfig();

getCommand("welcome-spawn").setExecutor(new MainCommand());

public static WelcomeSpawn getPlugin() {
return plugin;
}
}

MainCommand:
package ruan.com;

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.command.TabCompleter;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import java.util.ArrayList;
import java.util.List;

public class MainCommand implements CommandExecutor, TabCompleter {
@Override
public boolean onCommand(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s, @NotNull String[] strings) {

Player player = (Player) commandSender;
Location location = player.getLocation();
World world = player.getWorld();
FileConfiguration config = WelcomeSpawn.getPlugin().getConfig();

if(strings[0].equals("help")) {

player.sendMessage("&7");
player.sendMessage("&7Плагин: WelcomeSpawn");;
player.sendMessage("&7");

Location test = new Location(world, 0, 0, 0);
player.teleport(test);

} else if (strings[0].equals("spawn")) {

Location tp = new Location(world, config.getDouble(".x"), config.getDouble(".y"), config.getDouble(".z"));
player.teleport(tp);

} else if (strings[0].equals("set-spawn")) {

double x = location.getX();
double y = location.getY();
double z = location.getZ();

config.set(".x", x);
config.set(".y", y);
config.set(".z", z);

WelcomeSpawn.getPlugin().reloadConfig();

} else if (strings[0].equals("reload")) {

WelcomeSpawn.getPlugin().reloadConfig();
player.sendMessage("WelcomeSpawn | Успешно перезагружен!");

} else if (strings[0].equals("jump")) {

player.teleport(player.getEyeLocation());

}
return false;
}

@Override
public @Nullable List<String> onTabComplete(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s, @NotNull String[] strings) {
List<String> tab = new ArrayList<>();
if(strings.length == 1) {
tab.add("help");
tab.add("spawn");
tab.add("set-spawn");
tab.add("reload");
tab.add("jump");
}
return List.of();
}
}

Даже если я комментрирую else-if
tab.add("spawn");
tab.add("set-spawn");
Все равно выдает ошибку, знаю что могу использовать switch но решил по быстрому попробовать, и проблема не внутри класса.. Или внутри..
1)Не зарегал команду в plugin.yml
2)Код прикрепляется через вкладку код (над полем сообщения четвёртая кнопка справа)
 
1)Не зарегал команду в plugin.yml
2)Код прикрепляется через вкладку код (над полем сообщения четвёртая кнопка справа)
]

Еще разок:
Код:
paper-plugin:
name: WelcomeSpawn
version: '0.0.1'
main: ruan.com.WelcomeSpawn
api-version: '1.20'
commands:
welcome-spawn:
description: MainCommand
 
]

Еще разок:
Код:
paper-plugin:
name: WelcomeSpawn
version: '0.0.1'
main: ruan.com.WelcomeSpawn
api-version: '1.20'
commands:
welcome-spawn:
description: MainCommand
Ну как минимум тут нет табуляции.
Ты не выкладываешь одно значение в другое, а создаёшь несколько значений на одном уровне.
Примерно так должно быть:
Код:
commands:
    mycommand:
        description: Описание
Ну и да, не уверен, что команды с дефисом реально работают. Обычно его не используют. Но попробуй, возможно прокатит
 
Закрыто, так и не понял конечно в чем именно дело. Переписал плагин по новой с форматированием и деббагером в руках и все зафурычило ._.
 
Статус
Закрыто для дальнейших ответов.

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

Назад
Верх