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

Помогите WorldGuard 7 - новое API

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

Метки:
  1. Автор темы
    LuckyZeeRo

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

    Баллы:
    76
    Имя в Minecraft:
    i0xHeX
    Всем доброго время суток, форумчане. Совсем недавно заметил, что новый WG / WE имеет кардинально измененный API, принялся обновлять плагины - но документации до сих пор нигде нет (или я слепой), коммитов уйма. разобрать детали сложно. Некоторые фичи уже разобрал, некоторые достал из блога разраба, но некоторые все еще неизвестны, а конкретно например метод WorldGuardPlugin#canBuild(Player player, Block block). Каким образом теперь проверять с точно таким же поведением и результатами на возможность постройки блока игроком в заданной локации / блоке?
    И есть где либо инфа по всем изменениям?
     
  2. Mr Hosting
  3. alexandrage

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

    Баллы:
    173
    А не лучше спросить автора плагина? Так быстрее.
     
  4. Cool_boy

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

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    Можно бахнуть поддержку любых плагинов которые могут запрещать ставить/ломать блоки.
    Просто запускай свой BlockPlaceEvent/BlockBreakEvent с блоком который надо проверить и смотри, отменили ли его.
     
  5. Автор темы
    LuckyZeeRo

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

    Баллы:
    76
    Имя в Minecraft:
    i0xHeX
    Кажется нашел, ужас:
    Код:
    // WorldGuardPlugin worldguard = ...;
    RegionQuery query = WorldGuard.getInstance().getPlatform().getRegionContainer().createQuery();
    LocalPlayer localPlayer = worldguard.wrapPlayer(player);
    boolean canBuild = query.testBuild(BukkitAdapter.adapt(block.getLocation()), localPlayer);
    Наверное самое время пилить свою утилиту для упрощения работы с этим...
     
  6. hyndorik

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

    Баллы:
    98
    Имя в Minecraft:
    hyndo
    Вполне удобно и лучше чем было раньше
     
  7. GoodCoder

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

    Баллы:
    76
    Ещё с шестой версии так. Ничего сложного. query сохрани в поле, да вызывает его потом когда надо.
     

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