if (cmd.getName().equalsIgnoreCase("delxp")){
if (p.hasPermission("testplugin.heilen")){
if (args.length == 0) {
p.setLevel(0);
p.sendMessage("§2Du hast nun keine XP Level mehr!");
}
}
}else if(cmd.getName().equalsIgnoreCase("hulk"){
if (p.hasPermission("testplugin.hulk")){
if (args.length == 0) {
p.setHealthScale(40.0);
p.sendMessage("§2Du bist nun Hulk freu dich!");
}
}
}

Wenn du es erklärt bekommen möchtest dann sag mir bescheid :D

...zur Antwort
An Internal Error (Eclipse)?

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??? ._.

...zum Beitrag

Also als aller erstes wäre es für die meisten wichtig zu wissen das du ein Minecraft Plugin schreibst (Ich hatte damit halbes Jahr erfahrung , hab es sofort wieder erkannt xD). Da Minecraft Plugins zwar auf Java basieren , da Spigot und Bukkit damit geschrieben wurde nun denn , zurück zu deiner Frage.

Also Versteh ich das richtig du beziehst dich mit 

public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)

und du fragst dich jetzt nun , warum du bei den Parametern (String[] args) übergeben musst .

Das liegt daran das du diese Methode von Bukkit aufrufst und dort ist es festgelegt dass du diesen Paramter brauchst (Da du ja , die Methode komplett implementierst und dein Senf hinzufügst).

War das deine Frage und wenn ja , hoffe ich ich habe es verständlich gesagt :D

LG

...zur Antwort

Also ich würde mir das so vorstellen , es gibt Sprachen die es einem Benutzer unheimlich einfach machen diese Sprache zu erlernen (Zum Beispiel Skript Sprachen) , aber es gibt Sprachen die sind nicht so benutzer freundlich aber dafür würde das Spiel sehr gut laufen (Zum Beispiel Assembler). Deshalb finde ich du solltest etwas finden was zu dir passt . Also da du noch ein Anfänger bist würde ich dir doch raten ein Html 5 Spiel zu entwickeln (Es ist dann ein schönes Web Game , nicht zu schwer um das zu entwickeln mit Javascript , es wäre ein guter start in dieser Branche und das wichtigste man kann damit gut angeben xD . Ich hoffe ich konnte dir helfen :D

...zur Antwort