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

  • Автор темы Автор темы Arm4x
  • Дата начала Дата начала

Arm4x

Новичок
Пользователь
Баллы
6
Имя в Minecraft
Arm4x
Вызываю игрока на проверку (/check ник), после хочу отпустить игрока после проверки(/check ally ник), но пишет игрок не найден
Java:
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);

       }

   }

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

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

Можно засунуть проверку на args[0].equalsIgnoreCase("ally") в первый if, тогда всё должно заработать
 
У тебя сначала идёт проверка
if (args.length == 2)
Где ты берёшь игрока по индексу 0

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

Можно засунуть проверку на args[0].equalsIgnoreCase("ally") в первый if, тогда всё должно заработать
Можешь исправить в моем коде который я скинул плиз?
 
Последнее редактирование:
и так же не работает check leave, check ban
 
Я уехал на 2 дня, на телефоне вообще неудобно, вот и прошу чтобы кто-то исправил пожалуйсиа
В таком случае смысла априори нет, ведь мы не можем написать тебе код прямо в плагин. Будешь за ПК - исправишь сам.
 
В таком случае смысла априори нет, ведь мы не можем написать тебе код прямо в плагин. Будешь за ПК - исправишь сам.
Я не понял, то что выше первый человек написал исправить, поэтому и прошу
 
Ясно, спасибо за помощь
 
Назад
Верх