diff --git a/bukkit/src/main/java/me/lucko/luckperms/CommandManagerBukkit.java b/bukkit/src/main/java/me/lucko/luckperms/CommandManagerBukkit.java index 592889a7..ebb7ccf4 100644 --- a/bukkit/src/main/java/me/lucko/luckperms/CommandManagerBukkit.java +++ b/bukkit/src/main/java/me/lucko/luckperms/CommandManagerBukkit.java @@ -20,7 +20,7 @@ class CommandManagerBukkit extends CommandManager implements CommandExecutor { return onCommand(new Sender() { @Override public void sendMessage(String s) { - CommandSender c = cs.get(); + final CommandSender c = cs.get(); if (c != null) { c.sendMessage(s); } @@ -28,7 +28,7 @@ class CommandManagerBukkit extends CommandManager implements CommandExecutor { @Override public boolean hasPermission(String node) { - CommandSender c = cs.get(); + final CommandSender c = cs.get(); return c != null && c.hasPermission(node); } }, Arrays.asList(args)); diff --git a/bukkit/src/main/resources/config.yml b/bukkit/src/main/resources/config.yml index eff83a88..bf9f9b8b 100644 --- a/bukkit/src/main/resources/config.yml +++ b/bukkit/src/main/resources/config.yml @@ -3,7 +3,7 @@ # The name of the server, used for server specific permissions. Set to 'global' to disable. server: global -# The default group assigned to all user on join. +# The default group assigned to all users on their first join. default-group: default # If users on this server should have their global permissions/groups applied. diff --git a/bungee/src/main/java/me/lucko/luckperms/listeners/PlayerListener.java b/bungee/src/main/java/me/lucko/luckperms/listeners/PlayerListener.java index 82e5e681..e0476a12 100644 --- a/bungee/src/main/java/me/lucko/luckperms/listeners/PlayerListener.java +++ b/bungee/src/main/java/me/lucko/luckperms/listeners/PlayerListener.java @@ -22,20 +22,23 @@ public class PlayerListener implements Listener { @EventHandler public void onPlayerPostLogin(PostLoginEvent e) { final ProxiedPlayer player = e.getPlayer(); + final WeakReference p = new WeakReference<>(player); plugin.getDatastore().loadOrCreateUser(player.getUniqueId(), player.getName(), success -> { if (!success) { - WeakReference p = new WeakReference<>(player); plugin.getProxy().getScheduler().schedule(plugin, () -> { - ProxiedPlayer pl = p.get(); + final ProxiedPlayer pl = p.get(); if (pl != null) { pl.sendMessage(new TextComponent(Util.color(Util.PREFIX + "Permissions data could not be loaded. Please contact an administrator."))); } }, 3, TimeUnit.SECONDS); } else { - User user = plugin.getUserManager().getUser(player.getUniqueId()); - user.refreshPermissions(); + final ProxiedPlayer pl = p.get(); + if (pl != null) { + final User user = plugin.getUserManager().getUser(pl.getUniqueId()); + user.refreshPermissions(); + } } }); diff --git a/bungee/src/main/resources/config.yml b/bungee/src/main/resources/config.yml index a3190d74..62a86b33 100644 --- a/bungee/src/main/resources/config.yml +++ b/bungee/src/main/resources/config.yml @@ -3,7 +3,7 @@ # The name of the server, used for server specific permissions. Set to 'global' to disable. server: bungee -# The default group assigned to all user on join. +# The default group assigned to all users on their first join. default-group: default # If users on this server should have their global permissions/groups applied.