Вопрос Как сделать проверку на регион через WG API?

Версия Minecraft
1.16.X

FiGuRt

Пользователь
Сообщения
29
Решения
1
Кто знает как такое сделать? Перечитал кучу инфы об этом, смотрел подобные темы на форумах - ничего не получилось реализовать. Мне нужно чтобы при PlayerInteractEvent проверялось, если игрок owner или member рг, то код выполняется, если нет - retern. Дайте пожалуйста код, кто может такое сделать.
 
WorldGuard.getInstance().getPlatform() а дальше всё интуитивно. Если и так будет не понятно, то стоит поучить язык
Я даже не понимаю что делает эта строка, как я могу что-то дальше писать? Неужели нельзя просто код дать, если ты знаешь как это делать?
 
WorldGuard.getInstance().getPlatform() а дальше всё интуитивно. Если и так будет не понятно, то стоит поучить язык
offtop Твой любимый аргумент "поучи язык"? Тут нужно помочь человеку, объяснить как это сделать, что он написал не правильно, а не вечно говорить "поучи язык"
 
offtop Твой любимый аргумент "поучи язык"? Тут нужно помочь человеку, объяснить как это сделать, что он написал не правильно, а не вечно говорить "поучи язык"
offtop Дай человеку рыбуи он будет сыт на один день, научи человека ловить рыбуи он будет сыт на всю жизнь

Объединено

Я даже не понимаю что делает эта строка, как я могу что-то дальше писать? Неужели нельзя просто код дать, если ты знаешь как это делать?
offtop Ну а как ты собрался писать плагины если не в состоянии потыкать пару минут в коде плагина. На их репо предоставлена джарка с сурсами. Тебе чтобы посмотреть что делают эти строки, нужно всего лишь нажать по методу с зажатым ctrl. Я мог бы написать как сделать, но ты бы так же в дальнейшем продолжил задавать тупые вопросы

Объединено

offtop Поучи язык. (XD)
offtop Ну и собственно в чем я не прав. Большинство вопросов на этом форуме заключается в том, что челы не имеют простейших знаний языка
 
offtop Дай человеку рыбуи он будет сыт на один день, научи человека ловить рыбуи он будет сыт на всю жизнь

Объединено


offtop Ну а как ты собрался писать плагины если не в состоянии потыкать пару минут в коде плагина. На их репо предоставлена джарка с сурсами. Тебе чтобы посмотреть что делают эти строки, нужно всего лишь нажать по методу с зажатым ctrl. Я мог бы написать как сделать, но ты бы так же в дальнейшем продолжил задавать тупые вопросы

Объединено


offtop Ну и собственно в чем я не прав. Большинство вопросов на этом форуме заключается в том, что челы не имеют простейших знаний языка

Твой ответ мне звучит как простая отмазка. "Я не буду давать тебе ответ, потому что ты будешь задавать тупые вопросы", что за бред? Если код будет работать, я просто его использую и все, какие могут быть вопросы?
 
Твой ответ мне звучит как простая отмазка. "Я не буду давать тебе ответ, потому что ты будешь задавать тупые вопросы", что за бред? Если код будет работать, я просто его использую и все, какие могут быть вопросы?
Проблема не в том, что я из вредности не говорю ответ, а в том, что ты заходишь сюда со словами: "сделайте это за меня".
Тема про WG API стара как мир.

 
Проблема не в том, что я из вредности не говорю ответ, а в том, что ты заходишь сюда со словами: "сделайте это за меня".
Тема про WG API стара как мир.

Дело то не в том, что я ленивый и прошу за меня сделать, я не понимаю как это сделать, вот и все. Мне документация ни о чем не говорит, да и в ней нет того что мне мне нужно, ткни меня носом, если я не прав.
 
Последнее редактирование:
Получаем RegionManager
Вам необходимо зарегистрироваться для просмотра изображений-вложений


Создаём регион ProtectedRegion
Вам необходимо зарегистрироваться для просмотра изображений-вложений


Регистрируем регион
Вам необходимо зарегистрироваться для просмотра изображений-вложений


Весь код будет выглядеть так:
Код:
RegionContainer container = WorldGuard.getInstance().getPlatform().getRegionContainer();
RegionManager regions = container.get(world);

BlockVector3 min = BlockVector3.at(-10, 5, -4);
BlockVector3 max = BlockVector3.at(5, -8, 10);
ProtectedRegion region = new ProtectedCuboidRegion("spawn", min, max);

regions.addRegion(region);

При создании переменных min и max передавай свои значения минимальной и максимальной точки X Y Z
 
Получаем RegionManager
Вам необходимо зарегистрироваться для просмотра изображений-вложений


Создаём регион ProtectedRegion
Вам необходимо зарегистрироваться для просмотра изображений-вложений


Регистрируем регион
Вам необходимо зарегистрироваться для просмотра изображений-вложений


Весь код будет выглядеть так:
Код:
RegionContainer container = WorldGuard.getInstance().getPlatform().getRegionContainer();
RegionManager regions = container.get(world);

BlockVector3 min = BlockVector3.at(-10, 5, -4);
BlockVector3 max = BlockVector3.at(5, -8, 10);
ProtectedRegion region = new ProtectedCuboidRegion("spawn", min, max);

regions.addRegion(region);

При создании переменных min и max передавай свои значения минимальной и максимальной точки X Y Z
А проверку то мне как сделать?
 
Java:
        int block3 = 0;
        int block2=  0;
        int block1 = 0;

                RegionContainer container = WorldGuard.getInstance().getPlatform().getRegionContainer();
                if (event.getClickedBlock() != null){
                    block1 = event.getClickedBlock().getX();
                    block2 = event.getClickedBlock().getY();
                    block3 = event.getClickedBlock().getZ();
                }

                RegionManager regions = container.get(BukkitAdapter.adapt(world));

                BlockVector3 min = BlockVector3.at(block1, block2, block3);
                BlockVector3 max = BlockVector3.at(block1, block2, block3);
                ProtectedRegion region = new ProtectedCuboidRegion("gfducpxguipog", min, max);

                ApplicableRegionSet set = regions.getApplicableRegions(region);

                for (ProtectedRegion gay : set) {
                    if(!gay.isOwner(WorldGuardPlugin.inst().wrapPlayer(player)) || !gay.isMember(WorldGuardPlugin.inst().wrapPlayer(player))){
                        return;
                    }
                }


Решение. Создается регион, но не регистрируется, получаем с какими регионами пересекается созданный и если хотя бы в 1 из пересекающихся рг игрок не является овнером или мембером - метод возвращается.

Как я понял, это работает так, наверное....
 
Java:
                for (ProtectedRegion gay : set) {
                    if(!gay.isOwner(WorldGuardPlugin.inst().wrapPlayer(player)) || !gay.isMember(WorldGuardPlugin.inst().wrapPlayer(player))){
                        return;
                    }
                }
вместо WorldGuardPlugin.inst().wrapPlayer() можно BukkitAdapter.adapt юзать насколько я помню
 
offtop
XDD
1703364403218.png
Человек по факту пишет, он вместо готового кода, даёт ответа как это сделать и даёт понять что лучше бы знать язык - тогда проблем меньше будет. А если таким за них сделать часть кода, так ещё и без хотя бы расплывчатое объяснения как это работает. Они же ничего не поймут, это называется медвежья услуга)


 
Назад
Сверху Снизу