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

Помогите WorldGuard API (1.12.2)

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

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

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

    Баллы:
    61
    Имя в Minecraft:
    ne9ko
    Начал заниматься плагином, вторичная задача которого будет проверять наличие привата на определенных координатах.
    По итогу нарыл вот такой код, который проверяет наличие региона с определенным названием на координатах (заданы вручную) Работает.



    Код:
    public static void getRegion(){
            World world = Bukkit.getServer().getWorld("World");
            Location loc1 = new Location(world, 60,60,60);
            WorldGuardPlugin wg = (WorldGuardPlugin) Bukkit.getServer().getPluginManager().getPlugin("WorldGuard");
            for(ProtectedRegion region : wg.getRegionManager(loc1.getWorld()).getApplicableRegions(loc1) ) {
                if (region.getId().equalsIgnoreCase("prikol")) {
                    System.out.println("Prikol is here");
                }
            }
        }
    Но как сделать проверку на глобальный регион? То есть чтобы я хотя бы мог получить какой-нибудь ответ в консоль, если региона, кроме глобального, на координатах нет? Пытался в консоль вывести его айдишник, но консоль пуста.
    Пробовал вот так делать:
    Код:
    region.getId().equals(ProtectedRegion.GLOBAL_REGION)
    Тоже молчит.
     
  2. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Скорее всего просто wg.getRegionManager(loc1.getWorld()).getApplicableRegions(loc1).isEmpty()
     
  3. alexandrage

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

    Баллы:
    173
    Глобальный регион в список не входит. Если пустой значит только глобал. Ну а сам список сортирован по приоритетам.
     
  4. Автор темы
    Laytin

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

    Баллы:
    61
    Имя в Minecraft:
    ne9ko
    В этом и заключается вопрос, как проверить, пусто там или есть регион.

    Тот же
    Код:
    region.getId().isEmpty()
    тоже не сработал
     
  5. Автор темы
    Laytin

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

    Баллы:
    61
    Имя в Minecraft:
    ne9ko
    Смог решить, порывшись в сурсах WG. Мб кому будет нужно:

    Код:
    if (!region.isDirty()) {
                    System.out.println("Region is null");
                }
     
Статус темы:
Закрыта.

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