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

Помогите Где лучше хранить таймер?

Тема в разделе "Разработка плагинов для новичков", создана пользователем JolyHoska, 29 июл 2017.

  1. alexandrage

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

    Баллы:
    173
    Везде можно да. Где не требуется в синс.
     
  2. alexandrage

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

    Баллы:
    173
    Вот один из примеров когда из асинс шедулера идет переход в синс для установке блока.
    Оно требуется один раз при первом заходе игрока. Дальше все печки игроков тикают в асинсе.

    Код:
        @EventHandler
        public void on(TickUpdateEvent e) {
            for (Player p : Bukkit.getOnlinePlayers()) {
                if (!NMS.furnaces.containsKey(p.getName())) {
                    new SyncScheduler(p.getName()).runTaskLater(this.plugin, 0);
                } else {
                    try {
                        NMS.tiles.get(p.getName()).e();
                    } catch (Exception x) {
    
                    }
                }
            }
        }
     
  3. Автор темы
    JolyHoska

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

    Баллы:
    76
    Имя в Minecraft:
    JolyNoska
    У меня Scheduler используется только в сообщения, например: примеры, очистка и т.д. Больше Scheduler мне нигде не нужен, Scheduler запускается при включения сервера(плагина)Поэтому всегда буду использовать Asynchronously, чтобы сделать все круто и мега оптимизировано)
     
  4. Автор темы
    JolyHoska

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

    Баллы:
    76
    Имя в Minecraft:
    JolyNoska
    У меня так: new Core$1(this).runTaskTimerAsynchronously(this, 0, 2400);
     
  5. alexandrage

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

    Баллы:
    173
    Примеры начали парсить. Нужно что то сложнее давать. Или писать его в карту).
     
  6. Автор темы
    JolyHoska

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

    Баллы:
    76
    Имя в Minecraft:
    JolyNoska
    У меня еще загадки
     
  7. Автор темы
    JolyHoska

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

    Баллы:
    76
    Имя в Minecraft:
    JolyNoska
    public void onEnable () {
    BukkitRunnable runnable = (new BukkitRunnable () {
    @Override
    public void run () {
    log.finer ("Tick");
    }
    });
    Runnable.runTasktimerAsynchronously (это, 5L, 20L);
    }

    } Так лучше?
     
  8. alexandrage

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

    Баллы:
    173
    Тебе можно. Но я предпочитаю ооп.
     
  9. Автор темы
    JolyHoska

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

    Баллы:
    76
    Имя в Minecraft:
    JolyNoska
    Ну хорошо. и еще последний вопрос: new Core$1(this).runTaskTimerAsynchronously(this, 0, 2400); он не создают новые потоки, а запускает один BukkitAPI, я прав? То есть чем меньше потоков не меньше нагрузка
     
  10. Slavkaa

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

    Баллы:
    76
    Имя в Minecraft:
    Slavok2001
    А не проще ли тебе будет почитать про потоки, чем разводить тут тему на 10 страниц?
     
  11. Автор темы
    JolyHoska

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

    Баллы:
    76
    Имя в Minecraft:
    JolyNoska
    я читал, но про BukkitRunnable не нашел ничего
     
  12. Slavkaa

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

    Баллы:
    76
    Имя в Minecraft:
    Slavok2001
    А просто Runnable юзать?
     
  13. Автор темы
    JolyHoska

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

    Баллы:
    76
    Имя в Minecraft:
    JolyNoska
    Неа
     
  14. hyndorik

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

    Баллы:
    98
    Имя в Minecraft:
    hyndo
    И почему?
     
  15. alexandrage

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

    Баллы:
    173
    Может потому что мы работает с ведрорунаблом? Не думал об этом?
     
    Последнее редактирование: 31 июл 2017
  16. Slavkaa

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

    Баллы:
    76
    Имя в Minecraft:
    Slavok2001
    Юзаю для ведра обычный Runnable, все работает стабильно, ошибок нет.
     
  17. alexandrage

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

    Баллы:
    173
    Не умеешь в ооп просто.
     
  18. Slavkaa

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

    Баллы:
    76
    Имя в Minecraft:
    Slavok2001
    Что ты подразумеваешь под словом "ооп"? Много раз от тебя слышал, но так и не понял.
     
  19. alexandrage

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

    Баллы:
    173
  20. Slavkaa

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

    Баллы:
    76
    Имя в Minecraft:
    Slavok2001

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