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

Помогите [РЕШЕНО] Как заполнить файл конфигурации координатами блоков?

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

Статус темы:
Закрыта.
  1. Автор темы
    Exception_Prototype

    Exception_Prototype Активный участник Пользователь

    Баллы:
    46
    Т.е. при старте программы мы подгружаем все данные в ArrayList из конфига, ~работаем~ , после чего сохраняем всё в конфиг и всё. Я вас правильно понял?
     
  2. Хостинг MineCraft
    <
  3. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    да.
     
  4. _MediaNik_

    _MediaNik_ Активный участник Пользователь

    Баллы:
    46
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    Мне нравится логика этого парня.:good:
     
  5. Автор темы
    Exception_Prototype

    Exception_Prototype Активный участник Пользователь

    Баллы:
    46
    При первом запуске бьёт ошибку сервер, файлик то пустой, ему не из чего подгружать. Ни секции, нечего другого в него не записано.

    java.lang.NullPointerException http://joxi.ru/krDDBdQf0vLwBr
    at me.pluginname.Main.onEnable(Main.java:71) ~[?:?][DOUBLEPOST=1472390585,1472390552][/DOUBLEPOST]
    Надеюсь это был не сарказм. xD
     
  6. _MediaNik_

    _MediaNik_ Активный участник Пользователь

    Баллы:
    46
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    Мне все больше нравится этот парень:good:(не сарказм)
     
  7. Автор темы
    Exception_Prototype

    Exception_Prototype Активный участник Пользователь

    Баллы:
    46
    Ладно, обошли. Но при сохранении тоже самое, он не может получить секции куда производить запись.
    Сейчас попробую установить её при создании конфига.
    Код:
    if (testConfig.getConfigurationSection("bloks") == null) { 
    }
     
  8. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Ну так добавь какойнибудь левый блок в конфиг вручную. Или добавь проверку isSection() или там где getKeys - isEmpty()
     
  9. Автор темы
    Exception_Prototype

    Exception_Prototype Активный участник Пользователь

    Баллы:
    46
    Чёт эт, не понятное дело.
    Вроде файлик не пустой, проверка есть.

    Код:
            if (!ChekingBlocksConfig.getRoot().isConfigurationSection("blocks")) {
                ChekingBlocksConfig.createSection("blocks");
    
            }
    
            saveFileTeamSpawns();
            saveFileTeamList();
            saveFileChekingBlocks();
    
            for (String _block : ChekingBlocksConfig.getConfigurationSection("blocks").getKeys(false)) {
    
                api.ListCheckingBlocks.add(Bukkit.getWorld("blocks." + _block + "world").getBlockAt(ChekingBlocksConfig.getInt("blocks." + _block + "x"), ChekingBlocksConfig.getInt("blocks." + _block + "y"), ChekingBlocksConfig.getInt("blocks." + _block + "z")));
            }
    
    Как бы старая проблема выше вернулась. Файлик не пустой (проверка есть перед чтением), даже 2 блока внесено, но всё равно кидает исключение.

    Код:
    [I]java.lang.NullPointerException
            at me.meplugin.Main.onEnable(Main.java:77) ~[?:?][/I]
    
    http://joxi.ru/xAe0KPosYjPMR2
     
  10. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Ты забыл точки ".world" ".x" и тд
     
  11. Автор темы
    Exception_Prototype

    Exception_Prototype Активный участник Пользователь

    Баллы:
    46
    Грех обвинять вас в ошибке за всю вашу помощь, но всё же http://joxi.ru/E2pgylZsBZXvgm )))
    Сейчас проверю.
     
  12. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Ну а догадаться сложно чтоли? С конфигами чтоли не работал?
     
  13. Автор темы
    Exception_Prototype

    Exception_Prototype Активный участник Пользователь

    Баллы:
    46
    Неа, не помогло, я для проверки попытался добавить сюда http://joxi.ru/Dr8EBbYikXPD1m ещё точки, но нет, тоже не помогло.[DOUBLEPOST=1472408505,1472408460][/DOUBLEPOST]
    Дык, я как дней 6 всего начал плагины писать)
    Считай учусь только, первый конфиг оформлял с гайда, там почти нечего и не правил.
     
  14. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Наврятли там точки нужны.
    А конфиг должен так выглядеть.
    blocks:
    ..0:
    ....x: 1
    ....y: 5
    ....z: 4
    ..1:
    ....x: 5
    ....y: 4
    ....z: 7

    Точки это пробелы.
     
  15. Автор темы
    Exception_Prototype

    Exception_Prototype Активный участник Пользователь

    Баллы:
    46
    Ну почти так http://joxi.ru/v29lB9YuG6YY4m
    Разве что в одинарных скобочках номера блоков...
     
  16. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Ну хорошо. Попробуй убрать при запуске добавление блоков в лист. Добавь в лист пару блоков. И стопни сервер. И будет нужный конфиг.
     
  17. Автор темы
    Exception_Prototype

    Exception_Prototype Активный участник Пользователь

    Баллы:
    46
    Сделал, но конфиг не чем не отличается от предыдущего...
     
  18. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Ну значит при запуске гдето ошибка. У тебя arraylist случаем не null?
     
  19. Автор темы
    Exception_Prototype

    Exception_Prototype Активный участник Пользователь

    Баллы:
    46
    Код:
    ArrayList<Block> ListCheckingBlocks = new ArrayList<>();
    
    Как объявляется она в другом классе, но этот класс создаётся до заполнения из конфига.
    Но не думаю, что это причина проблемы, ибо запись в конфиг происходит нормально.
     
  20. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    А почему ты используешь api.list.add?
    А не просто list.add?
     
  21. Автор темы
    Exception_Prototype

    Exception_Prototype Активный участник Пользователь

    Баллы:
    46
Статус темы:
Закрыта.

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