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

Помогите Восстановление блока по прохождению времени

Тема в разделе "Разработка плагинов для новичков", создана пользователем Lite-craft, 30 мар 2016.

  1. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Жирновато будет.
     
  2. Хостинг MineCraft
    <
  3. Dymeth

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

    Баллы:
    76
    Каждый шедулер - поток. Много потоков - это плохо.
    Такой вариант будет уместен при маленьком онлайне и при маленькой задерке перед восстановлением. А если один из параметров увеличится?
    К тому же сохранение изменённых блоков на диск при таком раскладе будет неудобным.
    По поводу использования ОЗУ, кстати, тоже однозначно нельзя однозначно ничего сказать. Лично я понятия не имею, что в себе хранит шедулер, ты, думаю, тоже не интересовался.

    В общем спорить можно бесконечно. Оба варианта имеют право на существование. Однако всё зависит от конкретной ситуации.
     
  4. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Це верно.
    Отложенный таск не шедулер.
    UPD: ан нет, тут схалтурили. Тот же шедулер, только без повторов.
    Если смотреть далеко вдаль и предугадать то, что сервер упадёт при имеющихся неизменённых блоках, то тут уже ничто не поможет в любом случае.
     
  5. Dymeth

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

    Баллы:
    76
    Таск или шедулер - значения не имеет.
    Что касается падений сервера, то тут действительно ни один из вариантов не поможет. Можно, конечно, при изменении блока сразу записывать информацию на диск, но это уже совсем извращение.
    Согласись, что перезагрузки сервера происходят в разы чаще, чем "фатальные" краши (при "обычных" onDisable() всё-равно выполняется).
     
  6. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    В UPD написал, что это, считай, одно и тоже.
    А тут уже в зависимости от реализации.
    В любом случае,
    и
    А вообще, ТС сам не знает, что хочет, ибо даже объяснить толком не может. Да пребудет с ним сила огурцов.
     
  7. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Воистину огурцов.
     
  8. fall.us

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

    Баллы:
    76
    Имя в Minecraft:
    fallus
    Таск(задача) и шедулер(планировщик) - не одно и тоже. Планировщик выполняет задачи и для выполнения отдельной задачи планировщик создаёт отдельный поток. И неважно, отложенная задача или повторяющаяся, много их или мало - планировщик будет один.
    Будьте точнее.
     
  9. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
     
  10. fall.us

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

    Баллы:
    76
    Имя в Minecraft:
    fallus
    @Dereku, аналогично - царь и слуга. Не одно и тоже.;)
     
  11. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Ключевое слово - "считай".
    Что Task наследует Runnable, что RepeatingTask наследует Runnable.
     
  12. fall.us

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

    Баллы:
    76
    Имя в Minecraft:
    fallus
    Вы все равно не правы. Ну да ладно. Огурцов вам)
     
  13. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Я же не стану на пустом месте это утверждать. И кому это нам? Я тут один.
     
  14. fall.us

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

    Баллы:
    76
    Имя в Minecraft:
    fallus
    Я тоже. Простите - "Вам".
     
  15. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    От теперь другое дело. Пойду банки готовить, засаливать огурчики буду-с.

    Код:
        public BukkitTask runTaskLater(Plugin plugin, Runnable runnable, long delay) {
            return runTaskTimer(plugin, runnable, delay, -1l);
        }
    
        public int scheduleSyncRepeatingTask(final Plugin plugin, final Runnable runnable, long delay, long period) {
            return runTaskTimer(plugin, runnable, delay, period).getTaskId();
        }
    
        public BukkitTask runTaskTimer(Plugin plugin, Runnable runnable, long delay, long period) {
            validate(plugin, runnable);
            if (delay < 0l) {
                delay = 0;
            }
            if (period == 0l) {
                period = 1l;
            } else if (period < -1l) {
                period = -1l;
            }
            return handle(new CraftTask(plugin, runnable, nextId(), period), delay);
        }
     
  16. fall.us

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

    Баллы:
    76
    Имя в Minecraft:
    fallus
    По-моему, вы упоминали Task и RepeatingTask как классы(которых кстати нет, как токовых) и что они наследовали Runnable(что, кстати, интерфейс), говоря "Что Task наследует Runnable, что RepeatingTask наследует Runnable".
    По-Вашему, функция может наследовать интерфейс Runnable? И как вообще можно унаследовать интерфейс?

    Изначально я придрался к этому:
    Естественно он не шедулер. Но Вы, в конце концов, решили, что все-таки он шедулер. И кто-то считает так же.
     
  17. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Тут уже скорее виновата бедность языка, ибо под "шедулером" в данном предложении подразумевал нечто, что выполняется в цикле.
    Я тут один.
    Про RepeatingTask как класс говно конечно, ибо "наследование" снова не то, что следовало написать. Опять-таки бедность языка. А вот Task (aka CraftTask), вполне себе класс и даже implements Runnable.
    class CraftTask implements BukkitTask, Runnable {
     
  18. fall.us

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

    Баллы:
    76
    Имя в Minecraft:
    fallus
    Как когда-то сказал один мудрый человек(я?): "Будьте точнее".
     
  19. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Щас бы этому умнику показать границу между цитатой и словосочетанием. Эх.
     
  20. fall.us

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

    Баллы:
    76
    Имя в Minecraft:
    fallus
    Лучше не надо. А то опять буду объяснять что к чему)
     

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