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

Помогите Табличка

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

  1. _MediaNik_

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

    Баллы:
    76
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    Ну с этим соглашусь.
     
  2. DonDays

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

    Баллы:
    96
    Имя в Minecraft:
    DonDays
    Если их нужно отменить, легче создавать BukkitTask и присваивать им шедулер, когда нужно удалять - task = null
     
  3. Автор темы
    Stamorey

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

    Баллы:
    76
    Имя в Minecraft:
    Stamorey
    То есть главный недостаток приведенного мной таймера в том, что он работает всегда?
    Ну пока мне не нужно его останавливать или запускать в определенный момент)
     
  4. DonDays

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

    Баллы:
    96
    Имя в Minecraft:
    DonDays
    BukkitTask
     
  5. alexandrage

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

    Баллы:
    173
    Тогда оставь как есть.
     
  6. DonDays

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

    Баллы:
    96
    Имя в Minecraft:
    DonDays
    Все таймеры runTaskTimer работают всегда, мб почитаешь BukkitWiki? Что вас всех поперло писать плагины без элементарных знаний?
    Код:
    private BukkitTask task;
    
    public void createTimer() {
    //Создаем таймер
    this.task = new BukkitRunnable() {
    public void run() {
    //Шо-то там...
    }
    }.runTaskTimer(arg1, arg2, arg3);
    }
    
    public void stooTimer() {
    if(this.task != null) {
    this.task = null;
    }
    }
     
  7. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooo
    ну так таймер не остановится ведь.
    Вроде бы есть task.stop()
     
  8. _MediaNik_

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

    Баллы:
    76
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    .cancell();
     
  9. Автор темы
    Stamorey

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

    Баллы:
    76
    Имя в Minecraft:
    Stamorey
    Обязательно почитаю, просто лично для меня проще начать с практики, 3 дня назад я даже не знал что такое плагин...)
    да и еще плохо ориентируюсь в вики, очень много классов интерфейсов, методов:eek:))
    Разобраться смог пока-что только со списком событий, поэтому если можно еще один вопрос...

    Не могу найти как можно менять игроков.
    То есть:
    1. Убрать весь урон получаемый игроком.
    2.Наложить на игрока какой-нибудь эфект(например невидимость).
    3. Запретить игроку взаимодействовать с миром (c инвентарями, блоками, другими игроками).
    4. Можно ли как-нибудь выше перечисленное менять не для конкретного игрока, а для всех игроков в определенном мире.

    Если не ошибаюсь, это можно сделать через интерфейсы player только не знаю как)
    Ну и хотелось бы еще сделать это для всех игроков в определенном мире...

    Если плохо объяснил выше - можно проще - хочу сделать наблюдателя(ей) в игре.))
     
  10. DonDays

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

    Баллы:
    96
    Имя в Minecraft:
    DonDays
    Остановится, использую в своих плагинах
    for
     
  11. xDark

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

    Баллы:
    96
    forEach
     
  12. Автор темы
    Stamorey

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

    Баллы:
    76
    Имя в Minecraft:
    Stamorey
    Причем тут for и forEach вы хотите сказать про цикл для обработки всех игроков ?
    Если да, то это маленько не то что мне нужно было) не знаю с помощью какого метода интерфейса Pleyer можно настроить взаимодействие с окружающим миром... мда, наверное я несу какую-то дичь.
    Просто если существуют такие "свойства" хранящиеся в каждом Players задача сильно упростилась бы...
    Если же идти долгим путем, можно смотреть событие EntityDamageByEntityEvent как я сейчас и сделал...

    public void death(EntityDamageByEntityEvent e)
    {
    if(e.getEntity() instanceof Player)
    {
    if(e.getEntity().getWorld() == w_w )
    {
    /*если есть ТО*/
    e.setCancelled(true);
    }
    }


    }
    Это для
    1. Убрать весь урон получаемый игроком. (в определенном мире)
     
  13. DonDays

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

    Баллы:
    96
    Имя в Minecraft:
    DonDays
    Евенты. Рано плагины пишешь, ничего не выйдет у тебя
     
  14. Автор темы
    Stamorey

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

    Баллы:
    76
    Имя в Minecraft:
    Stamorey
    И так понятно что с помощью ивентов это можно реализовать, просто вдруг существует способ намного проще, его я и хотел здесь увидеть от вас) но видимо так и придется чекать ивенты
    Найти нужные эвенты вряд ли будет сложно... но хотел что на пидобии - player.abrakadabra(false) и урон выключен)
     
  15. DonDays

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

    Баллы:
    96
    Имя в Minecraft:
    DonDays
    пИдобии... Я уже все реализовал в своем плагине, там изи
     
  16. Типа админ:D

    Типа админ:D Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Qamulex
    У меня не обновляетсо(
     
  17. alexandrage

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

    Баллы:
    173
    Перезайти пробовал, возможно оптифайн чичирует.
     
  18. Автор темы
    Stamorey

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

    Баллы:
    76
    Имя в Minecraft:
    Stamorey
    loc точно указывает на нужную табличку?)
     

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