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

Помогите Ошибка в коде

Discussion in 'Разработка плагинов для новичков' started by aceJKE, Dec 15, 2013.

Thread Status:
Not open for further replies.
  1. Автор темы
    aceJKE

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

    Trophy Points:
    123
    Недавно начал учиться писать плагины.
    В общем команда /tp вызывает ошибку в консоле .
    Code:
    2013-12-15 12:25:29 [INFO] ace issued server command: /tp
    2013-12-15 12:25:29 [SEVERE] null
    org.bukkit.command.CommandException: Unhandled exception executing command 'tp' in plugin lal
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46)
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:192)
        at org.bukkit.craftbukkit.v1_6_R3.CraftServer.dispatchCommand(CraftServer.java:527)
        at net.minecraft.server.v1_6_R3.PlayerConnection.handleCommand(PlayerConnection.java:977)
        at net.minecraft.server.v1_6_R3.PlayerConnection.chat(PlayerConnection.java:888)
        at net.minecraft.server.v1_6_R3.PlayerConnection.a(PlayerConnection.java:835)
        at net.minecraft.server.v1_6_R3.Packet3Chat.handle(SourceFile:49)
        at org.spigotmc.netty.NettyNetworkManager.b(NettyNetworkManager.java:230)
        at net.minecraft.server.v1_6_R3.PlayerConnection.e(PlayerConnection.java:117)
        at net.minecraft.server.v1_6_R3.ServerConnection.b(SourceFile:37)
        at org.spigotmc.netty.NettyServerConnection.b(NettyServerConnection.java:132)
        at net.minecraft.server.v1_6_R3.MinecraftServer.t(MinecraftServer.java:594)
        at net.minecraft.server.v1_6_R3.DedicatedServer.t(DedicatedServer.java:240)
        at net.minecraft.server.v1_6_R3.MinecraftServer.s(MinecraftServer.java:483)
        at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java:415)
        at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:583)
    Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
        at ru.lal.commands.Teleportation.onCommand(Teleportation.java:29)
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44)
        ... 15 more
    Код класса
    Code:
    package ru.lal.blah;
    
    import org.bukkit.ChatColor;
    import org.bukkit.Location;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandExecutor;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    
    import static org.bukkit.Bukkit.getServer;
    
    public class Teleportation implements CommandExecutor {
    
        String prefix = ChatColor.WHITE + "[" + ChatColor.RED + "L@L" + ChatColor.WHITE + "]: ";
    
        public Teleportation() {
        }
    
        @Override
        public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
            if (!(sender instanceof Player)) {
                sender.sendMessage("You can not use a command from the console.=(");
                return true;
            }
            if (!sender.hasPermission("lal.cmd.tp")) {
                sender.sendMessage(prefix + ChatColor.RED + "Нет прав.");
                return true;
            }
            Player target = getServer().getPlayer(args[0]);
            Player target1 = getServer().getPlayer(args[1]);
            Player p = (Player) sender;
    
            if (cmd.getName().equalsIgnoreCase("tp")) {
                if (args.length == 0) {
                    sender.sendMessage(ChatColor.RED + "Используй:/tp <ник> или /tp <ник> <ник>");
                }
                if (target == null) {
                    sender.sendMessage(prefix + ChatColor.RED + "Игрок не найден!");
                    return true;
                }
                if (target1 == null) {
                    sender.sendMessage(prefix + ChatColor.RED + "Игрок не найден!");
                    return true;
                }
                if (args.length == 1) {
                    Location tlocation = target.getLocation();
                    p.teleport(new Location(target.getWorld(), tlocation.getX(), tlocation.getY(), tlocation.getZ()));
                    sender.sendMessage(prefix + ChatColor.GOLD + "Вы телепортировались к " + target.getName());
                    return true;
                }
                if (args.length == 2) {
    //                Location tlocation = target1.getLocation();
    //                target.teleport(new Location(target1.getWorld(), tlocation.getX(), tlocation.getY(), tlocation.getZ()));
                    sender.sendMessage(prefix + ChatColor.GOLD + "blah");
                    return true;
                }
                if (args.length > 2) {
                    sender.sendMessage(ChatColor.RED + "Используй:/tp <ник> или /tp <ник> <ник>");
                }
            }
            return false;
        }
    }
     
    Сникерсни likes this.
  2. Хостинг MineCraft
    <
  3. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Trophy Points:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Не хватает аргументов[DOUBLEPOST=1387089325,1387089237][/DOUBLEPOST]Вообще бред - сначала из массива берутся значеия, а потом идёт проверка на их наличие:good:
     
    slavik123123123 and aceJKE like this.
Thread Status:
Not open for further replies.

Share This Page