Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Rekomendowane odpowiedzi

Opublikowano
Błąd:

 



[20:51:47] [Server thread/WARN]: Unexpected exception while parsing console command "kick"
org.bukkit.command.CommandException: Unhandled exception executing command 'kick' in plugin MineSBanS v0.1

at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot.jar:git-Spigot-1.7.9-R0.2-205-g2c31986]

at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:181) ~[spigot.jar:git-Spigot-1.7.9-R0.2-205-g2c31986]

at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchCommand(CraftServer.java:767) ~[spigot.jar:git-Spigot-1.7.9-R0.2-205-g2c31986]

at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchServerCommand(CraftServer.java:753) [spigot.jar:git-Spigot-1.7.9-R0.2-205-g2c31986]

at net.minecraft.server.v1_7_R4.DedicatedServer.aB(DedicatedServer.java:326) [spigot.jar:git-Spigot-1.7.9-R0.2-205-g2c31986]

at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:290) [spigot.jar:git-Spigot-1.7.9-R0.2-205-g2c31986]

at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [spigot.jar:git-Spigot-1.7.9-R0.2-205-g2c31986]

at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [spigot.jar:git-Spigot-1.7.9-R0.2-205-g2c31986]

at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [spigot.jar:git-Spigot-1.7.9-R0.2-205-g2c31986]




Caused by: java.lang.ArrayIndexOutOfBoundsException: 1

at pl.interia.mati5559.MineSBanS.commands.Kick.onCommand(Kick.java:28) ~[?:?]

at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot.jar:git-Spigot-1.7.9-R0.2-205-g2c31986]

... 8 more


 

Kod Kick.java:



package pl.interia.mati5559.MineSBanS.commands;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

import pl.interia.mati5559.MineSBanS.Main;

public class Kick implements CommandExecutor {

public final Main getPlugin;

public Kick(Main main)
{
this.getPlugin = main;
}

@SuppressWarnings("deprecation")
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if (cmd.getName().equalsIgnoreCase("kick"))
{
if(sender.hasPermission("minesbans.kick"))
{
if(args[1] != null)
{
if(Bukkit.getPlayer(args[0]).isOnline())
{
if(args[2] == null)
{
Bukkit.getPlayer(args[1]).kickPlayer(this.getPlugin.getValues.message("kick-without-reason").replaceAll("%player%", args[1]).replaceAll("%sender%", sender.getName()));
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', this.getPlugin.getValues.message("kick-message").replaceAll("%player%", args[1]).replaceAll("%sender%", sender.getName())));
return true;
}
else
{
String reason = "";
String reasonCopy = "";
int b = 2;
for(int a = 0; a > 10; a++)
{
if (args[b] != null)
{
a--;
reason = reasonCopy + args[b];
reasonCopy = reason;
b++;
}
else
{
a = 20;
}
}
Bukkit.getPlayer(args[1]).kickPlayer(this.getPlugin.getValues.message("kick-reason").replaceAll("%player%", args[1]).replaceAll("%sender%", sender.getName()).replaceAll("%reason%", reason));
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', this.getPlugin.getValues.message("kick-message").replaceAll("%player%", args[1]).replaceAll("%reason%", reason).replaceAll("%sender%", sender.getName())));
return true;
}
}
else
{
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', this.getPlugin.getValues.message("is-offline")));
return true;
}
}
else
{
sender.sendMessage("Uzyj: /mb kick <nick> [powod] lub /mb help");
return true;
}
}
else
{
if (sender instanceof Player)
{
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', this.getPlugin.getValues.message("no-permissions")));
return true;
}
else
{
if(args[0] != null)
{
if(Bukkit.getPlayer(args[1]).isOnline())
{
if(args[1] == null)
{
Bukkit.getPlayer(args[1]).kickPlayer(this.getPlugin.getValues.message("kick-without-reason").replaceAll("%player%", args[1]).replaceAll("%sender%", sender.getName()));
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', this.getPlugin.getValues.message("kick-message").replaceAll("%player%", args[1]).replaceAll("%sender%", sender.getName())));
return true;
}
else
{
String reason = "";
String reasonCopy = "";
int b = 2;
for(int a = 0; a > 10; a++)
{
if (args[b] != null)
{
a--;
reason = reasonCopy + args[b];
reasonCopy = reason;
b++;
}
else
{
a = 20;
}
}
Bukkit.getPlayer(args[1]).kickPlayer(this.getPlugin.getValues.message("kick-reason").replaceAll("%player%", args[1]).replaceAll("%sender%", sender.getName()).replaceAll("%reason%", reason));
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', this.getPlugin.getValues.message("kick-message").replaceAll("%player%", args[1]).replaceAll("%reason%", reason).replaceAll("%sender%", sender.getName())));
return true;
}
}
else
{
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', this.getPlugin.getValues.message("is-offline")));
return true;
}
}
else
{
sender.sendMessage("Uzyj: /mb kick <nick> [powod] lub /mb help");
return true;
}
}
}
}
else
{
return false;
}
}
}



 

Po wpisaniu /kick wyskakuje ten błąd i taki sam również po wpisaniu każdej innej komendy.

Opublikowano

1. Przed sprawdzaniem args[int] != null daj wcześniej args.lenght == int.

2. Pamiętaj, że klasa Player jest nullem gdy gracza nie ma na serwerze! isOnline zmień na sprawdzenie nulla.

3. W packagach WSZYSTKIE litery są MAŁYMI literami.

Dlaczego MPC popiera piractwo Minecrafta...

 

Do moderatora: Po co Ty to usuwasz??

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...