IDK_WHO_AM_I
Kuhfänger
Hey Leute,
ich hänge da an einer kleinen Sache. Mein Permission System ist soweit voll funktionsfähig, ich habe derzeit allerdings Probleme beim Aktualisieren der Rechte.
Ich setzte beim Joinen die Rechte wie folgt:
Nun basiert das System allerdings auf ServerSockets und die Permission werden per BungeeeCord Befehl eingetragen also sende ich diese neuen/aktualisierten Daten dann an den Spigot Server.
Nun habe ich folgende Mehtode geschrieben. Um dann die Rechte der Spieler zu aktualisieren.
jedoch funktioniert diese Methode nicht. Jedoch wenn ich rejoine funktioniert alles prima. Ich vermute das beim Verlassen des Servers irgendwo im Mojang Code die Rechte gelöscht/resetet werden jedoch weiß ich nicht wie oder wo.
Ich habe bereits versucht:
jedoch ohne Erfolg.
Ich hoffe jemand kann mir helfen.
Danke im Voraus
Euer Maxi
ich hänge da an einer kleinen Sache. Mein Permission System ist soweit voll funktionsfähig, ich habe derzeit allerdings Probleme beim Aktualisieren der Rechte.
Ich setzte beim Joinen die Rechte wie folgt:
Javascript:
@EventHandler(priority=EventPriority.HIGH)
public void onJoin(PlayerJoinEvent e) {
List<String> permission = new ArrayList<>();
User user = McSpigot.getInstance().getUserManager().getUserByName(e.getPlayer().getName());
try {
permission = user.getPermissions();
} catch (SQLException e1) {
e1.printStackTrace();
}
for(String perm :permission) {
PermissionAttachment attachment = e.getPlayer().addAttachment(McSpigot.getInstance());
attachment.setPermission(perm, true);
}
}
Nun basiert das System allerdings auf ServerSockets und die Permission werden per BungeeeCord Befehl eingetragen also sende ich diese neuen/aktualisierten Daten dann an den Spigot Server.
Nun habe ich folgende Mehtode geschrieben. Um dann die Rechte der Spieler zu aktualisieren.
Javascript:
public void refreshPermissions() {
for(Player player : Bukkit.getOnlinePlayers()) {
List<String> permission = new ArrayList<>();
User user = McSpigot.getInstance().getUserManager().getUserByName(player.getName());
try {
permission = user.getPermissions();
} catch (SQLException e1) {
e1.printStackTrace();
}
PermissionAttachment attachment = player.addAttachment(McSpigot.getInstance());
for (String perm : permission) {
attachment.setPermission(perm, true);
}
}
}
jedoch funktioniert diese Methode nicht. Jedoch wenn ich rejoine funktioniert alles prima. Ich vermute das beim Verlassen des Servers irgendwo im Mojang Code die Rechte gelöscht/resetet werden jedoch weiß ich nicht wie oder wo.
Ich habe bereits versucht:
Javascript:
player.recalculatePermissions();
player.getEffectivePermissions().clear();
jedoch ohne Erfolg.
Ich hoffe jemand kann mir helfen.
Danke im Voraus
Euer Maxi
Zuletzt bearbeitet: