Помогите Запретить /back на чужие приваты

Статус
Закрыто для дальнейших ответов.

HauserGrim

Активный участник
Пользователь
Баллы
96
Плагин - Essentials
Запретить телепортироваться командой /back НА чужой приват
 
/rg flag entry deny
Итак автофлаг с помощью WGExtender
 
Последнее редактирование:
Можно отменять телепорт в чужой регион и все. У меня такое есть на аренах нпс.
Но есть одно но. Отменять будет все виды телепортов.
 
Ну например
JavaScript:
@EventHandler
    public void oncmd(PlayerCommandPreprocessEvent e) {
        String[] cmd = e.getMessage().replace("/", "").split(" ");
        if (cmd[0].equalsIgnoreCase("back")) {
            Player p = e.getPlayer();
            Location old_loc = p.getLocation();
            Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
                public void run() {
                    Location loc = p.getLocation();
                    Plugin wg = Bukkit.getPluginManager().getPlugin("WorldGuard");
                    RegionManager rgm = ((WorldGuardPlugin) wg).getRegionManager(p.getWorld());
                    ApplicableRegionSet set = rgm.getApplicableRegions(loc);
                    for (ProtectedRegion rg : set) {
                        if (!(rg.getOwners().contains(((WorldGuardPlugin) wg).wrapPlayer(p)) || rg.getMembers().contains(((WorldGuardPlugin) wg).wrapPlayer(p)))) {
                            p.teleport(old_loc);
                            p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&c&lВы не являетесь Владельцом/Участником данного региона"+"\n"+"и не можете быть телепортировааны туда"));
                        }
                    }
                }
            },20L);
        }
    }
Если ошибся где-то, исправьте)
 
Ну например
JavaScript:
@EventHandler
    public void oncmd(PlayerCommandPreprocessEvent e) {
        String[] cmd = e.getMessage().replace("/", "").split(" ");
        if (cmd[0].equalsIgnoreCase("back")) {
            Player p = e.getPlayer();
            Location old_loc = p.getLocation();
            Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
                public void run() {
                    Location loc = p.getLocation();
                    Plugin wg = Bukkit.getPluginManager().getPlugin("WorldGuard");
                    RegionManager rgm = ((WorldGuardPlugin) wg).getRegionManager(p.getWorld());
                    ApplicableRegionSet set = rgm.getApplicableRegions(loc);
                    for (ProtectedRegion rg : set) {
                        if (!(rg.getOwners().contains(((WorldGuardPlugin) wg).wrapPlayer(p)) || rg.getMembers().contains(((WorldGuardPlugin) wg).wrapPlayer(p)))) {
                            p.teleport(old_loc);
                            p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&c&lВы не являетесь Владельцом/Участником данного региона"+"\n"+"и не можете быть телепортировааны туда"));
                        }
                    }
                }
            },20L);
        }
    }
Если ошибся где-то, исправьте)
О таком "Костыле" и писал выше, правильнее считаю делать было проверку на wg.canBuild а не проверять овнеров привата. Вообще нужно было делать через Api essentilas или подправить сам класс плагина.
 
О таком "Костыле" и писал выше, правильнее считаю делать было проверку на wg.canBuild а не проверять овнеров привата. Вообще нужно было делать через Api essentilas или подправить сам класс плагина.
Плюсую, такое делается на апи ess в wg. Если уж делать.
 
О таком "Костыле" и писал выше, правильнее считаю делать было проверку на wg.canBuild а не проверять овнеров привата. Вообще нужно было делать через Api essentilas или подправить сам класс плагина.
Можно менять плагин, можно костыль, кому как угодно
 
Пускай разрешает игрокам право.Они в своём привате сумеют запретить.
Если запретить на привате, то только на нём и нельзя будет её печатать. На приват всё равно смогут.
Умники...
Выше, думаю, достаточно способов.
Закрываю тему, а то сейчас набегут ещё тех, кто хочет команду на привате запретить...
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх Низ