Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Dismiss Notice

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

Discussion in 'Разработка плагинов для новичков' started by Darth Udko, Aug 26, 2016.

  1. Автор темы
    Darth Udko

    Darth Udko Старожил Пользователь

    Trophy Points:
    103
    Вообщем я подключил к своему плагину Vault. При заходе на сервер пишет вот такую ошибку:
    Code:
    [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 не подключать, то плагин работает нормально.
    А вот сам код моего плагина
    Code:
    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);
        }
      
    }
     
    Last edited: Aug 26, 2016
  2. Хостинг MineCraft
    <
  3. Автор темы
    Darth Udko

    Darth Udko Старожил Пользователь

    Trophy Points:
    103
    Я вижу что пишет, что ошибка в 1 и 40 строке, но что там не так?
     
  4. Jampire

    Jampire Старожил Пользователь

    Trophy Points:
    173
    Skype:
    jampire-h
    Имя в Minecraft:
    Jampire
  5. Автор темы
    Darth Udko

    Darth Udko Старожил Пользователь

    Trophy Points:
    103
    А помоему все правильно
    Code:
    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);
        
        }
    }
     
  6. Jampire

    Jampire Старожил Пользователь

    Trophy Points:
    173
    Skype:
    jampire-h
    Имя в Minecraft:
    Jampire
    убедись что у тебя setupEconomy() вообще исполняется (либо раньше указанного кода). Ошибка указывает на то, что econ == null
     

Share This Page