Immer, wenn ich in letzter Zeit ein Plugin mit einem Command schreibe, welcher Argumente haben soll, und ich diesen dann ohne Args eingebe bekomme ich einen Internal Error, wieso??
CODE:
package me.GUI.main;
import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.material.MaterialData; import org.bukkit.plugin.java.JavaPlugin;
import me.GUI.Events.GUIClickEvent;
public class Main extends JavaPlugin {
public static String SpielerName = "";
@Override
public void onEnable() {
System.out.println("BAN GUI AKTIV!");
Bukkit.getPluginManager().registerEvents(new GUIClickEvent(), this);
}
@Override
public void onDisable() {
System.out.println("BAN GUI NICHT MEHR AKTIV!");
}
public static String Username = "";
@SuppressWarnings("deprecation")
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if (args.length == 1) {
Player p = (Player) sender;
Username = args[0];
if (p.hasPermission("Gban.use")) {
Inventory gban = Bukkit.createInventory(null, 9 * 1, "§cBAN MENU");
ItemStack Port = new ItemStack(Material.ENDER_PEARL);
ItemMeta PortMeta = Port.getItemMeta();
PortMeta.setDisplayName("§5Zu §d" + Username + " §5Teleportieren");
Port.setItemMeta(PortMeta);
ItemStack Kick = new ItemStack(Material.IRON_SWORD);
ItemMeta KickMeta = Kick.getItemMeta();
KickMeta.setDisplayName("§e" + Username + " §6kicken");
Kick.setItemMeta(KickMeta);
ItemStack Ban = new ItemStack(Material.DIAMOND_SWORD);
ItemMeta BanMeta = Ban.getItemMeta();
BanMeta.setDisplayName("§c" + Username + " §4Bannen");
Ban.setItemMeta(BanMeta);
ItemStack PH = new ItemStack(Material.STAINED_GLASS_PANE);
ItemMeta PHmeta = PH.getItemMeta();
PHmeta.setDisplayName(" ");
PH.setItemMeta(PHmeta);
PH.setData(new MaterialData(15));
gban.setItem(0, Port);
gban.setItem(4, Kick);
gban.setItem(8, Ban);
gban.setItem(1, PH);
gban.setItem(2, PH);
gban.setItem(3, PH);
gban.setItem(5, PH);
gban.setItem(6, PH);
gban.setItem(7, PH);
p.openInventory(gban);
return true;
} else {
p.sendMessage("§cKeine Permissions! §7[§eGban.use§7]");
return true;
}
} else {
Player p = (Player) sender;
Username = args[0];
p.sendMessage("§cBitte nutze: §e/gban <Spieler>");
return true;
}
}
}
Aber wenn ich 2 Argumente anstatt 1 angebe, dann bekomme ich meine Message nur bei GAR KEINEM Argument nicht... -.- Woran liegts??? ._.