Jump to content

Befehl der Pex Befehl ausführt


Failcrafter1998

Empfohlene Beiträge

Jetzt blick ich es langsam net mehr. 

Hier erstmal mein Code:

 

	public boolean onCommand (CommandSender sender, Command cmd, String cmdlabel, String[] args) {
		Player commandSender = (Player) sender;
		if (sender.hasPermission("test.supporter")) {
			if (cmd.getName().equalsIgnoreCase("supporter")) {
				if (args.length == 1) {
					Player target = Bukkit.getPlayer(args[0]);
					if (target !=null) {
						if (!PermissionsEx.getUser(target).inGroup("Sup")) {
							Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "pex user "+args[0]+" group set Sup");
							commandSender.sendMessage("§6Der Spieler §c" + target.getName() + " §6wurde zum Supporter ernnant!");
							target.sendMessage("§6Du wurdest von §c" + commandSender.getName() + " §6zum Supporter ernannt!"); 
							return true;
						} else {
							commandSender.sendMessage("§6Der Spieler §c" + target.getName() + " §6ist bereits ein Supporter!");
							return false;
						}
					} else {
						commandSender.sendMessage("§6Der Spieler §c" + args[0] + " §6 ist nicht Online!");
						return false;
					}
				} else {
					commandSender.sendMessage("§6Bitte gebe einen Spielernamen an!");
					return false;
				}
			} else {
				commandSender.sendMessage("§6Du hast nicht die nötigen Rechte um diesen Befehl auszuführen!");
				return false;
			}
		}
		if (sender.hasPermission("test.rsupprter")) {
			if (cmd.getName().equalsIgnoreCase("rsupporter")) {
				if (args.length == 1) {
					Player target = Bukkit.getPlayer(args[0]);
					if (target !=null) {
						if (PermissionsEx.getUser(target).inGroup("Sup")) {
							Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "pex user "+args[0]+" group remove Sup");
							commandSender.sendMessage("§6Der Spieler §c" + target.getName() + " §6wurde als Supporter entfernt!");
							target.sendMessage("§6Du wurdest von §c" + commandSender.getName() + " §6als Supporter entfernt!");
							return true;
						} else {
							commandSender.sendMessage("§6Der Spieler §c" + args[0] + " §6 ist kein Supporter");
							return false;
						}
					} else {
						commandSender.sendMessage("§6Der Spieler §c" + args[0] + " §6 ist nicht Online");
						return false;
					}
				} else {
					commandSender.sendMessage("§6Bitte gebe einen Spielernamen an!");
					return false;
				}
			} else {
				commandSender.sendMessage("§6Du hast nicht die nötigen Rechte um diesen Befehl auszuführen!");
				return false;
			}
		}
		return false;
		
	}
}

Immer wenn ich einen Command eingebe gibt er mir </command> aus und bei rsupporter sagt er das ich keine Rechte habe egal wie ich ihn Benutze.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 27.5.2016 um 23:16 schrieb Joey:

Dass du immer die "usage Nachricht" bekommst liegt an dem "return false". Deine Code läuft durch und egal wie, am Ende wird false zurückgegeben. Wann dass der Fall ist, gibt Bukkit dir die Nachricht aus.

 

=============================

 

Schau dir deine If-Blöcke an. Dein else-block ist am falschen block.

Link zu diesem Kommentar
Auf anderen Seiten teilen

@boomer41Danke erstmal ist mir nicht aufgefallen. Das mit <command> ist nun auch weg habe die meisten return false; durch return true; ersetzten müssen und bei einer Nachricht ist es komplett weg. Endlich geht der Code soweit . Vielen dank für die ganze Hilfe. Das einzigste was nicht geht ist das er mir wenn ich keine Permissions habe die Nachricht ausgibt, das gibt er immer noch die Standard Nachricht aus wie kann ich das noch fixen?

Hier nochmal mein Endgültiger Code. Wenn ihr was zu verbessern habt sagt es mir.(Das mit man nur Online Player Removen kann weiß ich :D, soll aber auch so sein). Wenn mir jemand ein kleines Beispiel hätte wie das mit dem Offline Player geht wäre ich sehr dankbar ich komme einfach nicht richtig dahinter wie ich das machen soll.

 

	public boolean onCommand (CommandSender sender, Command cmd, String cmdlabel, String[] args) {
		Player commandSender = (Player) sender;
		if (sender.hasPermission("test.supporter")) {
			if (cmd.getName().equalsIgnoreCase("supporter")) {
				if (args.length == 1) {
					Player target = Bukkit.getPlayer(args[0]);
					if (target !=null) {
						if (!PermissionsEx.getUser(target).inGroup("Sup")) {
							Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "pex user "+args[0]+" group set Sup");
							commandSender.sendMessage("§6Der Spieler §c" + target.getName() + " §6wurde zum Supporter ernnant!");
							target.sendMessage("§6Du wurdest von §c" + commandSender.getName() + " §6zum Supporter ernannt!"); 
							return true;
						} else {
							commandSender.sendMessage("§6Der Spieler §c" + target.getName() + "§6 ist bereits ein Supporter!");
							return true;
						}
					} else {
						commandSender.sendMessage("§6Der Spieler §c" + args[0] + "§6 ist nicht Online!");
						return true;
					}
				} else {
					commandSender.sendMessage("§6Bitte gebe einen Spielernamen an!");
					return true;
				}
			}
		} else {
			commandSender.sendMessage("§6Du hast nicht die nötigen Rechte um diesen Befehl auszuführen!");
			return true;
		}
		if (sender.hasPermission("test.rsupprter")) {
			if (cmd.getName().equalsIgnoreCase("rsupporter")) {
				if (args.length == 1) {
					Player target = Bukkit.getPlayer(args[0]);
					if (target !=null) {
						if (PermissionsEx.getUser(target).inGroup("Sup")) {
							Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "pex user "+args[0]+" group remove Sup");
							commandSender.sendMessage("§6Der Spieler §c" + target.getName() + " §6wurde als Supporter entfernt!");
							target.sendMessage("§6Du wurdest von §c" + commandSender.getName() + " §6als Supporter entfernt!");
							return true;
						} else {
							commandSender.sendMessage("§6Der Spieler §c" + target.getName() + " §6ist kein Supporter!");
						}
					} else {
						commandSender.sendMessage("§6Der Spieler §c" + args[0] + "§6 ist nicht Online!");
						return true;
					}
				} else {
					commandSender.sendMessage("§6Bitte gebe einen Spielernamen an!");
					return true;
				}
			}
		} else {
			commandSender.sendMessage("§6Du hast nicht die nötigen Rechte um diesen Befehl auszuführen!");
			return true;
		}
		return true;
	}
}

 

 

 

bearbeitet von Failcrafter1998
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 13 Stunden schrieb Failcrafter1998:

(...) Das einzigste was nicht geht ist das er mir wenn ich keine Permissions habe die Nachricht ausgibt, das gibt er immer noch die Standard Nachricht aus wie kann ich das noch fixen?

 

Ich verstehe nicht was du uns damit sagen willst. Das solltest du nochmal genauer ausführen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ist eine Else Klammer die wenn es gehen würde eine Nachricht folgende Nachricht ausgeben sollte: 

commandSender.sendMessage("§6Du hast nicht die nötigen Rechte um diesen Befehl auszuführen!");

Nur wenn ich mir meine Rechte wegnehme kommt die ganz Normal Nachricht, also: You don't have Permissions..bla bla bla. Mein Frage ist jetzt: Was hab ich falsch gemacht das er nicht meine Nachricht ausgibt also Folgende: 

commandSender.sendMessage("§6Du hast nicht die nötigen Rechte um diesen Befehl auszuführen!");

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich gehe einfach mal davon aus, dass (durch fehlende Rechte) die Ausführung deines Programmcodes bereits verhindert wird, bevor deine if/else abfrage zum tragen kommt. Aber was genau stört dich? Es passiert doch genau das was du willst, der Command kann nicht ausgeführt werden wenn man nicht die nötigen Rechte hat.

Lass deine Abfrage nach den Rechten doch einfach weg, und ändere statdessen die permission-message in deiner plugin.yml

LG, Derya001

Link zu diesem Kommentar
Auf anderen Seiten teilen

In die plugin.yml kommt unter commands folgenes:

name: dein Plugin
version: 0.1
description: Beschreibung
website: optionale Website
author: Dein Name, oder sonst was
main: Pfad zur main im paket

commands:
  supporter:
    description: Beschreibung
    usage: /<command> help
    permission: test.supporter
    permission-message: 'Hier deine Nachricht eintragen'

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...
B
B