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

Помогите Отчет времени

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

Статус темы:
Закрыта.
  1. Автор темы
    FAQCoder

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

    Баллы:
    61
    Здравствуйте, подскажите как сделать отчет времени от определенного события предположим когда был сломан последний блок через BlockBreakEvent. Предположим игрок сломал блок и запускается таймер который ведет запись в конфиг и который отсчитывает время от поломки блока. Слышал про System.currentTimeMillis() но разобраться с ним не могу. Время я хочу получать в long, как можно это реализовать?
     
  2. TheZefirrkka

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

    Баллы:
    76
    config.set("player.test.breakBlock", System.currentTimeMillis()) что не понятного?
     
  3. iD3LSY

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

    Баллы:
    76
    Напиши, что нужно именно, попробую помочь.
     
  4. Автор темы
    FAQCoder

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

    Баллы:
    61
    Смотри, мне нужно сделать таймер который отчитывает время с какого-либо действия игрока, парсер лонга в даты имеется, а валидный лонг с этого получить не получается.
     
  5. LuckyZeeRo

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

    Баллы:
    96
    Имя в Minecraft:
    i0xHeX
    В первом посте ты правильно указал на получение времени "в long", но до сих пор непонятно, какие конкретно проблемы ты с этим имеешь. Можешь показать это на примере кода что ты делал? Что ожидается и что получаешь?
     
  6. TheSkiffSailor

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

    Баллы:
    21
    Имя в Minecraft:
    TheSkiffSailor
    BukkitScheduler -> runTaskLater(...) -> удалить блок
     
  7. Автор темы
    FAQCoder

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

    Баллы:
    61
    На пример я хочу получить кол-во дней с того момента как определенный игрок сломал определеннай блок.
    Вот пример:
    Player1 : сломал блок grass или любой другой блок.
    Он пишет команду, предположим /seetime где видит : когда он сломал последний блок.
    Предполодим он сломал последний блок 20 секунд назад, мне нужно вывести эти данные в чат из конфига.
    Предположим в чат выведется: Вы сломали последний блок - 20 секунд назад. Каждая секунда должна записываться long в конфиг, а потом мой парсер этот последний лонг преобразует сначало в секунды, потом в минуты и тп. Когда игрок ломает блок таймер сбрасывается и ему предположим будет писать что-бы сломали последний блок : n-ое кол-во секунд. Крч простой таймер который записывает данные в конфиг и отчтывает время.
     
  8. alexandrage

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

    Баллы:
    173
    Тебе нужен System.currentTimeMillis(). Дает время в Long.
     
  9. Автор темы
    FAQCoder

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

    Баллы:
    61
    А как мне таймер сделать который будет считать время с определенного момента, и само обновление конфига, если при создании потока в 5 секунд он в конфиг записывает невероятные значения.
     
  10. LuckyZeeRo

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

    Баллы:
    96
    Имя в Minecraft:
    i0xHeX
    Тебе не нужен таймер.
    Ты при поломке берешь этот System.currentTimeMillis() и записываешь в мапу, где ключ это ник игрока а значение - время с предыдущего метода. При команде ты достаешь из мапы время и сверяешь со временем команды, дальше идет математика. Поделить на 1000 и узнать разницу.
     
  11. alexandrage

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

    Баллы:
    173
    BukkitRunnable и System.currentTimeMillis()-oldTime из конфига.
     
  12. Автор темы
    FAQCoder

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

    Баллы:
    61
    Всем спасибо, вопрос решен!
     
Статус темы:
Закрыта.

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