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

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

Discussion in 'Разработка плагинов для новичков' started by TheMrQuake, Jan 16, 2016.

Thread Status:
Not open for further replies.
  1. Автор темы
    TheMrQuake

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

    Trophy Points:
    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");
    }
    }
    }
     
    Last edited: Jan 16, 2016
  2. Хостинг MineCraft
    <
  3. Reality_SC

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Share This Page