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

Помогите Запрет стрельбы из лука и использование удочки

Тема в разделе "Помощь", создана пользователем Абсик, 15 фев 2017.

  1. Автор темы
    Абсик

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

    Баллы:
    76
    Имя в Minecraft:
    Abcik
    Здравствуйте. Подскажите, как запретить использование лука и удочки в определённом регионе? При этом возможны несколько вариантов решения.
    1. Написать код. Но мне нужно знать как указать регион с помощью двух точек 'x() y() z()' - 1 точка 'x() y() z()' - 2 точка. И как проверять наличие игрока в этом регионе.

    2.Как-то взаимодействовать с WorldGuard (Маловероятно, флагов таких не существует)

    Жду ответа. Спасибо.
     
  2. NuaN

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

    Баллы:
    96
    Имя в Minecraft:
    NuaN
    Проверка на наличие в привате:
    Код:
        public static boolean checkRegionAccess(Player player, Location loc) {
            return WorldGuardPlugin.inst().canBuild(player, loc.getBlock());
        }
    Получить регион в нужной локации:
    Код:
    public static ProtectedRegion getRegion(Location loc) {
        WorldGuardPlugin wgp = WorldGuardPlugin.inst();
    
        for (ProtectedRegion rg : wgp.getRegionManager(loc.getWorld()).getApplicableRegions(loc).getRegions())
            return rg;
    
        return null;
    }
    Получить крайние точки:
    Код:
    ProtectedRegion rg = getRegion(#LOCATION#);
    if (rg == null) {
        return;
    }
    
    int xmin = rg.getMinimumPoint().getBlockX();
    int ymin = rg.getMinimumPoint().getBlockY();
    int zmin = rg.getMinimumPoint().getBlockZ();
    
    int xmax = rg.getMaximumPoint().getBlockX();
    int ymax = rg.getMaximumPoint().getBlockY();
    int zmax = rg.getMaximumPoint().getBlockZ();
     

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