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

Помогите Выполнение действия при сигнале редстоуна

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

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

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

    Баллы:
    103
    Нужно сделать так, чтобы при сигнале редстоуна на определенный блок происходило какое-то действие. Не подскажите, как реализовать?
     
  2. Jampire

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

    Баллы:
    173
    Skype:
    jampire-h
    Имя в Minecraft:
    Jampire
    По-моему есть эвент BlockRedstoneEvent, но что он делает не тестил.
     
  3. Ission

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

    Баллы:
    173
    Skype:
    lokivava
    Он вызывается, когда изменяется статус редстоун-провода и для блоков не подходит. На сколько я знаю, нужно использовать BlockPhisicsEvent(как-то так). По крайней мере в 1.4 было так.
     
    proxwian нравится это.
  4. fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Я использую BlockRedstoneEvent - оно отрабатывает при подаче редстоун-сигнала на любой блок, к примеру на табличку.
     
  5. Ission

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

    Баллы:
    173
    Skype:
    lokivava
    В 1.4 его поправили, я это недавно проверил, возможно даже в 1.3, но в 1.2, когда я пытался им отловить подачу сигнала на блок, он не срабатывал. Он срабатывал только на провод и никак иначе. Даже не было реакции на повторитель.
     
  6. fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Мммм.... @Ission, я запутался. У меня всё работает причём очень давно: и подача сигнала от редстоуна и от рычага и от кнопки вызывает событие BlockRedstoneEvent на блоке рядом с источником сигнала.

    Наглядно выглядит так - специально снял ролик, чтобы было понятно, о чем я говорю:

     
  7. Ission

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

    Баллы:
    173
    Skype:
    lokivava
    Вполне возможно, что тогда, когда я тестировал это событие, мне попался битый снапшот сервера и по этому событие не вызывалось при взаимодействии сигнала с блоками. Или я путаю версию и это было не в 1.2, а раньше, но то, что событие не вызывалось там, я точно помню. Именно по этому мне приходилось извращаться с BlockPhysicsEvent, который тоже работал через весёлые места.
     
  8. fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    @Ission, в общем сейчас всё ок. Я раньше помню привязывался к PlayerInteractEvent и вешал знаки над рычагами :)
     
  9. MadeManZ

    MadeManZ Активный участник

    Баллы:
    88
    Skype:
    tq9ns3
    public void onBlockRedstoneChange (BlockRedstoneEvent event){
    Block b = event.getBlock();
     

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