- Баллы
- 76
getBlockData не работает
Версия плагина 1.12.2
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
getBlockData не работает
Версия плагина 1.12.2
ДаНужно уточнение. При клике по какому блоку должно открываться? Именно по двери?
мм, не?
if (block.getState() instanceof Door) { // code }
А мой вариант не такой же? Он ведь просто длиньше и сложнее, не?мм, не?
Код: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();
А не проще ивент использовать? Раз уж клик по блоку идёт?
Я его и используюА не проще ивент использовать? Раз уж клик по блоку идёт?
Так а в чём проблема-то?Я его и использую
PlayerInteractEvent
Как открыть дверь?Так а в чём проблема-то?
Так на неё клик же. Она и так откроется.Как открыть дверь?
Каст в дверь не работает
А если железная дверь?Так на неё клик же. Она и так откроется.
Мысли две. И обе так себе.А если железная дверь?
Плагин на Ключ от Двери
Подмена блоков - Мне все равно нужен каст в дверь, чтобы проверить isOpen (если дверь открыта, закрыть. А если закрыта, открыть)Мысли две. И обе так себе.
Подменять блоки на открытые створки. Очень сильно подозреваю, что это такое себе решение. Но работать будет.
Идея два. Взять плагин Ess и посмотреть, как в нём это сделано.
Подмена блоков - Мне все равно нужен каст в дверь, чтобы проверить isOpen (если дверь открыта, закрыть. А если закрыта, открыть)
Ess - как понял это Essential, но во первых, я не помню так ничего что открывает и закрывает дверь, во вторых в этом лабиринте из пакетов и классов, я не уверен что что-то найду
Попробую 1, делать нечего раз1. Можем проверить дату блоков. 0, 1, 2 ,3 - закрыта. 4, 5, 6,7 - открыта. Но только по нижней створке.
2. Ess. Там даже перм был. Открывать железные двери. Как выглядит, не помню (на 1.4.7 ещё было).
"essentials.*" может открывать любые двери. Значит, есть способ.На счет Ess: мне кажеться там не используют открытие и закрытие двери, а использую Event.setCancelled(true);
Напоминаю, что в 1.16.х такого уже нет. Там BlockDataПопробую 1, делать нечего раз
На счет Ess: мне кажеться там не используют открытие и закрытие двери, а использую Event.setCancelled(true);
Как открыть/закрыть дверь на локации "e.getClickedBlock().getLocation();"?
Спасибо
Версия 1.12.2
UPD:
Это не работает:
Openable openable = (Openable) blockState.getData();
openable.setOpen(true);
blockState.setData((MaterialData) openable);
blockState.update();