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

Помогите Как открыть и закрыть дверь?

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

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

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

    Баллы:
    76
  2. deadanykey

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

    Баллы:
    96
    Нужно уточнение. При клике по какому блоку должно открываться? Именно по двери?
     
  3. Автор темы
    Conorfish

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

    Баллы:
    76
    Да
     
  4. HunterGaming

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

    Баллы:
    96
    Имя в Minecraft:
    sqdFendy
    мм, не?
    Код:
    if (block.getState() instanceof Door) { // code }
    
     
  5. Автор темы
    Conorfish

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

    Баллы:
    76
    А мой вариант не такой же? Он ведь просто длиньше и сложнее, не?
     
  6. deadanykey

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

    Баллы:
    96
    А не проще ивент использовать? Раз уж клик по блоку идёт?
     
  7. Автор темы
    Conorfish

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

    Баллы:
    76
    Я его и использую
    PlayerInteractEvent
     
  8. deadanykey

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

    Баллы:
    96
    Так а в чём проблема-то?
     
  9. Автор темы
    Conorfish

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

    Баллы:
    76
    Как открыть дверь?
    Каст в дверь не работает
     
  10. deadanykey

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

    Баллы:
    96
    Так на неё клик же. Она и так откроется.
     
  11. Автор темы
    Conorfish

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

    Баллы:
    76
    А если железная дверь?
    Плагин на Ключ от Двери
     
  12. deadanykey

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

    Баллы:
    96
    Мысли две. И обе так себе.
    Подменять блоки на открытые створки. Очень сильно подозреваю, что это такое себе решение. Но работать будет.
    Идея два. Взять плагин Ess и посмотреть, как в нём это сделано.

    UPD: Во, ещё LWC же есть. С его двухстворчатыми дверями!
     
  13. Автор темы
    Conorfish

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

    Баллы:
    76
    Подмена блоков - Мне все равно нужен каст в дверь, чтобы проверить isOpen (если дверь открыта, закрыть. А если закрыта, открыть)

    Ess - как понял это Essential, но во первых, я не помню так ничего что открывает и закрывает дверь, во вторых в этом лабиринте из пакетов и классов, я не уверен что что-то найду

    UPD: Про LWC впервые слышу, сейчас посмотрю
     
  14. deadanykey

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

    Баллы:
    96
    1. Можем проверить дату блоков. 0, 1, 2 ,3 - закрыта. 4, 5, 6,7 - открыта. Но только по нижней створке.
    2. Ess. Там даже перм был. Открывать железные двери. Как выглядит, не помню (на 1.4.7 ещё было).
     
  15. Автор темы
    Conorfish

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

    Баллы:
    76
    Попробую 1, делать нечего раз
    На счет Ess: мне кажеться там не используют открытие и закрытие двери, а использую Event.setCancelled(true);
     
  16. deadanykey

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

    Баллы:
    96
    "essentials.*" может открывать любые двери. Значит, есть способ.
    Также напомню повторно про LWC.
     
  17. deadanykey

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

    Баллы:
    96
    Напоминаю, что в 1.16.х такого уже нет. Там BlockData
     
  18. Ission

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

    Баллы:
    173
    Skype:
    lokivava
    Код:
    Openable openable = (Openable) blockState.getData();
    openable.setOpen(true);
    blockState.setData((MaterialData) openable);
    blockState.update();
    
     
  19. Автор темы
    Conorfish

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

    Баллы:
    76
    Спасибо, уже не надо
     
Статус темы:
Закрыта.

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