1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

удалено

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

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

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

    Баллы:
    76
    удалено
     
    Последнее редактирование: 25 янв 2022
  2. alexandrage

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

    Баллы:
    173
    Ну вообще то это так и работает.
     
  3. Абсик

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

    Баллы:
    76
    Имя в Minecraft:
    Abcik
    Сделай переменную и меняй её после того, как событие случилось. Также в евенте сделай проверку на стандартное значение переменной
     
  4. alexandrage

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

    Баллы:
    173
    Ну и где он повторяется у тебя? Этот ивент работает только при дамаге ентити.
     
  5. alexandrage

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

    Баллы:
    173
    Это так не работает, вставляй свои условия в обработчик ивента.
     
  6. ifxandy

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

    Баллы:
    76
    Имя в Minecraft:
    witwar
    И не используй dispatchCommand, если есть метод уже, костыли
     
  7. LOVEC3327

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

    Баллы:
    76
    Имя в Minecraft:
    LOVEC3327
    Так создай статический булеан и делай по нему проверку.
    PHP:
    public static boolean kickAttack false;
    PHP:
        @EventHandler
        void onDamageByEntity
    (EntityDamageByEntityEvent e) {
            if (
    kickAttack) {
                
    //TODO
            
    }
        }
    И потом просто при необходимости переключай на true/false в своей команде.
     
  8. gelion

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

    Баллы:
    78
    Я в этом не шарю, но есть идеи как это сделать. Надо завести переменную flag, и поместить код в твоем ивенте в if который выполняется если значение переменной flag истинно. Это конечно не сложно, а вот где эта переменная должна быть, чтобы к ней обращаться, ну и изменять ее. Создаешь какой-нибудь класс classFlag и в нем делаешь статическое поле со значением переменной flag
     
  9. gelion

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

    Баллы:
    78
    Да когда писал увидел твоей сообщение) Действительно зачем создавать другой класс, можно сразу в этом
     
  10. Абсик

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

    Баллы:
    76
    Имя в Minecraft:
    Abcik
    Кому-то видимо нужно подучить элементарное ООП
     
  11. LOVEC3327

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

    Баллы:
    76
    Имя в Minecraft:
    LOVEC3327
    В методе onCommand меняй и все, в чем проблема?
     
  12. alexandrage

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

    Баллы:
    173
    А лучше вот так
     
  13. MurlikMurlik

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

    Баллы:
    96
    private static boolean flag = false;

    public static void toggle() {
    flag = !flag;
    }

    Вставляй это в команду и вызывай метод toggle(), а в слушателе поставь проверку.
     
  14. gelion

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

    Баллы:
    78
    c
    Могу сейчас ошибаться, а перед названием поля тут не нужно писать имя класса?
     
  15. _MRDen3000YT_

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

    Баллы:
    76
    ГОВНОКОД! Делай все по разным классам.
     
  16. alexandrage

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

    Баллы:
    173
    Никак.
     
  17. MurlikMurlik

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

    Баллы:
    96
    Вероятно ты путаешь присвоение значений и создание переменной. При создании переменной нужно явно указывать его тип, что и было показано в моем примере выше, когда я создал статический булиан... это же основы java..
     
  18. MurlikMurlik

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

    Баллы:
    96
    Используй код который я дал выше.
    Добавь в обработчик ивента условие
    if (flag) {
    //выполняется нужное действие
    }

    В команду или меню добавь
    flag = !flag;

    Если тебе нужно вызывать методы с главного класса, то создай конструктор в слушателе и передай ссылку на главный класс или создай статический метод который ссылается на этот класс.
     
  19. alexandrage

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

    Баллы:
    173
    new TwoClass(this)
     
  20. LOVEC3327

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

    Баллы:
    76
    Имя в Minecraft:
    LOVEC3327
    Тебе только это поможет. Иди для начала основы яп изучи, а потом уже делай плагины.
     
Статус темы:
Закрыта.

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