Вопрос Помощь с WorldGuard

Версия Minecraft
1.16.X

Taiufun

Пользователь
Заблокирован
Сообщения
384
Решения
5
Пишу плагин и он делает так, чтобы если я использовал мотыгу, то в радиусе 5 блоков он вспахивает землю, но когда я вспахиваю землю, то он затрагивает и чужой регион, как это предотвратить
 
Решение
А что чатгпт не справился?)
Объединено

Ладно держи готовый способ

Java:
        // location - локация игрока
        RegionManager manager = WorldGuard.getInstance().getPlatform().getRegionContainer().get(BukkitAdapter.adapt(location.getWorld()));

        for (...) { // Здесь итерируешься как-то по блокам которые надо вспахать
            Set<ProtectedRegion> regions = manager.getApplicableRegions(
                    BlockVector3.at(location.getBlockX(), location.getBlockY(), location.getBlockZ())
            ).getRegions();
            
            
            boolean plow = true;

            if (!regions.isEmpty()) {
                for (ProtectedRegion region : regions) {
                    if...
А что чатгпт не справился?)
Объединено

Ладно держи готовый способ

Java:
        // location - локация игрока
        RegionManager manager = WorldGuard.getInstance().getPlatform().getRegionContainer().get(BukkitAdapter.adapt(location.getWorld()));

        for (...) { // Здесь итерируешься как-то по блокам которые надо вспахать
            Set<ProtectedRegion> regions = manager.getApplicableRegions(
                    BlockVector3.at(location.getBlockX(), location.getBlockY(), location.getBlockZ())
            ).getRegions();
            
            
            boolean plow = true;

            if (!regions.isEmpty()) {
                for (ProtectedRegion region : regions) {
                    if (!region.isMember(WorldGuardPlugin.inst().wrapPlayer(player))) {
                        plow = false;
                        break;
                    }
                }
            }

            if (plow) {
                // Логика вспахивания
            }
        }
 
Последнее редактирование:
Пишу плагин и он делает так, чтобы если я использовал мотыгу, то в радиусе 5 блоков он вспахивает землю, но когда я вспахиваю землю, то он затрагивает и чужой регион, как это предотвратить
Просто проверяешь находится ли блок в регионе или нет, если нет, то вспахиваешь
 
Последнее редактирование модератором:
Назад
Сверху Снизу