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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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