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

Помогите Кастомный wg флаг

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

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

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

    Баллы:
    76
    и что? При любом значении флага (даже при его отсутствии) оно работает не так как мне надо. Поэтому я и сел писать этот, как ты говоришь, "костыль".

    В чем здесь костыль, если не могет вг сделать то, что мне надо?
    Я уже успел разочароваться в этом помойном плагине, честно
     
  2. alexandrage

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

    Баллы:
    173
    Вот лови, расколдовал тебе все и без кастомного флага. Будут грифить поршни как раньше без флага pistons deny
    Код:
        @EventHandler(priority = EventPriority.LOWEST)
        public void onp(BreakBlockEvent e) {
            Cause cause = e.getCause();
            Block block = cause.getFirstBlock();
            if (block != null && (block.getType() == Material.MOVING_PISTON || block.getType() == Material.PISTON
                    || block.getType() == Material.STICKY_PISTON)) {
                List<Block> blocks = e.getBlocks();
                for (Block b : blocks) {
                    if (WGRegionUtils.isFlagAllows(null, b.getLocation(), Flags.PISTONS)) {
                        e.setResult(Result.ALLOW);
                    }
                }
            }
        }
    
        @EventHandler(priority = EventPriority.LOWEST)
        public void onp(PlaceBlockEvent e) {
            Cause cause = e.getCause();
            Block block = cause.getFirstBlock();
            if (block != null && (block.getType() == Material.MOVING_PISTON || block.getType() == Material.PISTON
                    || block.getType() == Material.STICKY_PISTON)) {
                List<Block> blocks = e.getBlocks();
                for (Block b : blocks) {
                    if (WGRegionUtils.isFlagAllows(null, b.getLocation(), Flags.PISTONS)) {
                        e.setResult(Result.ALLOW);
                    }
                }
            }
        }
    Согласен, ивенты в wg немного ипанутые.
     
  3. Автор темы
    Kurumi

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

    Баллы:
    76
    У меня нет
    WGRegionUtils
     
  4. alexandrage

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

    Баллы:
    173
    Ля то просто обертка над RegionQuery#testState(BukkitAdapter.adapt(location), WorldGuardPlugin#wrapPlayer(player), flag); Чтоб не пихать все в класс с ивентом.
     
  5. Автор темы
    Kurumi

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

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

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