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

Помогите Игрок не найден

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

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

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

    Баллы:
    6
    Имя в Minecraft:
    Arm4x
    Вызываю игрока на проверку (/check ник), после хочу отпустить игрока после проверки(/check ally ник), но пишет игрок не найден
    Код:
    package ru.fucktmgc.vOpGuard.Cmd;
    
    
    import com.google.common.base.Joiner;
    
    import com.sun.istack.internal.NotNull;
    
    import net.md_5.bungee.api.chat.ComponentBuilder;
    
    import org.bukkit.Bukkit;
    
    import org.bukkit.command.Command;
    
    import org.bukkit.command.CommandExecutor;
    
    import org.bukkit.command.CommandSender;
    
    import org.bukkit.configuration.file.FileConfiguration;
    
    import org.bukkit.entity.Player;
    
    import org.bukkit.event.EventHandler;
    
    import org.bukkit.event.Listener;
    
    import org.bukkit.event.player.*;
    
    import org.bukkit.potion.PotionEffect;
    
    import org.bukkit.potion.PotionEffectType;
    
    import ru.fucktmgc.vOpGuard.Main;
    
    
    import java.io.File;
    
    
    
    public class Check implements CommandExecutor, Listener {
    
       FileConfiguration Config = Main.getInstance().getConfig();
    
       private final Main plugin;
    
       private Object Player;
    
    
       public Check(Main plugin) {
    
           this.plugin = plugin;
    
       }
    
    
       @Override
    
       public boolean onCommand(@NotNull CommandSender sender, @NotNull Command cmd, @NotNull String label, @NotNull String[] args) {
    
           if (!(sender instanceof Player)) {
    
               sender.sendMessage(Main.getInstance().getConfig().getString("messages.not-player").replace("&", "§"));
    
               return true;
    
           }
    
           if (!sender.hasPermission("vcheck.use")) {
    
               sender.sendMessage(Main.getInstance().getConfig().getString("messages.no-perm").replace("&", "§"));
    
               return true;
    
           }
    
           if (args.length == 0) {
    
               sender.sendMessage(Config.getString("messages.help").replace("&", "§"));
    
               return true;
    
           }
    
    
           if (args.length == 2) {
    
               Player target = Bukkit.getPlayer(args[0]);
    
               if (target == null || !target.isOnline()) {
    
                   sender.sendMessage(Config.getString("messages.offline").replace("&", "§").replace("%moder%", sender.getName()));
    
                   return true;
    
               }
    
               if (target.hasPermission("vcheck.bypass") || target.isOp()) {
    
                   sender.sendMessage(Config.getString("messages.bypass").replaceAll("&", "&").replace("%target%", target.getName()));
    
                   return true;
    
               }
    
               if (this.plugin.uuid.contains(target.getUniqueId())) {
    
                   sender.sendMessage(Config.getString("messages.check").replace("&", "§").replace("%target%", target.getName()));
    
                   return true;
    
               } else {
    
                   this.plugin.uuid.add(target.getUniqueId());
    
               }
    
               String reason = args[1];
    
               target.sendTitle(Main.getInstance().getConfig().getString("check.title").replace("&", "§"), Main.getInstance().getConfig().getString("check.subtitle").replace("&", "§"), 40, 99999, 99999);
    
               target.sendMessage(Main.getInstance().getConfig().getString("check.chat").replace("&", "§").replace("%moder%", sender.getName()).replace("%reason%", reason));
    
               for (String s : Config.getStringList("check.effects")) {
    
                   PotionEffectType type = PotionEffectType.getByName(s);
    
                   target.addPotionEffect(new PotionEffect(type, 99999, 99999));
    
               }
    
               sender.sendMessage(Config.getString("check.successfully").replace("&", "§").replace("%target%", target.getName()));
    
               return false;
    
           }
    
    
    
           if (args[0].equalsIgnoreCase("ally")) {
    
               if (args.length == 2) {
    
                   Player target = Bukkit.getPlayer(args[1]);
    
                   if (args.length > 0) {
    
                       if (target == null || !target.isOnline()) {
    
                           sender.sendMessage(Config.getString("messages.offline").replace("&", "§").replace("%moder%", sender.getName()));
    
                           return true;
    
                       }
    
                       if (!this.plugin.uuid.contains(target.getUniqueId())) {
    
                           sender.sendMessage(Config.getString("messages.ally").replace("&", "§").replace("%target%", target.getName()));
    
                           return true;
    
                       }
    
                       for (String s : Config.getStringList("check.effects")) {
    
                           target.removePotionEffect(PotionEffectType.getByName(s));
    
                       }
    
                       target.sendTitle(Main.getInstance().getConfig().getString("check_ally.title").replace("&", "§"), Main.getInstance().getConfig().getString("check_ally.subtitle").replace("&", "§"), 40, 40, 40);
    
                       target.sendMessage(Main.getInstance().getConfig().getString("check_ally.chat").replace("&", "§").replace("%moder%", sender.getName()));
    
                       Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), Main.getInstance().getConfig().getString("check_ally.command").replace("%check%", target.getName()));
    
                       sender.sendMessage(Config.getString("check_ally.successfully"));
    
                       this.plugin.uuid.remove(target.getUniqueId());
    
                   }
    
               }
    
           }
    
           if (args[0].equalsIgnoreCase("leave")) {
    
               Player target = Bukkit.getPlayer(args[1]);
    
               if (args.length > 0) {
    
                   if (target == null || !target.isOnline()) {
    
                       sender.sendMessage(Config.getString("messages.offline").replace("&", "§").replace("%moder%", sender.getName()));
    
                       return true;
    
                   }
    
                   if (!this.plugin.uuid.contains(target.getUniqueId())) {
    
                       sender.sendMessage(Config.getString("messages.leave").replace("&", "§").replace("%target%", target.getName()));
    
                       return true;
    
                   }
    
                   target.sendTitle("", "", 0, 0, 0);
    
                   for(String s : Config.getStringList("check.effects")) {
    
                       target.removePotionEffect(PotionEffectType.getByName(s));
    
                   }
    
                   Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), Config.getString("check_leave.command").replace("&", "§").replace("%target%", target.getName()));
    
                   sender.sendMessage(Config.getString("check_leave.successfully").replace("&", "§").replace("%target%", target.getName()));
    
                   this.plugin.uuid.remove(target.getUniqueId());
    
    
               }
    
               return false;
    
           }
    
           if (args[0].equalsIgnoreCase("ban")) {
    
               Player target = Bukkit.getPlayer(args[1]);
    
               if (args.length > 0) {
    
                   if (target == null || !target.isOnline()) {
    
                       sender.sendMessage(Config.getString("messages.offline").replace("&", "§").replace("%moder%", sender.getName()));
    
                       return true;
    
                   }
    
                   if (!this.plugin.uuid.contains(target.getUniqueId())) {
    
                       sender.sendMessage(Config.getString("messages.ban").replace("&", "§").replace("%target%", target.getName()));
    
                       return true;
    
                   }
    
               }
    
               target.sendTitle("", "", 0, 0, 0);
    
               for(String s : Config.getStringList("check.effects")) {
    
                   target.removePotionEffect(PotionEffectType.getByName(s));
    
               }
    
               Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), Config.getString("check_ban.command").replace("&", "§").replace("%target%", target.getName()));
    
               sender.sendMessage(Config.getString("check_ban.successfully").replace("&", "§").replace("%target%", target.getName()));
    
               this.plugin.uuid.remove(target.getUniqueId());
    
           }
    
    
           return false;
    
       }
    
       @EventHandler
    
       public void onPlayerMove(PlayerMoveEvent e) {
    
           Player p = e.getPlayer();
    
           if (this.plugin.uuid.contains(p.getUniqueId())) {
    
               e.setCancelled(true);
    
           } else {
    
               return;
    
           }
    
       }
    
    
       @EventHandler
    
       public void onDropItem(PlayerDropItemEvent e) {
    
           Player p = e.getPlayer();
    
           if (this.plugin.uuid.contains(p.getUniqueId())) {
    
               e.setCancelled(true);
    
           }
    
       }
    
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
     
  2. Ilya071

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

    Баллы:
    66
    Имя в Minecraft:
    ERR_CON_RESET
    У тебя сначала идёт проверка
    if (args.length == 2)
    Где ты берёшь игрока по индексу 0

    Далее идёт проверка
    if (args[0].equalsIgnoreCase("ally")) {if (args.length == 2) {...}}
    Которая не срабатывает, т. к. уже сработала проверка на args.length == 2 а ты там выходишь из метода с помощью return, следовательно дальше if не пойдет.

    Можно засунуть проверку на args[0].equalsIgnoreCase("ally") в первый if, тогда всё должно заработать
     
  3. Автор темы
    Arm4x

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

    Баллы:
    6
    Имя в Minecraft:
    Arm4x
    Можешь исправить в моем коде который я скинул плиз?
     
    Последнее редактирование: 11 май 2021
  4. Автор темы
    Arm4x

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

    Баллы:
    6
    Имя в Minecraft:
    Arm4x
    и так же не работает check leave, check ban
     
  5. Veyn12

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

    Баллы:
    76
    Имя в Minecraft:
    Veynique
    А сам шо, не?
     
  6. Автор темы
    Arm4x

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

    Баллы:
    6
    Имя в Minecraft:
    Arm4x
    Я уехал на 2 дня, на телефоне вообще неудобно, вот и прошу чтобы кто-то исправил пожалуйсиа
     
  7. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    В таком случае смысла априори нет, ведь мы не можем написать тебе код прямо в плагин. Будешь за ПК - исправишь сам.
     
  8. Автор темы
    Arm4x

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

    Баллы:
    6
    Имя в Minecraft:
    Arm4x
    Я не понял, то что выше первый человек написал исправить, поэтому и прошу
     
  9. OJIEKCAHDP

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

    Баллы:
    76
    Имя в Minecraft:
    OJIEKCAHDP
    Проверки измени
     
  10. LOVEC3327

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

    Баллы:
    76
    Имя в Minecraft:
    LOVEC3327
    Ну тогда тебе сюда
     
  11. Автор темы
    Arm4x

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

    Баллы:
    6
    Имя в Minecraft:
    Arm4x
    Ясно, спасибо за помощь
     

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