Minecraft Coding - Offline Spieler casten?

2 Antworten

Du bekommst den OfflinePlayer auch dann, wenn der Player online ist (klingt erst blöd, ist aber so). Also quasi immer. Er ist genau für sowas da, wo man nur ein paar Informationen wie UUID braucht, aber der Spieler off ist, so dass du den Player nicht bekommst.

Du kannst auch einen Player zu einem OfflinePlayer casten, um ihn zu bekommen.

Also der Teil (ohne if) sollte ausreichend sein (das PermissionEx.getUser() solltest du nur einmal aufrufen und eine Zwischenvariable verwenden).

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.");

Unabhängig davon solltest du vermeiden, einen Spieler per Namen abzurufen (egal ob OfflinePlayer oder Player), wenn der Spieler nicht online ist, da er den Namen wechseln kann, dann ein anderer den Namen annimmt und du auf einmal einen ganz anderen Spieler ansprichst.

Woher ich das weiß:Hobby

Braucht PeX das Spielerobjekt oder nur den Namen oder UUID?