Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите Проверить, есть ли игрок в привате [WG]

Тема в разделе "Разработка плагинов для новичков", создана пользователем Best_pr0stk, 5 июл 2016.

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

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

    Баллы:
    78
    Имя в Minecraft:
    Best_pr0stik
    Здравствуйте. Мне нужно проверить, есть ли игрок в привате, когда он в нем находится. Т.е допустим, если игрок есть в привате, то, допустим, выдать ему блок. Импортировал WG в Эклипс, но как с ним работать так и не понял.
    Это видел: http://wiki.sk89q.com/wiki/WorldGuard/Regions/API
    Спасибо за помощь.
     
  2. Хостинг MineCraft
    <
  3. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Код:
        String wg(World w, Player p) {
            ApplicableRegionSet set = wg.getRegionManager(w).getApplicableRegions(p.getLocation());
            for(ProtectedRegion rg : set.getRegions()) {
                return rg.getId();
            }
            return "__global__";
        }
     
  4. Автор темы
    Best_pr0stk

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

    Баллы:
    78
    Имя в Minecraft:
    Best_pr0stik
    Спасибо.[DOUBLEPOST=1467752893,1467751584][/DOUBLEPOST]
    Меня сейчас закидают тапками, но я все же спрошу. Как с этим работать?[DOUBLEPOST=1467752961][/DOUBLEPOST]
    А именно, допустим, выдать игроку блок, если это его приват. Реализация...
     
  5. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Проверить овнеров.[DOUBLEPOST=1467753554,1467753512][/DOUBLEPOST]rg.getOwners();
     
  6. Автор темы
    Best_pr0stk

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

    Баллы:
    78
    Имя в Minecraft:
    Best_pr0stik
    Можно наглядный пример? Не доходит, где в коде делать проверку...
     
  7. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Нет, теперь уже нельзя.
     
  8. Bohdan_Hrytsak

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

    Баллы:
    76
    Имя в Minecraft:
    NegaTiV
    Сам думай.
     
  9. MrTrojan

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

    Баллы:
    98
    Skype:
    mrtrojan.ru
    Имя в Minecraft:
    MrTrojan
    Код:
    public String getRegion(Location location) {
            WorldGuardPlugin wg = instance.getWorldGuard();
            Vector vector = BukkitUtil.toVector(location);
            RegionManager manager = wg.getRegionManager(location.getWorld());
            ApplicableRegionSet set = manager.getApplicableRegions(vector);
            Set<ProtectedRegion> protectionRegions = set.getRegions();
            ProtectedRegion[] regions = protectionRegions.toArray(new ProtectedRegion[protectionRegions.size()]);
           
            if(regions.length >= 1) {
                return regions[0].getId();
            } else {
                return "__global__";
            }
        }
     
  10. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Еще больше чувака запутал :D. Теперь ему сложнее определить овнер игрок или нет.[DOUBLEPOST=1467794645,1467794437][/DOUBLEPOST]Тогда уж лучше так, тоже с 1м аргументом и при этом у нас есть объект игрока.

    Код:
        String wg(Player p) {
            ApplicableRegionSet set = wg.getRegionManager(p.getWorld()).getApplicableRegions(p.getLocation());
            for(ProtectedRegion rg : set.getRegions()) {
                return rg.getId());
            }
            return "__global__");
        }
     
  11. MrTrojan

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

    Баллы:
    98
    Skype:
    mrtrojan.ru
    Имя в Minecraft:
    MrTrojan
    Я вообще перепутал, я думал, что ему нужно узнать регион по локации, а ему совсем другое надо.
     
  12. Автор темы
    Best_pr0stk

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

    Баллы:
    78
    Имя в Minecraft:
    Best_pr0stik
    Ругается на wg. Говорит, мол, не может найти.
     
  13. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    ппц ты лох...
    WorldGuardPlugin wg = (WorldGuardPlugin)Bukkit.getPluginManager().getPlugin("WorldGuard");
     
  14. Автор темы
    Best_pr0stk

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

    Баллы:
    78
    Имя в Minecraft:
    Best_pr0stik
    Вот сразу сказать никак?
    Спасибо всем. Решено!
     
Статус темы:
Закрыта.

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