最近、私はbukkitコーディングで問題に直面しています。プラグインを起動し、/ akitz コマンドラベルまたは名前と入力すると、内部エラーが表示されますが、/ akitz {サブコマンド}と入力すると正常に動作します。ここにあるものはすべて基本的にうまく動作しますが、/ akitz < - 私はそれを入力するだけで、エラーがポップアップします!ここでのコードは次のとおりです。サブコマンドBukkitの内部エラー
package me.frostgamersa;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;
public class Main extends JavaPlugin {
@Override
public void onEnable() {
}
@Override
public void onDisable() {
}
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if (label.equalsIgnoreCase("akitz")) {
Player player = (Player) sender;
if (args.length == 0 || args.length < 2) {
player.sendMessage("§cIncorrect Arguements");
if (args[0].equalsIgnoreCase("legend")) {
player.sendMessage("§bYou have been Granted §3Legend §bKit!");
CustomItems.givela(player);
CustomItems.givels(player);
player.getInventory().addItem(new ItemStack(Material.GOLDEN_APPLE, 64));
return true;
}
if (args[0].equalsIgnoreCase("god")) {
player.sendMessage("§bYou have been Granted §3God §bKit!");
CustomItems.givega(player);
CustomItems.givegs(player);
player.getInventory().addItem(new ItemStack(Material.GOLDEN_APPLE, 64));
return true;
} else {
player.sendMessage("§cIncorrect Arguements!");
return true;
}
}
エラーは何ですか? –
if文を終了していない 'if(args.length == 0 || args.length <2){' – ItzBenteThePig
argsの長さが** zero **かどうかを最初に確認してから** argsなしの最初の**引数( 'if args [0] .equals ....')です。ですから、コンソールはArrayOfBoundsExceptionを出力します。 'onCommand'メソッドで例外が発生したため、 'Internal error ...'というメッセージが表示されます。 – i0xHeX