2727import me .innectic .permissify .api .permission .Permission ;
2828import me .innectic .permissify .api .permission .PermissionGroup ;
2929import me .innectic .permissify .spigot .PermissifyMain ;
30+ import org .bukkit .Bukkit ;
3031import org .bukkit .entity .Player ;
3132import org .bukkit .event .EventHandler ;
3233import org .bukkit .event .Listener ;
@@ -42,20 +43,22 @@ public class PlayerJoin implements Listener {
4243
4344 @ EventHandler
4445 public void onPlayerJoinEvent (PlayerJoinEvent e ) {
45- Player player = e .getPlayer ();
46- if (player == null ) return ;
47- // Set the permissions of the player
48- PermissifyMain .getInstance ().getPermissifyAPI ().getDatabaseHandler ().ifPresent (handler -> {
49- // Check if the player should be in a default group.
50- if (handler .getDefaultGroup ().isPresent () && !handler .getDefaultGroup ().get ().hasPlayer (player .getUniqueId ())) {
51- handler .addPlayerToGroup (player .getUniqueId (), handler .getDefaultGroup ().get ());
52- handler .setPrimaryGroup (handler .getDefaultGroup ().get (), player .getUniqueId ());
53- }
54- handler .updateCache (player .getUniqueId ());
55- List <Permission > permissions = handler .getPermissions (player .getUniqueId ());
56- // Add the permissions to the player
57- handler .getGroups (player .getUniqueId ()).stream ().map (PermissionGroup ::getPermissions ).forEach (permissions ::addAll );
58- permissions .forEach (permission -> player .addAttachment (PermissifyMain .getInstance (), permission .getPermission (), permission .isGranted ()));
46+ Bukkit .getScheduler ().runTaskAsynchronously (PermissifyMain .getInstance (), () -> {
47+ Player player = e .getPlayer ();
48+ if (player == null ) return ;
49+ // Set the permissions of the player
50+ PermissifyMain .getInstance ().getPermissifyAPI ().getDatabaseHandler ().ifPresent (handler -> {
51+ // Check if the player should be in a default group.
52+ if (handler .getDefaultGroup ().isPresent () && !handler .getDefaultGroup ().get ().hasPlayer (player .getUniqueId ())) {
53+ handler .addPlayerToGroup (player .getUniqueId (), handler .getDefaultGroup ().get ());
54+ handler .setPrimaryGroup (handler .getDefaultGroup ().get (), player .getUniqueId ());
55+ }
56+ handler .updateCache (player .getUniqueId ());
57+ List <Permission > permissions = handler .getPermissions (player .getUniqueId ());
58+ // Add the permissions to the player
59+ handler .getGroups (player .getUniqueId ()).stream ().map (PermissionGroup ::getPermissions ).forEach (permissions ::addAll );
60+ permissions .forEach (permission -> player .addAttachment (PermissifyMain .getInstance (), permission .getPermission (), permission .isGranted ()));
61+ });
5962 });
6063 }
6164}
0 commit comments