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

Статус
Закрыто для дальнейших ответов.
Нужно уточнение. При клике по какому блоку должно открываться? Именно по двери?
 
мм, не?
Код:
if (block.getState() instanceof Door) { // code }
А мой вариант не такой же? Он ведь просто длиньше и сложнее, не?
if (b.getType() != Material.ACACIA_DOOR && b.getType() != Material.BIRCH_DOOR && b.getType() != Material.DARK_OAK_DOOR && b.getType() != Material.IRON_DOOR && b.getType() != Material.JUNGLE_DOOR && b.getType() != Material.SPRUCE_DOOR && b.getType() != Material.WOODEN_DOOR) return;

Door door = (Door) b.getState();
 
А если железная дверь?
Плагин на Ключ от Двери
Мысли две. И обе так себе.
Подменять блоки на открытые створки. Очень сильно подозреваю, что это такое себе решение. Но работать будет.
Идея два. Взять плагин Ess и посмотреть, как в нём это сделано.

UPD: Во, ещё LWC же есть. С его двухстворчатыми дверями!
 
Мысли две. И обе так себе.
Подменять блоки на открытые створки. Очень сильно подозреваю, что это такое себе решение. Но работать будет.
Идея два. Взять плагин Ess и посмотреть, как в нём это сделано.
Подмена блоков - Мне все равно нужен каст в дверь, чтобы проверить isOpen (если дверь открыта, закрыть. А если закрыта, открыть)

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

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

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

1. Можем проверить дату блоков. 0, 1, 2 ,3 - закрыта. 4, 5, 6,7 - открыта. Но только по нижней створке.
2. Ess. Там даже перм был. Открывать железные двери. Как выглядит, не помню (на 1.4.7 ещё было).
 
1. Можем проверить дату блоков. 0, 1, 2 ,3 - закрыта. 4, 5, 6,7 - открыта. Но только по нижней створке.
2. Ess. Там даже перм был. Открывать железные двери. Как выглядит, не помню (на 1.4.7 ещё было).
Попробую 1, делать нечего раз
На счет Ess: мне кажеться там не используют открытие и закрытие двери, а использую Event.setCancelled(true);
 
На счет Ess: мне кажеться там не используют открытие и закрытие двери, а использую Event.setCancelled(true);
"essentials.*" может открывать любые двери. Значит, есть способ.
Также напомню повторно про LWC.
 
Как открыть/закрыть дверь на локации "e.getClickedBlock().getLocation();"?
Спасибо
Версия 1.12.2
UPD:
Это не работает:
Java:
Openable openable = (Openable) blockState.getData();
openable.setOpen(true);
blockState.setData((MaterialData) openable);
blockState.update();
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх