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

Помогите Ошибка с PlayerJoin Event

Discussion in 'Разработка плагинов для новичков' started by Studenikin, Mar 9, 2015.

  1. Автор темы
    Studenikin

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

    Trophy Points:
    123
    Skype:
    vanya.studenikin
    Имя в Minecraft:
    stuvanya
    При входе игрока появляется такая ошибка:
    Code:
    [18:08:12] [Server thread/ERROR]: Could not pass event PlayerJoinEvent to cubecoins v1.0
    org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[spigot.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:509) [spigot.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:494) [spigot.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.PlayerList.c(PlayerList.java:265) [spigot.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.PlayerList.a(PlayerList.java:152) [spigot.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.LoginListener.c(LoginListener.java:119) [spigot.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.LoginListener.a(LoginListener.java:44) [spigot.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.NetworkManager.a(NetworkManager.java:189) [spigot.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.ServerConnection.c(ServerConnection.java:81) [spigot.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:734) [spigot.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289) [spigot.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [spigot.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [spigot.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [spigot.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
    Caused by: java.lang.NullPointerException
        at ru.stuvanya.cubecoins.Main.onJoin(Main.java:30) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_55]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_55]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_55]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_55]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:298) ~[spigot.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        ... 14 more
    код, который ее вызывает:
    Code:
          @EventHandler
           public void onJoin(PlayerJoinEvent event) {
                  Player player = event.getPlayer();
                  Integer i;
                  String s, suff;
                  i = SimpleCoinsAPI.getCoins(player);
                  s = Integer.toString(i);
                  suff = ("§a[" + s + "§a$]");
                  player.sendMessage("Тест");
                  NametagAPI.setSuffix(player.getName(), suff);
           }
     
  2. Хостинг MineCraft
    <
  3. Автор темы
    Studenikin

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

    Trophy Points:
    123
    Skype:
    vanya.studenikin
    Имя в Minecraft:
    stuvanya
    Но вот такой, код при вводе команды "tag" не вызывает никаких ошибок:
    Code:
          public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
              if (cmd.getName().equalsIgnoreCase("tag")) {
                  Player player = (Player) sender;
                  Integer i;
                  String s, suff;
                  i = SimpleCoinsAPI.getCoins(player);
                  s = Integer.toString(i);
                  suff = ("§a[" + s + "§a$]");
                  player.sendMessage("Тест");
                  NametagAPI.setSuffix(player.getName(), suff);
              }
            return true;
          }
     
  4. Plasticable

    Plasticable Старожил Девелопер Пользователь

    Trophy Points:
    173
    Skype:
    plasticable
    Имя в Minecraft:
    Plasticable
    покажи на 30-ю строку
     
  5. Автор темы
    Studenikin

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

    Trophy Points:
    123
    Skype:
    vanya.studenikin
    Имя в Minecraft:
    stuvanya
    i = SimpleCoinsAPI.getCoins(player);[DOUBLEPOST=1425922108,1425921634][/DOUBLEPOST]
    странно, что при вызове этого же кода командой, все работает корректно[DOUBLEPOST=1425922211][/DOUBLEPOST] upload_2015-3-9_20-30-4.png [DOUBLEPOST=1425922994][/DOUBLEPOST]@Plasticable поможешь?
     
  6. Serrrgio

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

    Trophy Points:
    173
    Skype:
    nonecsa
    Имя в Minecraft:
    None
    мне кажется, что в onJoin еще нельзя вызывать SimpleCoinsAPI.getCoins()
    попробуй выполнить этот код, например через 1 сек после входа.
     
  7. Автор темы
    Studenikin

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

    Trophy Points:
    123
    Skype:
    vanya.studenikin
    Имя в Minecraft:
    stuvanya
    а как сделать это?
     
  8. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Trophy Points:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Шедулер
     
  9. Автор темы
    Studenikin

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

    Trophy Points:
    123
    Skype:
    vanya.studenikin
    Имя в Minecraft:
    stuvanya
    а попдробнее, как?[DOUBLEPOST=1425930981,1425930919][/DOUBLEPOST]или может можно использовать другой эвент, который происходит после захода игрока?
     
  10. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Trophy Points:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
  11. Автор темы
    Studenikin

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

    Trophy Points:
    123
    Skype:
    vanya.studenikin
    Имя в Minecraft:
    stuvanya
    спасибо
     
  12. Reality_SC

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

    Trophy Points:
    123
    Имя в Minecraft:
    Reality_SC
    Есть ещё такой PlayerLoginEvent, более поздний по времени вызова.
     
  13. Reality_SC

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

    Trophy Points:
    123
    Имя в Minecraft:
    Reality_SC
    Да да, более ранний, не знаю, что мне в голову ударило :)
    • AsyncPlayerPreLoginEvent
    • PlayerLoginEvent
    • PlayerJoinEvent
     

Share This Page