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

Помогите WorldGuard регион

Тема в разделе "Разработка плагинов для новичков", создана пользователем SecDet, 2 сен 2017.

  1. Автор темы
    SecDet

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

    Баллы:
    76
    Имя в Minecraft:
    d3ever
    Можете подкинуть код, каким образом можно проверить стоит-ли игрок в каком-то регионе или нет.
     
  2. Алмаз Гараев

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

    Баллы:
    76
    PHP:
    public class Main extends JavaPlugin
    {
        static 
    String notregion;
        static 
    String region;

        public 
    void onEnable()
        {
            
    saveDefaultConfig();
            
    notregion getConfig().getString("notregion").replace('&''§');
            
    region getConfig().getString("region").replace('&''§');

            
    Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new Runnable(),
                    
    2020);
        }
    }

    PHP:
    public class Runnable implements java.lang.Runnable
    {

        @
    Override
        
    public void run()
        {
            for(
    Player p Bukkit.getOnlinePlayers())
                
    Utils.sendAction(pMain.region.replace("{REGION}"Utils.getRegion(p.getLocation())));
              
      
      
        }     
            
    }


    PHP:
    public class Utils
    {

        public static 
    String getRegion(Location l)
        {
            
    WorldGuardPlugin wgp WorldGuardPlugin.inst();
            
    RegionManager regionManager wgp.getRegionManager(l.getWorld());
            
    ApplicableRegionSet set regionManager.getApplicableRegions(l);

            for (
    ProtectedRegion pr set.getRegions())
                return 
    pr.getId();

            return 
    Main.notregion;
        }

        public static 
    void sendAction(Player pString msg)
        {
            
    PacketContainer chat = new PacketContainer(PacketType.Play.Server.CHAT);
            
    chat.getChatComponents().write(0,
                    
    WrappedChatComponent.fromJson("{\"text\": \"" msg "\"}"));
            
    chat.getBytes().write(0, (byte2);
            try
            {
                
    ProtocolLibrary.getProtocolManager().sendServerPacket(pchat);
            }
            catch (
    InvocationTargetException e)
            {
                throw new 
    IllegalStateException("Unable to send packet " chate);
            }
        }
    }

    PHP:
    #formats
    region'&e[&a{REGION}&e]'
    notregion'&4World'

    В качестве API нужно импортировать в Build Path плагины WorldGuard и WorldEdit
     
    Последнее редактирование: 3 сен 2017
  3. Автор темы
    SecDet

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

    Баллы:
    76
    Имя в Minecraft:
    d3ever
    Извините, мне нужно чисто используя WorldGuard получать регион игрока.
     
  4. Алмаз Гараев

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

    Баллы:
    76
    Прямого способа получить регион игроков не существует.Только через доп плагин! Это самый простой вариант. Пользуйся! Подано Все на блюдечке с г каёмочкой:)
     
  5. Автор темы
    SecDet

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

    Баллы:
    76
    Имя в Minecraft:
    d3ever
  6. Алмаз Гараев

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

    Баллы:
    76
    добавь в Build Path плагины WorldGuard и WorldEdit и ещё на всякий Vault и Protocollib
    Создай все 3 класса в проекте и не забудь config.yml создать! Главный класс у тебя будет Main! Укажи его в plugin.yml Сделай все импорты там где красным подчеркнуто! А самое главное не забудь добавить вBuild Path основное bukkit ядро или Spigot не знаю какое у тебя там используется!
     
    Последнее редактирование: 3 сен 2017
  7. Dan_Ender

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

    Баллы:
    76
    не обязательно.
     
  8. Алмаз Гараев

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

    Баллы:
    76
     
  9. Автор темы
    SecDet

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

    Баллы:
    76
    Имя в Minecraft:
    d3ever
    Дело в том, что я всё добавляю и не первый раз пишу плагины.
     
  10. Автор темы
    SecDet

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

    Баллы:
    76
    Имя в Minecraft:
    d3ever
    upload_2017-9-3_13-53-46.png Вот скрин.
     
  11. Алмаз Гараев

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

    Баллы:
    76
    Последнее редактирование: 3 сен 2017
  12. Алмаз Гараев

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

    Баллы:
    76
     

    Вложения:

    • ShowRegion.zip
      Размер файла:
      4,1 КБ
      Просмотров:
      11

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