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

Помогите Задержка кода •~°

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

  1. HunterGaming

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

    Баллы:
    96
    Имя в Minecraft:
    sqdFendy
    А нельзя в том случае использовать цикл for?
     
  2. Автор темы
    SpokeKamchatka

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

    Баллы:
    66
    Мне нужна задержка кода, а с циклом можно разобраться чуть позже. Циклом задержку не сделаешь, а проблема остаётся..
     
  3. HunterGaming

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

    Баллы:
    96
    Имя в Minecraft:
    sqdFendy
    алло, вот...
    Код:
    for (Block b : blocks) {
        b.setType(Material.AIR);
       // TODO: Player play sound
       Thread.sleep(10000L);
    }
     
  4. SecDet

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

    Баллы:
    76
    Имя в Minecraft:
    d3ever
    Бред
     
  5. Slavkaa

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

    Баллы:
    76
    Имя в Minecraft:
    Slavok2001
    И встает твой сервер на 10*blocks.size() сек.
     
  6. Bars

    Bars Старожил Девелопер Пользователь

    Баллы:
    173
    Неправильно ты, дядя, сшчэдуллер юзаешь. И зачем в них Thread.sleep, если ты от него отказался и перешел НА сшчэдуллеры ВМЕСТО него? Нельзя использовать и то, и другое.

    Циклом проходишься по партиям блоков (партии блоков - это то, между чем задержка, т.е. лупишь одну партию, потом с задержкой другую и так далее)
    @
    В каждой итерации цикла запускаешь сшчэдуллер runTaskLater(вряд ли Asynchronous, потому что нельзя блоки ставить в асинхроне)
    @
    В этом сшчэдуллере и расставляешь всю партию блоков

    Так между расстановкой партий блоков у тебя будет нужная тебе задержка. Это доведенный до ума твой способ. Но он гмно в плане оптимизации, используй лучше готовые либы и API для расстановки блоков с задержкой. Там все доведено до ума и давно. Не изобретай велосипед старого типа (1884 г.), когда прогресс давно ушел вперед и есть велосипеды наших дней
     
  7. Bars

    Bars Старожил Девелопер Пользователь

    Баллы:
    173

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