Помогите Не работает плагин при подключении Vault

Darth Udko

Старожил
Пользователь
Баллы
103
Вообщем я подключил к своему плагину Vault. При заходе на сервер пишет вот такую ошибку:
Код:
[Server thread/ERROR]: Could not pass event PlayerJoinEvent to SuperPlugin v1.2
org.bukkit.event.EventException
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) ~[spigot.jar:git-Spigot-db6de12-d3e0b6f]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot.jar:git-Spigot-db6de12-d3e0b6f]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot.jar:git-Spigot-db6de12-d3e0b6f]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot.jar:git-Spigot-db6de12-d3e0b6f]
    at net.minecraft.server.v1_8_R3.PlayerList.onPlayerJoin(PlayerList.java:298) [spigot.jar:git-Spigot-db6de12-d3e0b6f]
    at net.minecraft.server.v1_8_R3.PlayerList.a(PlayerList.java:157) [spigot.jar:git-Spigot-db6de12-d3e0b6f]
    at net.minecraft.server.v1_8_R3.LoginListener.b(LoginListener.java:144) [spigot.jar:git-Spigot-db6de12-d3e0b6f]
    at net.minecraft.server.v1_8_R3.LoginListener.c(LoginListener.java:54) [spigot.jar:git-Spigot-db6de12-d3e0b6f]
    at net.minecraft.server.v1_8_R3.NetworkManager.a(NetworkManager.java:231) [spigot.jar:git-Spigot-db6de12-d3e0b6f]
    at net.minecraft.server.v1_8_R3.ServerConnection.c(ServerConnection.java:148) [spigot.jar:git-Spigot-db6de12-d3e0b6f]
    at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:814) [spigot.jar:git-Spigot-db6de12-d3e0b6f]
    at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [spigot.jar:git-Spigot-db6de12-d3e0b6f]
    at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [spigot.jar:git-Spigot-db6de12-d3e0b6f]
    at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [spigot.jar:git-Spigot-db6de12-d3e0b6f]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_31]
Caused by: java.lang.NullPointerException
    at ru.papa.SuperPlugin.Main.add(Main.java:1) ~[?:?]
    at ru.papa.SuperPlugin.Main.PlayerJoinEvent(Main.java:40) ~[?:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_31]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_31]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_31]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_31]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[spigot.jar:git-Spigot-db6de12-d3e0b6f]
    ... 14 more
Если же Vault не подключать, то плагин работает нормально.
А вот сам код моего плагина
Код:
Score score = objective.getScore(ChatColor.RED + "Money: " + Vault.econ.getBalance(player));
score.setScore(3);
      
        A.clear();
        A.add("1");
      
        BukkitScheduler Scheduler = Bukkit.getServer().getScheduler();
        Scheduler.scheduleSyncRepeatingTask(this, new Runnable() {
            @Override
            public void run() {
                Integer i = A.size();
                if(i == 1) {
                    objective.setDisplayName(Colors("&b&lPlugin"));
                    A.add("A");
                }
                if(i == 2) {
                    objective.setDisplayName(Colors("&5&lPlugin"));
                    A.add("B");
                }
                if(i == 3) {
                    objective.setDisplayName(Colors("&d&lPlugin"));
                    A.add("C");
                }
                if(i == 3) {
                    A.clear();
                    A.add("1");
                }
            }
        }, 0, 5);
        player.setScoreboard(board);
    }
  
    public static String Colors(String text) {
        return text.replaceAll("&", "§");
    }
  
    @EventHandler
    public void PlayerJoinEvent(PlayerJoinEvent e) {
        Player p = e.getPlayer();
        this.add(p);
    }
  
}
 
Последнее редактирование:
Я вижу что пишет, что ошибка в 1 и 40 строке, но что там не так?
 
Ты не правильно используешь API Vault
https://dev.bukkit.org/bukkit-plugins/vault/
А помоему все правильно
Код:
public static Economy econ = null;
   
    public void InitEcon() {
        if (!setupEconomy()) {
                    getDescription().getName();
            getServer().getPluginManager().disablePlugin(this);
            return;
        }
    }
    private boolean setupEconomy() {
        if (getServer().getPluginManager().getPlugin("Vault") == null) {
            return false;
        }
        RegisteredServiceProvider<Economy> rsp = getServer()
                .getServicesManager().getRegistration(Economy.class);
        if (rsp == null) {
            return false;
        }
        econ = rsp.getProvider();
        return econ != null;
    }
   
    @SuppressWarnings("deprecation")
    public int getPlayerBalance(String name)
    {
        return (int) econ.getBalance(name);
    }
    @SuppressWarnings("deprecation")
    public void changePlayerBalance(String name,int Value)
    {
        if (Value >= 0 )
            econ.depositPlayer(name, Value);
        else
            econ.withdrawPlayer(name, Value);
    
    }
}
 
убедись что у тебя setupEconomy() вообще исполняется (либо раньше указанного кода). Ошибка указывает на то, что econ == null
 
Назад
Верх