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

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

Тема в разделе "Разработка плагинов для новичков", создана пользователем Darth Udko, 26 авг 2016.

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

    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);
        }
      
    }
     
    Последнее редактирование: 26 авг 2016
  2. Хостинг MineCraft
    <
  3. Автор темы
    Darth Udko

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

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

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

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

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

    Баллы:
    103
    А помоему все правильно
    Код:
    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 Старожил Пользователь

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

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