Помогите Помогите со скор бордом и ваултом.

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

Kuroi

Активный участник
Пользователь
Баллы
68
Имя в Minecraft
Kuroi
В общем хочу сделать вывод баланса в скор борд.
в основном классе
Код:
        @EventHandler
        public void onPlayerJoin(PlayerJoinEvent e) {
            Player p = e.getPlayer();
            p.setScoreboard(board);
            Score score = obj.getScore(Bukkit.getOfflinePlayer(ChatColor.GREEN + "GoldCoins:"));
            score.setScore((int) EcoManager.getMoney(p));
        }

В экоМенеджере

Код:
public class EcoManager {
    private static Economy e;
   
    public static void init() {
        RegisteredServiceProvider<Economy> reg = Bukkit.getServicesManager().getRegistration(Economy.class);
        if (reg != null) e = reg.getProvider();
    }
   

    @SuppressWarnings("deprecation")
    public static double getMoney(Player p) {
        return e.getBalance(p.getName());
    }
}

Проблема в том что выдает ошибку

Код:
org.bukkit.event.EventException: null
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[Spigot.jar:git-Spigot-93e20b3-31d3159]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[Spigot.jar:git-Spigot-93e20b3-31d3159]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:499) [Spigot.jar:git-Spigot-93e20b3-31d3159]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:484) [Spigot.jar:git-Spigot-93e20b3-31d3159]
        at net.minecraft.server.v1_12_R1.PlayerList.onPlayerJoin(PlayerList.java:346) [Spigot.jar:git-Spigot-93e20b3-31d3159]
        at net.minecraft.server.v1_12_R1.PlayerList.a(PlayerList.java:166) [Spigot.jar:git-Spigot-93e20b3-31d3159]
        at net.minecraft.server.v1_12_R1.LoginListener.b(LoginListener.java:159) [Spigot.jar:git-Spigot-93e20b3-31d3159]
        at net.minecraft.server.v1_12_R1.LoginListener.e(LoginListener.java:57) [Spigot.jar:git-Spigot-93e20b3-31d3159]
        at net.minecraft.server.v1_12_R1.NetworkManager.a(NetworkManager.java:233) [Spigot.jar:git-Spigot-93e20b3-31d3159]
        at net.minecraft.server.v1_12_R1.ServerConnection.c(ServerConnection.java:140) [Spigot.jar:git-Spigot-93e20b3-31d3159]
        at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:845) [Spigot.jar:git-Spigot-93e20b3-31d3159]
        at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:406) [Spigot.jar:git-Spigot-93e20b3-31d3159]
        at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) [Spigot.jar:git-Spigot-93e20b3-31d3159]
        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [Spigot.jar:git-Spigot-93e20b3-31d3159]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_251]
Caused by: java.lang.NullPointerException
        at ru.kuroi.cpsb.EcoManager.getMoney(EcoManager.java:27) ~[?:?]
        at ru.kuroi.cpsb.Main.onPlayerJoin(Main.java:46) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_251]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_251]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_251]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_251]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[Spigot.jar:git-Spigot-93e20b3-31d3159]
        ... 14 more
 
В общем хочу сделать вывод баланса в скор борд.
в основном классе
Код:
        @EventHandler
        public void onPlayerJoin(PlayerJoinEvent e) {
            Player p = e.getPlayer();
            p.setScoreboard(board);
            Score score = obj.getScore(Bukkit.getOfflinePlayer(ChatColor.GREEN + "GoldCoins:"));
            score.setScore((int) EcoManager.getMoney(p));
        }

В экоМенеджере

Код:
public class EcoManager {
    private static Economy e;
  
    public static void init() {
        RegisteredServiceProvider<Economy> reg = Bukkit.getServicesManager().getRegistration(Economy.class);
        if (reg != null) e = reg.getProvider();
    }
  

    @SuppressWarnings("deprecation")
    public static double getMoney(Player p) {
        return e.getBalance(p.getName());
    }
}

Проблема в том что выдает ошибку

Код:
org.bukkit.event.EventException: null
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[Spigot.jar:git-Spigot-93e20b3-31d3159]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[Spigot.jar:git-Spigot-93e20b3-31d3159]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:499) [Spigot.jar:git-Spigot-93e20b3-31d3159]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:484) [Spigot.jar:git-Spigot-93e20b3-31d3159]
        at net.minecraft.server.v1_12_R1.PlayerList.onPlayerJoin(PlayerList.java:346) [Spigot.jar:git-Spigot-93e20b3-31d3159]
        at net.minecraft.server.v1_12_R1.PlayerList.a(PlayerList.java:166) [Spigot.jar:git-Spigot-93e20b3-31d3159]
        at net.minecraft.server.v1_12_R1.LoginListener.b(LoginListener.java:159) [Spigot.jar:git-Spigot-93e20b3-31d3159]
        at net.minecraft.server.v1_12_R1.LoginListener.e(LoginListener.java:57) [Spigot.jar:git-Spigot-93e20b3-31d3159]
        at net.minecraft.server.v1_12_R1.NetworkManager.a(NetworkManager.java:233) [Spigot.jar:git-Spigot-93e20b3-31d3159]
        at net.minecraft.server.v1_12_R1.ServerConnection.c(ServerConnection.java:140) [Spigot.jar:git-Spigot-93e20b3-31d3159]
        at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:845) [Spigot.jar:git-Spigot-93e20b3-31d3159]
        at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:406) [Spigot.jar:git-Spigot-93e20b3-31d3159]
        at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) [Spigot.jar:git-Spigot-93e20b3-31d3159]
        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [Spigot.jar:git-Spigot-93e20b3-31d3159]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_251]
Caused by: java.lang.NullPointerException
        at ru.kuroi.cpsb.EcoManager.getMoney(EcoManager.java:27) ~[?:?]
        at ru.kuroi.cpsb.Main.onPlayerJoin(Main.java:46) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_251]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_251]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_251]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_251]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[Spigot.jar:git-Spigot-93e20b3-31d3159]
        ... 14 more
У тебя e = null, ты вызываешь метод init в onEnable?
 
У тебя e = null, ты вызываешь метод init в onEnable?
вот что косательно скорборда и онЭнейбл.
Код:
        public void onEnable() {
            Bukkit.getPluginManager().registerEvents(this, this);
            
            board = Bukkit.getScoreboardManager().getNewScoreboard();
            obj = board.registerNewObjective("broBlo3", "dummy");
            
            obj.setDisplayName("На счете");
            obj.setDisplaySlot(DisplaySlot.SIDEBAR);
            
            for (Player op : Bukkit.getOnlinePlayers()) {
            	op.setScoreboard(board);
            }
        }

но если поменять

Код:
        @EventHandler
        public void onPlayerJoin(PlayerJoinEvent e) {
            Player p = e.getPlayer();
            p.setScoreboard(board);
            Score score = obj.getScore(Bukkit.getOfflinePlayer(ChatColor.GREEN + "GoldCoins:"));
            score.setScore((int) EcoManager.getMoney(p));
        }
на
Код:
		@EventHandler
        public void onPlayerJoin(PlayerJoinEvent e) {
        	Player p = e.getPlayer();
        	p.setScoreboard(board);
        	Score score = obj.getScore(Bukkit.getOfflinePlayer(ChatColor.GREEN + "GoldCoins:"));
        	score.setScore(score.getScore() + 1);
        }

то все работает как часы
 
проблема решина.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх