- Баллы
- 123
Недавно начал учиться писать плагины.
В общем команда /tp вызывает ошибку в консоле .
Код класса
В общем команда /tp вызывает ошибку в консоле .
Код:
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
Код:
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;
}
}