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

Помогите Помогите с кулдауном

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

  1. Автор темы
    Bezobrazie

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

    Баллы:
    46
    Имя в Minecraft:
    MySoulIsCry
    Я знаю что есть такая штука как КД на жемчуге эндера типо нельзя его подряд кидать. типо он становится серым в инвентаре. Можно ли использовать такую же штуку на другой вещи, допустим железный топор?
     
  2. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Если речь про кд на атаку - нужно использовать атрибуты на топор. Если прям как тот же жемчуг, то player.setCooldown(Material.IRON_AXE, 20), где 20 - количество тиков для кулдауна.
     
  3. Автор темы
    Bezobrazie

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

    Баллы:
    46
    Имя в Minecraft:
    MySoulIsCry
    хм да работает но не в моем случае
    мой код это если игрок нажимает пкм и если это топор который назван топор тора то всех игроков бьет молнией но как я понял этот метод не ограничивает EventHandler и кд не работает, есть ли проверка на кулдаун? тоесть если у топора КД то e.setCancelled(true);
     
  4. NeonL1ght

    NeonL1ght Новичок Пользователь

    Баллы:
    6
    Имя в Minecraft:
    NeonL1ght
    я давно не писал на жаве, поэтому приведу пример словечками
    ставишь булл переменную cooldown
    при активации топора, меняешь её на false
    далее ставишь Java Timer и сохраняешь каждое его новое значение в переменную alpha
    используешь while с условием того, что цикл будет выполняться, пока значение alpha не достигнет нужного тебе кд
    после цикла вновь присваиваешь cooldown = true
    описал коряво, но думаю суть ты понял
     
  5. Автор темы
    Bezobrazie

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

    Баллы:
    46
    Имя в Minecraft:
    MySoulIsCry
    прости но не понял сижу пытаюсь
     
  6. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Кинул же ссылку - там и player.hasCooldown видно.
     
  7. Автор темы
    Bezobrazie

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

    Баллы:
    46
    Имя в Minecraft:
    MySoulIsCry
    Сорри сразу не заметил сделал так
    Код:
    if (p.getCooldown(Material.IRON_AXE) != 0) return;
            p.setCooldown(Material.IRON_AXE, 6000);
    
     

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