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

Помогите Ошибка при работе с конфигом из других классов.

Тема в разделе "Разработка плагинов для новичков", создана пользователем konfyciu98, 15 июн 2014.

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

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

    Баллы:
    123
    Skype:
    wwwixelsor9
    Имя в Minecraft:
    konfyciu
    Тип ошибки:
    Код:
    Caused by: java.lang.NullPointerException
    
    Суть: пытаюсь получить данные конфига из другого класса, на этом получении кидает ошибку. Но дело в том, что из класса с выполнением команды эта ошибка не возникает, а вот в эвентах она есть!

    Это для использования конфига:
    Код:
      Blocker plugin;
       
       public BlockerListener(Blocker main) {
         main = plugin;
       }
    
    Пример, где возникает ошибка:
    Код:
    for(int i = plugin.config.getStringList("block-list").size(); i>0; i--) {
    //....
    }
    [/codee]
     
  2. Хостинг MineCraft
    <
  3. serega6531

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

    Баллы:
    173
    Skype:
    shkurovs
    NPE либо в pluigin (маловероятно), либо в config, либо в getStringList(). Проверяйте все на null.
     
  4. Автор темы
    konfyciu98

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

    Баллы:
    123
    Skype:
    wwwixelsor9
    Имя в Minecraft:
    konfyciu
    Но из класса с командами беру эти значения, и все работает!
     
  5. serega6531

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

    Баллы:
    173
    Skype:
    shkurovs
    [DOUBLEPOST=1402848726,1402846315][/DOUBLEPOST]И вот ещё: в листе же вроде строки получаются с 0?
     
  6. kirill2011s

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

    Баллы:
    103
    Попробуйте сделать переменную plugin статичной.
     
  7. Автор темы
    konfyciu98

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

    Баллы:
    123
    Skype:
    wwwixelsor9
    Имя в Minecraft:
    konfyciu
    я иду с конца, с индексом массива все норм
     
  8. serega6531

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

    Баллы:
    173
    Skype:
    shkurovs
    Индекс никогда не достигнет нуля, а начинать нужно с size() - 1.
     
  9. Автор темы
    konfyciu98

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

    Баллы:
    123
    Skype:
    wwwixelsor9
    Имя в Minecraft:
    konfyciu
    Ну так, я и беру get(i-1);[DOUBLEPOST=1402849580,1402849545][/DOUBLEPOST]
    Без результатов :(
     
  10. serega6531

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

    Баллы:
    173
    Skype:
    shkurovs
    Так что из того, о чем я говорил - null?
     
  11. Автор темы
    konfyciu98

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

    Баллы:
    123
    Skype:
    wwwixelsor9
    Имя в Minecraft:
    konfyciu
    if(plugin.config.getStringList("block-list") != null)
    Неа, так же
     
  12. serega6531

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

    Баллы:
    173
    Skype:
    shkurovs
    Я про выведение результатов в консоль.
     
  13. Автор темы
    konfyciu98

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

    Баллы:
    123
    Skype:
    wwwixelsor9
    Имя в Minecraft:
    konfyciu
    Я не точно понят о чем ты, так что просто скину ошибку
    Код:
    [20:37:39] [Server thread/ERROR]: Could not pass event CreatureSpawnEvent to Blocker v1.0
    org.bukkit.event.EventException
       at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:294) ~[spigot.jar:git-Spigot-1487]
       at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot.jar:git-Spigot-1487]
       at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:30) ~[spigot.jar:git-Spigot-1487]
       at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot.jar:git-Spigot-1487]
       at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot.jar:git-Spigot-1487]
       at org.bukkit.craftbukkit.v1_7_R3.event.CraftEventFactory.callCreatureSpawnEvent(CraftEventFactory.java:282) [spigot.jar:git-Spigot-1487]
       at net.minecraft.server.v1_7_R3.World.addEntity(World.java:1092) [spigot.jar:git-Spigot-1487]
       at net.minecraft.server.v1_7_R3.SpawnerCreature.spawnEntities(SpawnerCreature.java:185) [spigot.jar:git-Spigot-1487]
       at net.minecraft.server.v1_7_R3.WorldServer.doTick(WorldServer.java:189) [spigot.jar:git-Spigot-1487]
       at net.minecraft.server.v1_7_R3.MinecraftServer.v(MinecraftServer.java:679) [spigot.jar:git-Spigot-1487]
       at net.minecraft.server.v1_7_R3.DedicatedServer.v(DedicatedServer.java:283) [spigot.jar:git-Spigot-1487]
       at net.minecraft.server.v1_7_R3.MinecraftServer.u(MinecraftServer.java:583) [spigot.jar:git-Spigot-1487]
       at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java:489) [spigot.jar:git-Spigot-1487]
       at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:628) [spigot.jar:git-Spigot-1487]
    Caused by: java.lang.NullPointerException
       at me.konfyciu.Blocker.BlockerListener.entitySpawn(BlockerListener.java:113) ~[?:?]
       at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source) ~[?:?]
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_55]
       at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_55]
       at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:292) ~[spigot.jar:git-Spigot-1487]
       ... 13 more
    
     
  14. serega6531

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

    Баллы:
    173
    Skype:
    shkurovs
    Строка 113 - это какая?
     
  15. Автор темы
    konfyciu98

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

    Баллы:
    123
    Skype:
    wwwixelsor9
    Имя в Minecraft:
    konfyciu
    for(int i = plugin.config.getStringList("block-list").size(); i>0; i--)
     
  16. serega6531

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

    Баллы:
    173
    Skype:
    shkurovs
    logger.info(String.valueOf(plugin != null));
    logger.info(String.valueOf(plugin.config != null));
    logger.info(String.valueOf(plugin.config.getStringList("block-list") != null));
     
  17. Автор темы
    konfyciu98

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

    Баллы:
    123
    Skype:
    wwwixelsor9
    Имя в Minecraft:
    konfyciu
    Как распределить?[DOUBLEPOST=1402851086,1402851055][/DOUBLEPOST]logger.info(String.valueOf(config)) - это только в главный класс
     
  18. serega6531

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

    Баллы:
    173
    Skype:
    shkurovs
    Нет. Вставьте это все перед строкой с ошибкой.
     
  19. Автор темы
    konfyciu98

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

    Баллы:
    123
    Skype:
    wwwixelsor9
    Имя в Minecraft:
    konfyciu
    Но у меня нет в этом кассе переменной config[DOUBLEPOST=1402851228,1402851195][/DOUBLEPOST]Смысла создавать другу нет, это не поможет
     
  20. serega6531

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

    Баллы:
    173
    Skype:
    shkurovs
    Я уже переделал то сообщение.
     
  21. Автор темы
    konfyciu98

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

    Баллы:
    123
    Skype:
    wwwixelsor9
    Имя в Minecraft:
    konfyciu
    [21:08:49] [Server thread/INFO]: false
    Только это к этому - logger.info(String.valueOf(plugin != null));
     

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