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

Как обойти защиту antirelog?

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

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

    Lairon1 Новичок Пользователь

    Баллы:
    21
    Имя в Minecraft:
    Lairon1
    Я создаю плагин на RPG руны и одна из них должна телепортировать игрока на спавн во время пвп (пвп защищенно с помощью antirelog), проблема в том что игрока не телепортирует во время пвп скорее всего блокирует это antirelog, вне пвп все ок, есть возможности это фиксить?
     
  2. alexandrage

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

    Баллы:
    173
    Тогда зачем тебе вообще antirelog?
     
  3. Автор темы
    Lairon1

    Lairon1 Новичок Пользователь

    Баллы:
    21
    Имя в Minecraft:
    Lairon1
    защита PVP от лива. Сервер то с уклоном на пвп)
     
  4. alexandrage

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

    Баллы:
    173
    Ну так зачем тогда ломать защиту и позволять ливать?
     
  5. Автор темы
    Lairon1

    Lairon1 Новичок Пользователь

    Баллы:
    21
    Имя в Minecraft:
    Lairon1
    Задумка такая, эта руна будет не у каждого и она будет дорогая. Ты вообще помочь пришел или докопаться?
     
  6. _MRDen3000YT_

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

    Баллы:
    76
    Какой плагин на анти-релог?
     
  7. Автор темы
    Lairon1

    Lairon1 Новичок Пользователь

    Баллы:
    21
    Имя в Minecraft:
    Lairon1
  8. Автор темы
    Lairon1

    Lairon1 Новичок Пользователь

    Баллы:
    21
    Имя в Minecraft:
    Lairon1
    еще у меня появилась идея выдавать пермин игроку который разрешает телепорт в КиллТайме тепать его и забирать пермишн. Но как выдавать/забирать перм я хз(на сервере стоит LuckPerms)
     
  9. alexandrage

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

    Баллы:
    173
    player.addAttachment(this.plugin, "perm", true, 1); Даст перм на 1 тик.
     
  10. Автор темы
    Lairon1

    Lairon1 Новичок Пользователь

    Баллы:
    21
    Имя в Minecraft:
    Lairon1
    Выдает ошибку и не телепортирует вообще никак upload_2021-4-19_19-59-32.png
     
  11. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooo
    А можно просто отключить игроку пвп режим.
    https://github.com/Leymooo/AntiRelo...java/ru/leymooo/antirelog/Antirelog.java#L178
    https://github.com/Leymooo/AntiRelo...eymooo/antirelog/manager/PvPManager.java#L240

    а если лень с зависимостями играться, то можно попробовать сделать так:

    Код:
    private boolean handleTeleportEvent;
    void teleportPlayer(Player player, Location location) {
      try {
        handleTeleportEvent  = true; 
        player.teleport(location);
      } finally {
       handleTeleportEvent  = false;  
      }
    }
    
    @EventHandler(priority = EventPriority.LOW, ignoreCancelled = false)
    public void onTeleport(PlayerTeleportEvent e) {
      if (handleTeleportEvent && e.isCancelled()) {
        e.setCancelled(false);
      }
    }
    
    
    ну или на крайний случай просто отключить в конфиге плагина блокировку телепортов.
     
  12. Автор темы
    Lairon1

    Lairon1 Новичок Пользователь

    Баллы:
    21
    Имя в Minecraft:
    Lairon1
    примерно понял как это работает но не понял как это применить к моему коду(
    Код:
            if(e.getAction() != Action.RIGHT_CLICK_AIR && e.getAction() != Action.RIGHT_CLICK_BLOCK) return;
            if(e.getPlayer().getItemInHand().getType() != Material.EYE_OF_ENDER) return;
            Player p = e.getPlayer();
            ItemStack item = e.getPlayer().getItemInHand();
            if(!item.getItemMeta().hasLore()) return;
            if(!item.getItemMeta().getLore().get(0).equals(ChatColor.RED +  "Телепорт на спавн!")) return;
            e.setCancelled(true);
            removeItem(p);
          
          
          
            p.playSound(p.getWorld().getSpawnLocation(), Sound.ENTITY_ENDERMEN_TELEPORT, 100, 1);
          
          
          
            Location s = new Location(Bukkit.getWorld("world"), 84, 166, 99);
          
          
      
            p.teleport(s);
    
          
    
    если поможешь буду рад)
     
  13. alexandrage

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

    Баллы:
    173
  14. NuaN

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

    Баллы:
    96
    Имя в Minecraft:
    NuaN
    Обычно все сами учатся. У каждого свои привычки, понимания и причуды.

    А так я бы посетил парочку твоих уроков [​IMG]
     
  15. Danil4511

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

    Баллы:
    61
    Имя в Minecraft:
    Danil4512
    У меня другая проблема с АнтиРелогом =(
    Он используется на спавне а как убрать хз
     

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