Jump to content
jesssiiiiii

Permissions Offline entfernen? Offlineplayer casten

Recommended Posts

Heyy, undzwar möchte ich ein PermissionsSystem basierend auf PermissionsEX erstellen, aber scheitere daran, die Permissions bei einem offline Spieler zu entfernen, da dieser gar nicht "erkannt" wird. Ich hoffe jemand kann mir weiterhelfen :)

"(...)Bukkit.getOfflinePlayer(args[0])" wird zudem in Eclipse gelb unterstrichen, allerdings keine "Hilfe" angeboten.

Player target = Bukkit.getPlayer(args[0]);
						
						if(target.isOnline()) {
							
						
								
								p.sendMessage(Prefixes.team + "§7" + target.getName() + " §7ist nun nichtmehr im Team.");
								target.sendMessage(Prefixes.team + "§7Du bist nun nichtmehr im Server-Team.");
								PermissionsEx.getUser(target).removePermission("d.admin");
								PermissionsEx.getUser(target).removePermission("d.mod");
								PermissionsEx.getUser(target).removePermission("d.support");
								
						
							
							
							
						} else {
							OfflinePlayer offlinetarget = Bukkit.getOfflinePlayer(args[0]);
							
							PermissionsEx.getUser(offlinetarget.getPlayer()).removePermission("d.admin");
							PermissionsEx.getUser(offlinetarget.getPlayer()).removePermission("d.mod");
							PermissionsEx.getUser(offlinetarget.getPlayer()).removePermission("d.support");
							p.sendMessage(Prefixes.team + "§f" + offlinetarget.getName() +  "§7 wurden offline alle Teamrechte entzogen.");
							
						}

 

Share this post


Link to post
Share on other sites

Kann dir ein paar Denkanstöße geben.

Als erstes solltest du PermissionsEx.getUser.. auslagern in z.B.

PermissionUser user = PermissionsEx.getUser(offlineTarget);
user.removePermission("*");

Dann solltest du prüfen ob der User bestimmte Rechte noch hat. Im Zweifel ihn auf den Default zurücksetzen. 

Try, Catch und den Fehler loggen. Welcher ist es denn überhaupt?

Gelb ist nur ein Hinweis, die Methode getOfflinePlayer ist schwierig, weil der Spieler seinen Namen ja ändern könnte und du ihm die Rechte dann noch immer nicht entfernt hast. Du würdest aber ein success erhalten weil die UUID in deinem Code immer vom Mojang Server kommt. Du müsstest den Server fragen ob der User bekannt ist und die UUID von dort erhalten. 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...
B