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

Помогите Получение аргумента из сообщения в чат.

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

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

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

    Баллы:
    46
    Имя в Minecraft:
    opy
    Хотелось бы узнать: "Есть ли способ брать аргументы, пример как и в команде, но в сообщение?"

    Полазив на англоязычных форумах, я нашёл способ, но, что в нём и как, я не особо понял.

    Код:
    String ex = "hello1 hello2 hello3".split(" ");
    String first = ex[1];
    Сколько я не пытался в этом разобраться, но пока-что ничего не получилось.
    Последняя надежда осталось только на вас, ребята c:
     
  2. Хостинг MineCraft
    <
  3. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    String[] args = event.getMessage().spilit(" ");
    String first = args[0];
     
  4. kirill2011s

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

    Баллы:
    103
    split разбивает строку по разделителю(в данном случае пробелу)
    Тебе нужно взять строку из твоего эвента, разбить ее split'ом и использовать полученный массив, как в примере, который ты привел.
     
  5. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Все в нем так, это с тобой что то не так.
     
  6. kirill2011s

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

    Баллы:
    103
    Это будет сама команда, если что.
     
  7. Dymeth

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

    Баллы:
    76
    Метод split(String) класса String возвращает массив строк (String[]). Если конкретнее, то делит строку на подстроки (разделитель как раз в аргументе передаётся).
    Тоже самое, что и в командах. Только индекс на единицу больше будет, т.к. в этом массиве ещё и слеш с именем команды хранится...
    UPD: Не ожидал, что будет так много ответов в первую же минуту. Удивительно...
     
  8. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    евент то не CommandPreProccess. Так что это не команда.
     
  9. kirill2011s

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

    Баллы:
    103
    А, ну да.
     
  10. Автор темы
    iD3LSY

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

    Баллы:
    46
    Имя в Minecraft:
    opy
    А если говорить в общем? Можно-ли использовать как аргументы из команды? Без создания создания String, который содержит в себе этот аргумент.
    И сам код, я понял. Не понял я зачем там "hello1 hello2 hello3". Это был мой косяк, надо было уточнить)
     
  11. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Это некая строка которую ты делишь.
     
  12. Автор темы
    iD3LSY

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

    Баллы:
    46
    Имя в Minecraft:
    opy
    Спасибо. Буду знать. Но опять-же,
     
  13. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    ну например
    PlayerCommandPreproccessEvent
    String split = event.getMessage().split(" ");
    if (split[0].equals("commandName")) {
    if (split.lenght == 2 && split[1].equals("commandArg")) {
    // do
    }
    }
     
  14. Автор темы
    iD3LSY

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

    Баллы:
    46
    Имя в Minecraft:
    opy
    Да... Что-то я ступил... Ладно.
     
Статус темы:
Закрыта.

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