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

Помогите Плагин не может найти String, помогите понять почему..

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

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

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

    Баллы:
    66
    Имя в Minecraft:
    TheMrQuake
    Не могу понять почему плагин не может найти в Папке Class, в нике игрока,
    Class:
    TheMrQuake:
    C: Маг
    Name: Призыватель маг
    Level: 0
    XP: 0
    S:
    '1': Добавить сгусток энергии [+]
    '2': Добавить заклинание энергии [+]
    '3': Добавить заклинание второе энергии [+]
    Не может найти Добавить сгусток энергии [+] и продолжить ивент.
    Пожалуйста подскажите что я не так делаю ?

    @EventHandler
    public void onMove(PlayerMoveEvent e) {
    final Player p = event.getPlayer();
    File f = new File(getDataFolder() + File.separator + "Class" + File.separator + p.getName() + ".yml");
    YamlConfiguration c = YamlConfiguration.loadConfiguration(f);
    if (c.getString("Class." + p.getName() + ".S" + ".1", "Добавить сгусток энергии [+]") {
    p.sendMessage("test");
    }
    }
    }
     
    Последнее редактирование: 16 янв 2016
  2. Хостинг MineCraft
    <
  3. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Ты не думаешь закрывать вторую круглую скобку?
     
  4. Автор темы
    TheMrQuake

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

    Баллы:
    66
    Имя в Minecraft:
    TheMrQuake
    В смысле? Вот так тоже не работает:
    if (c.getString("Class." + p.getName() + ".S" + ".1") == "Добавить сгусток энергии [+]") {
     
  5. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    В смысле, раз открыл, то и закрой.
     
  6. Автор темы
    TheMrQuake

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

    Баллы:
    66
    Имя в Minecraft:
    TheMrQuake
    Напиши мне пример, я не могу понять.
     
  7. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Окай, тот косяк ты исправил. Теперь:
    Не думаешь, что это не одно и тоже?
     
  8. Автор темы
    TheMrQuake

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

    Баллы:
    66
    Имя в Minecraft:
    TheMrQuake
    Эм.. я думаю это одно и тоже.. не? Тогда когда должен выглядеть if ?
     
  9. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Где в .yml используется имя игрока?
     
  10. Автор темы
    TheMrQuake

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

    Баллы:
    66
    Имя в Minecraft:
    TheMrQuake
    оЁЙ забыл туда написать
    Вот фулл конфиг
    Class:
    TheMrQuake:
    C: Маг
    Name: Призыватель маг
    Level: 0
    XP: 0
    S:
    '1': Добавить сгусток энергии [+]
    '2': Добавить заклинание энергии [+]
    '3': Добавить заклинание второе энергии [+]
     
  11. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Тогда ещё раз поясни, в чём проблема.
    И заключай, пожалуйста, код yml в тег CODE=YAML, к код java в тег CODE=Java.
    Так намного увидеть возможные косяки.
     
  12. Автор темы
    TheMrQuake

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

    Баллы:
    66
    Имя в Minecraft:
    TheMrQuake
    Я хочу чтобы он проверял когда в конфиге S: '1': название Добавить сгусток энергии [+], и он писал в чат тест при движении.[DOUBLEPOST=1452970222,1452969167][/DOUBLEPOST]
    И как заключать ?
     
  13. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Код:
    yaml:
    Код:
    class Java{}
    Так.
    С первого твоего поста я посчитал, что у тебя плагин не компилируется. Так всё-таки компилируется?
    Объект-обработчик implements Listener?
    Ты его зарегистрировал в getPluginManager()-е?
     
  14. Автор темы
    TheMrQuake

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

    Баллы:
    66
    Имя в Minecraft:
    TheMrQuake
    Да всё это есть. Я просто скинул кусочек именно ивента. Когда я пытаюсь проверить какое имя у '1': Имя
    или даже не String а Int он не может найти его, и ивент не выполняется.[DOUBLEPOST=1452971866,1452971476][/DOUBLEPOST]
    Вот так ивент выглядит который мне нужен.[​IMG]
    P.S Куча if это для моего удобства и сделаны временно.
     
  15. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Что если использовать в качестве ключа не '1', а что-то с буквенного символа, например a1?
    Ведь всё равно ты не итерируешь по всем ключам, а проверяешь именно первый.
    Или вообще дать им (ключам) осмысленные имена.
    Файл-то существует? =))
    P.S. Строки корректнее сверять не через ==, а через одна.equals(вторая).
    P.P.S. Я на сегодня слился.
     
  16. Автор темы
    TheMrQuake

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

    Баллы:
    66
    Имя в Minecraft:
    TheMrQuake
    Огромное тебе спасибо! Сделал как ты сказал и все пошло:
    if (c.getString("Class." + p.getName() + ".S" + ".1").equals("Сгусток энергии I")) {
     
Статус темы:
Закрыта.

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