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

Помогите Задержка без разделения на потоки

Discussion in 'Разработка плагинов для новичков' started by Jayman, Dec 30, 2014.

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

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

    Trophy Points:
    76
    Если использовать Thread.sleep(), то задержка будет для всего плагина. Как сделать задержку только для определённого куска кода(допустим метода, цикла или условия)?
     
  2. Хостинг MineCraft
    <
  3. CraftCoder

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

    Trophy Points:
    108
    Имя в Minecraft:
    CraftCoderr
    Шедулеры
     
  4. Автор темы
    Jayman

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

    Trophy Points:
    76
    А можно готовый код? Просто в 1 раз слышу про них.
     
  5. CraftCoder

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

    Trophy Points:
    108
    Имя в Minecraft:
    CraftCoderr
  6. Автор темы
    Jayman

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

    Trophy Points:
    76
    В чём ошибка?
    Code:
    @EventHandler
       public void onPlayerInteract(PlayerInteractEvent e) {
           if(e.getAction() == Action.RIGHT_CLICK_BLOCK) {
           final Block b = e.getClickedBlock();
               if(b.getType() == Material.WALL_SIGN || b.getType() == Material.SIGN_POST) {
                   Sign sign = (Sign) b.getState();
                   Player player = e.getPlayer();
                   String[] lines = sign.getLines();
                   if(lines[0].equalsIgnoreCase("1")) {
                      BukkitScheduler scheduler = Bukkit.getServer().getScheduler();
                      sign.setLine(1, "test");
                       sign.update();
                       scheduler.scheduleSyncRepeatingTask((Plugin) this, new Runnable() {
                        @Override
                        public void run() {
                            Sign sign = (Sign) b.getState();
                            sign.setLine(1, "");
                           sign.update();
                        }
                       }, 0L, 20L);
                   }
                   }
           }
       }
    
     
  7. Den_Abr

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

    Trophy Points:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    На кой чёрт создавать второй раз переменную sign? Она же уже создана, используйте её, поставив final к ней.
    Да и по кастованию (Plugin) this можно судить о том, что шедулер создаётся не в главном классе.
     
  8. Автор темы
    Jayman

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

    Trophy Points:
    76
    А надо в главном? К нему ж вреде как public не подпишешь.
     
    Last edited: Dec 30, 2014
  9. Den_Abr

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

    Trophy Points:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Что за ахинею вы несёте? this вы знаете, что такое?
     
  10. Автор темы
    Jayman

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

    Trophy Points:
    76
    А как тогда правильно сделать?
     
  11. ql_Nik_lp

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

    Trophy Points:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    Можно подумать шедулеры это не потоки)
     
  12. Автор темы
    Jayman

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

    Trophy Points:
    76
    А я хоть метод шедулера правильный выбрал для задержки?
     
  13. aceJKE

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

    Trophy Points:
    123
    Может быть стоит подучить Java?
     
  14. CraftCoder

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

    Trophy Points:
    108
    Имя в Minecraft:
    CraftCoderr
    Где-то была тема об этом, не помню до чего доспорили.
     
  15. Автор темы
    Jayman

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

    Trophy Points:
    76
    Ну, так никто не скажет, как правильно сделать задержку?
     
  16. serega6531

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

    Trophy Points:
    173
    Skype:
    shkurovs
    Вам уже сказали.
     
  17. Автор темы
    Jayman

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

    Trophy Points:
    76
    Ну а можете исправить код?
     

Share This Page