From df99ef448119430a7b5717ccde0980ca9c9b1998 Mon Sep 17 00:00:00 2001 From: Luck Date: Sun, 26 Feb 2017 12:43:35 +0000 Subject: [PATCH] misc cleanup --- .../java/me/lucko/luckperms/api/Contexts.java | 15 ++- .../java/me/lucko/luckperms/api/LogEntry.java | 14 +-- .../me/lucko/luckperms/api/MetaUtils.java | 6 +- .../api/event/cause/CreationCause.java | 2 +- .../api/event/cause/DeletionCause.java | 2 +- .../api/event/user/track/TrackAction.java | 2 +- .../LuckPermsPlaceholderExpansion.java | 4 +- .../luckperms/bukkit/LPBukkitPlugin.java | 4 +- .../messaging/BungeeMessagingService.java | 5 +- .../migration/MigrationPowerfulPerms.java | 1 + .../luckperms/bukkit/model/Injector.java | 1 + .../common/commands/CommandManager.java | 4 +- .../common/commands/MainCommand.java | 1 + .../commands/generic/parent/ParentSet.java | 6 +- .../commands/log/subcommands/LogRecent.java | 2 +- .../migration/MigrationMainCommand.java | 2 +- .../luckperms/common/constants/Patterns.java | 13 ++- .../luckperms/common/core/NodeFactory.java | 56 +++++++++++ .../common/core/model/ImmutableNode.java | 40 ++++---- .../common/core/model/PermissionHolder.java | 97 ++++++++----------- .../lucko/luckperms/common/defaults/Rule.java | 12 +-- .../common/event/LuckPermsEventHandler.java | 1 + .../managers/impl/GenericUserManager.java | 7 +- .../common/utils/BufferedRequest.java | 2 +- .../luckperms/common/utils/Predicates.java | 2 + .../messaging/BungeeMessagingService.java | 4 +- 26 files changed, 170 insertions(+), 135 deletions(-) diff --git a/api/src/main/java/me/lucko/luckperms/api/Contexts.java b/api/src/main/java/me/lucko/luckperms/api/Contexts.java index 24cc6350d..5bf64b779 100644 --- a/api/src/main/java/me/lucko/luckperms/api/Contexts.java +++ b/api/src/main/java/me/lucko/luckperms/api/Contexts.java @@ -194,14 +194,13 @@ public class Contexts { final Contexts other = (Contexts) o; final Object this$context = this.getContexts(); final Object other$context = other.getContexts(); - if (this$context == null ? other$context != null : !this$context.equals(other$context)) return false; - if (this.isOp() != other.isOp()) return false; - if (this.isIncludeGlobal() != other.isIncludeGlobal()) return false; - if (this.isIncludeGlobalWorld() != other.isIncludeGlobalWorld()) return false; - if (this.isApplyGroups() != other.isApplyGroups()) return false; - if (this.isApplyGlobalGroups() != other.isApplyGlobalGroups()) return false; - if (this.isApplyGlobalWorldGroups() != other.isApplyGlobalWorldGroups()) return false; - return true; + return (this$context == null ? other$context == null : this$context.equals(other$context)) && + this.isOp() == other.isOp() && + this.isIncludeGlobal() == other.isIncludeGlobal() && + this.isIncludeGlobalWorld() == other.isIncludeGlobalWorld() && + this.isApplyGroups() == other.isApplyGroups() && + this.isApplyGlobalGroups() == other.isApplyGlobalGroups() && + this.isApplyGlobalWorldGroups() == other.isApplyGlobalWorldGroups(); } /** diff --git a/api/src/main/java/me/lucko/luckperms/api/LogEntry.java b/api/src/main/java/me/lucko/luckperms/api/LogEntry.java index 97145d537..cb5efa3a1 100644 --- a/api/src/main/java/me/lucko/luckperms/api/LogEntry.java +++ b/api/src/main/java/me/lucko/luckperms/api/LogEntry.java @@ -171,13 +171,13 @@ public class LogEntry implements Comparable { if (o == this) return true; if (!(o instanceof LogEntry)) return false; final LogEntry other = (LogEntry) o; - if (this.getTimestamp() != other.getTimestamp()) return false; - if (this.getActor() == null ? other.getActor() != null : !this.getActor().equals(other.getActor())) return false; - if (this.getActorName() == null ? other.getActorName() != null : !this.getActorName().equals(other.getActorName())) return false; - if (this.getType() != other.getType()) return false; - if (this.getActed() == null ? other.getActed() != null : !this.getActed().equals(other.getActed())) return false; - if (this.getActedName() == null ? other.getActedName() != null : !this.getActedName().equals(other.getActedName())) return false; - return this.getAction() == null ? other.getAction() == null : this.getAction().equals(other.getAction()); + return this.getTimestamp() == other.getTimestamp() && + (this.getActor() == null ? other.getActor() == null : this.getActor().equals(other.getActor())) && + (this.getActorName() == null ? other.getActorName() == null : this.getActorName().equals(other.getActorName())) && + this.getType() == other.getType() && + (this.getActed() == null ? other.getActed() == null : this.getActed().equals(other.getActed())) && + (this.getActedName() == null ? other.getActedName() == null : this.getActedName().equals(other.getActedName())) && + (this.getAction() == null ? other.getAction() == null : this.getAction().equals(other.getAction())); } @Override diff --git a/api/src/main/java/me/lucko/luckperms/api/MetaUtils.java b/api/src/main/java/me/lucko/luckperms/api/MetaUtils.java index cc99667fb..75caf4630 100644 --- a/api/src/main/java/me/lucko/luckperms/api/MetaUtils.java +++ b/api/src/main/java/me/lucko/luckperms/api/MetaUtils.java @@ -149,8 +149,7 @@ public class MetaUtils { try { holder.setPermission(metaNode.build()); - } catch (ObjectAlreadyHasException ignored) { - } + } catch (ObjectAlreadyHasException ignored) {} } /** @@ -233,8 +232,7 @@ public class MetaUtils { try { holder.setPermission(node.build()); - } catch (ObjectAlreadyHasException ignored) { - } + } catch (ObjectAlreadyHasException ignored) {} } /** diff --git a/api/src/main/java/me/lucko/luckperms/api/event/cause/CreationCause.java b/api/src/main/java/me/lucko/luckperms/api/event/cause/CreationCause.java index 34d5e0619..53036ec53 100644 --- a/api/src/main/java/me/lucko/luckperms/api/event/cause/CreationCause.java +++ b/api/src/main/java/me/lucko/luckperms/api/event/cause/CreationCause.java @@ -40,6 +40,6 @@ public enum CreationCause { /** * The creation was caused by a LuckPerms internal */ - INTERNAL; + INTERNAL } diff --git a/api/src/main/java/me/lucko/luckperms/api/event/cause/DeletionCause.java b/api/src/main/java/me/lucko/luckperms/api/event/cause/DeletionCause.java index e9c4b9c9a..c4a0213f0 100644 --- a/api/src/main/java/me/lucko/luckperms/api/event/cause/DeletionCause.java +++ b/api/src/main/java/me/lucko/luckperms/api/event/cause/DeletionCause.java @@ -40,6 +40,6 @@ public enum DeletionCause { /** * The deletion was caused by a LuckPerms internal */ - INTERNAL; + INTERNAL } diff --git a/api/src/main/java/me/lucko/luckperms/api/event/user/track/TrackAction.java b/api/src/main/java/me/lucko/luckperms/api/event/user/track/TrackAction.java index 5af37a76e..a150396c7 100644 --- a/api/src/main/java/me/lucko/luckperms/api/event/user/track/TrackAction.java +++ b/api/src/main/java/me/lucko/luckperms/api/event/user/track/TrackAction.java @@ -35,6 +35,6 @@ public enum TrackAction { /** * The user was demoted down a track */ - DEMOTION; + DEMOTION } diff --git a/bukkit-placeholders/src/main/java/me/lucko/luckperms/api/placeholders/LuckPermsPlaceholderExpansion.java b/bukkit-placeholders/src/main/java/me/lucko/luckperms/api/placeholders/LuckPermsPlaceholderExpansion.java index cdd089f14..91cb107e9 100644 --- a/bukkit-placeholders/src/main/java/me/lucko/luckperms/api/placeholders/LuckPermsPlaceholderExpansion.java +++ b/bukkit-placeholders/src/main/java/me/lucko/luckperms/api/placeholders/LuckPermsPlaceholderExpansion.java @@ -146,9 +146,7 @@ public class LuckPermsPlaceholderExpansion extends PlaceholderExpansion { String trackName = identifier.substring("on_track_".length()); Optional track = api.getTrackSafe(trackName); - if (!track.isPresent()) return ""; - - return formatBoolean(track.get().containsGroup(user.getPrimaryGroup())); + return track.map(t -> formatBoolean(t.containsGroup(user.getPrimaryGroup()))).orElse(""); } if (identifier.startsWith("expiry_time_") && identifier.length() > "expiry_time_".length()) { diff --git a/bukkit/src/main/java/me/lucko/luckperms/bukkit/LPBukkitPlugin.java b/bukkit/src/main/java/me/lucko/luckperms/bukkit/LPBukkitPlugin.java index 6d1681152..831b84650 100644 --- a/bukkit/src/main/java/me/lucko/luckperms/bukkit/LPBukkitPlugin.java +++ b/bukkit/src/main/java/me/lucko/luckperms/bukkit/LPBukkitPlugin.java @@ -288,9 +288,7 @@ public class LPBukkitPlugin extends JavaPlugin implements LuckPermsPlugin { } // replace the temporary executor when the Bukkit one starts - getServer().getScheduler().runTaskAsynchronously(this, () -> { - scheduler.setUseBukkitAsync(true); - }); + getServer().getScheduler().runTaskAsynchronously(this, () -> scheduler.setUseBukkitAsync(true)); // Load any online users (in the case of a reload) for (Player player : getServer().getOnlinePlayers()) { diff --git a/bukkit/src/main/java/me/lucko/luckperms/bukkit/messaging/BungeeMessagingService.java b/bukkit/src/main/java/me/lucko/luckperms/bukkit/messaging/BungeeMessagingService.java index 10fd2f78f..d61180006 100644 --- a/bukkit/src/main/java/me/lucko/luckperms/bukkit/messaging/BungeeMessagingService.java +++ b/bukkit/src/main/java/me/lucko/luckperms/bukkit/messaging/BungeeMessagingService.java @@ -64,12 +64,11 @@ public class BungeeMessagingService extends AbstractMessagingService implements @Override public void run() { Collection players = plugin.getServer().getOnlinePlayers(); - if (players.isEmpty()) { + Player p = Iterables.getFirst(players, null); + if (p == null) { return; } - Player p = Iterables.getFirst(players, null); - ByteArrayDataOutput out = ByteStreams.newDataOutput(); out.writeUTF(message); diff --git a/bukkit/src/main/java/me/lucko/luckperms/bukkit/migration/MigrationPowerfulPerms.java b/bukkit/src/main/java/me/lucko/luckperms/bukkit/migration/MigrationPowerfulPerms.java index f6a9b875f..20429f57b 100644 --- a/bukkit/src/main/java/me/lucko/luckperms/bukkit/migration/MigrationPowerfulPerms.java +++ b/bukkit/src/main/java/me/lucko/luckperms/bukkit/migration/MigrationPowerfulPerms.java @@ -66,6 +66,7 @@ import java.util.function.Consumer; import static me.lucko.luckperms.common.constants.Permission.MIGRATION; +@SuppressWarnings("unchecked") public class MigrationPowerfulPerms extends SubCommand { private static Method getPlayerPermissionsMethod = null; private static Method getPlayerGroupsMethod = null; diff --git a/bukkit/src/main/java/me/lucko/luckperms/bukkit/model/Injector.java b/bukkit/src/main/java/me/lucko/luckperms/bukkit/model/Injector.java index a78e473e9..1944446bd 100644 --- a/bukkit/src/main/java/me/lucko/luckperms/bukkit/model/Injector.java +++ b/bukkit/src/main/java/me/lucko/luckperms/bukkit/model/Injector.java @@ -38,6 +38,7 @@ import java.util.concurrent.ConcurrentHashMap; /** * Injects a {@link LPPermissible} into a {@link Player} */ +@SuppressWarnings("unchecked") @UtilityClass public class Injector { private static final Map INJECTED_PERMISSIBLES = new ConcurrentHashMap<>(); diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/CommandManager.java b/common/src/main/java/me/lucko/luckperms/common/commands/CommandManager.java index c77f5c592..d41279c5a 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/CommandManager.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/CommandManager.java @@ -111,8 +111,8 @@ public class CommandManager { /** * Generic on command method to be called from the command executor object of the platform - * Unlike {@link #onCommand(Sender, String, List)}, this method is called in a new thread - * @param sender who sent the command + * Unlike {@link #execute(Sender, String, List)}, this method is called in a new thread + * @param sender who sent the command * @param label the command label used * @param args the arguments provided */ diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/MainCommand.java b/common/src/main/java/me/lucko/luckperms/common/commands/MainCommand.java index 3598c1f62..313ca2b77 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/MainCommand.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/MainCommand.java @@ -175,6 +175,7 @@ public abstract class MainCommand extends BaseCommand { return getSubCommands().stream().filter(sc -> sc.isAuthorized(sender)).count() != 0; } + @SuppressWarnings("DeprecatedIsStillUsed") @Deprecated @Override public Optional>> getChildren() { diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/generic/parent/ParentSet.java b/common/src/main/java/me/lucko/luckperms/common/commands/generic/parent/ParentSet.java index dc0d47a16..d1bff3a9f 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/generic/parent/ParentSet.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/generic/parent/ParentSet.java @@ -79,8 +79,7 @@ public class ParentSet extends SharedSubCommand { try { holder.setInheritGroup(group); - } catch (ObjectAlreadyHasException ignored) { - } + } catch (ObjectAlreadyHasException ignored) {} if (holder instanceof User) { ((User) holder).setPrimaryGroup(group.getName()); @@ -107,8 +106,7 @@ public class ParentSet extends SharedSubCommand { try { holder.setInheritGroup(group, server, world); - } catch (ObjectAlreadyHasException ignored) { - } + } catch (ObjectAlreadyHasException ignored) {} Message.SET_PARENT_SERVER_WORLD_SUCCESS.send(sender, holder.getFriendlyName(), group.getDisplayName(), server, world); break; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/log/subcommands/LogRecent.java b/common/src/main/java/me/lucko/luckperms/common/commands/log/subcommands/LogRecent.java index c723cd8f0..b6034899a 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/log/subcommands/LogRecent.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/log/subcommands/LogRecent.java @@ -97,7 +97,7 @@ public class LogRecent extends SubCommand { // User and possibly page final String s = args.get(0); - UUID u = null; + UUID u; u = Util.parseUuid(s); if (u == null) { diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/migration/MigrationMainCommand.java b/common/src/main/java/me/lucko/luckperms/common/commands/migration/MigrationMainCommand.java index 3f511b511..ab63672db 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/migration/MigrationMainCommand.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/migration/MigrationMainCommand.java @@ -101,7 +101,7 @@ public class MigrationMainCommand extends MainCommand { super("Migration", "Migration commands", "/%s migration", 1, null); } - @SuppressWarnings("deprecation") + @SuppressWarnings({"deprecation", "DeprecatedIsStillUsed"}) @Deprecated @Override public synchronized Optional>> getChildren() { diff --git a/common/src/main/java/me/lucko/luckperms/common/constants/Patterns.java b/common/src/main/java/me/lucko/luckperms/common/constants/Patterns.java index 3d17fb9ab..e0138afa1 100644 --- a/common/src/main/java/me/lucko/luckperms/common/constants/Patterns.java +++ b/common/src/main/java/me/lucko/luckperms/common/constants/Patterns.java @@ -27,10 +27,12 @@ import lombok.experimental.UtilityClass; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; +import com.google.common.collect.Maps; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.UncheckedExecutionException; +import java.util.Map; import java.util.concurrent.ExecutionException; import java.util.regex.Pattern; @@ -49,11 +51,18 @@ public class Patterns { } }); + private static final LoadingCache, String> DELIMITER_CACHE = CacheBuilder.newBuilder() + .build(new CacheLoader, String>() { + @Override + public String load(Map.Entry e) { + return "(? optServer; + private final Optional optWorld; + private final boolean isGroup; private String groupName; @@ -248,6 +256,8 @@ public class ImmutableNode implements Node { } this.fullContexts = fullContexts.makeImmutable(); + this.optServer = Optional.ofNullable(this.server); + this.optWorld = Optional.ofNullable(this.world); } @Override @@ -262,12 +272,12 @@ public class ImmutableNode implements Node { @Override public Optional getServer() { - return Optional.ofNullable(server); + return optServer; } @Override public Optional getWorld() { - return Optional.ofNullable(world); + return optWorld; } @Override @@ -532,11 +542,7 @@ public class ImmutableNode implements Node { return false; } - if (!other.getContexts().equals(this.getContexts())) { - return false; - } - - return true; + return other.getContexts().equals(this.getContexts()); } @Override @@ -569,11 +575,7 @@ public class ImmutableNode implements Node { return false; } - if (!other.getContexts().equals(this.getContexts())) { - return false; - } - - return true; + return other.getContexts().equals(this.getContexts()); } @Override @@ -602,11 +604,7 @@ public class ImmutableNode implements Node { return false; } - if (!other.getContexts().equals(this.getContexts())) { - return false; - } - - return true; + return other.getContexts().equals(this.getContexts()); } @Override diff --git a/common/src/main/java/me/lucko/luckperms/common/core/model/PermissionHolder.java b/common/src/main/java/me/lucko/luckperms/common/core/model/PermissionHolder.java index febbf0957..950678db5 100644 --- a/common/src/main/java/me/lucko/luckperms/common/core/model/PermissionHolder.java +++ b/common/src/main/java/me/lucko/luckperms/common/core/model/PermissionHolder.java @@ -49,7 +49,6 @@ import me.lucko.luckperms.common.caching.holder.GetAllNodesRequest; import me.lucko.luckperms.common.commands.utils.Util; import me.lucko.luckperms.common.config.ConfigKeys; import me.lucko.luckperms.common.core.InheritanceInfo; -import me.lucko.luckperms.common.core.NodeBuilder; import me.lucko.luckperms.common.core.NodeFactory; import me.lucko.luckperms.common.core.PriorityComparator; import me.lucko.luckperms.common.core.TemporaryModifier; @@ -227,14 +226,14 @@ public abstract class PermissionHolder { Set enduring = getNodes(); if (!enduring.isEmpty()) { combined.addAll(enduring.stream() - .map(n -> makeLocal(n, getObjectName())) + .map(n -> ImmutableLocalizedNode.of(n, getObjectName())) .collect(Collectors.toList()) ); } Set tran = getTransientNodes(); if (!tran.isEmpty()) { combined.addAll(tran.stream() - .map(n -> makeLocal(n, getObjectName())) + .map(n -> ImmutableLocalizedNode.of(n, getObjectName())) .collect(Collectors.toList()) ); } @@ -386,7 +385,7 @@ public abstract class PermissionHolder { public void setNodes(Map nodes) { Set set = nodes.entrySet().stream() - .map(e -> makeNode(e.getKey(), e.getValue())) + .map(e -> NodeFactory.fromSerialisedNode(e.getKey(), e.getValue())) .collect(Collectors.toSet()); setNodes(set); @@ -606,39 +605,39 @@ public abstract class PermissionHolder { * Check if the holder has a permission node * * @param node the node to check - * @param t whether to check transient nodes + * @param checkTransient whether to check transient nodes * @return a tristate */ - public Tristate hasPermission(Node node, boolean t) { - return getAlmostEquals(node, t).map(Node::getTristate).orElse(Tristate.UNDEFINED); + public Tristate hasPermission(Node node, boolean checkTransient) { + return getAlmostEquals(node, checkTransient).map(Node::getTristate).orElse(Tristate.UNDEFINED); } public Tristate hasPermission(Node node) { return hasPermission(node, false); } - public boolean hasPermission(String node, boolean b) { - return hasPermission(buildNode(node).setValue(b).build()).asBoolean() == b; + public boolean hasPermission(String node, boolean value) { + return hasPermission(NodeFactory.make(node, value)).asBoolean() == value; } - public boolean hasPermission(String node, boolean b, String server) { - return hasPermission(buildNode(node).setValue(b).setServer(server).build()).asBoolean() == b; + public boolean hasPermission(String node, boolean value, String server) { + return hasPermission(NodeFactory.make(node, value, server)).asBoolean() == value; } - public boolean hasPermission(String node, boolean b, String server, String world) { - return hasPermission(buildNode(node).setValue(b).setServer(server).setWorld(world).build()).asBoolean() == b; + public boolean hasPermission(String node, boolean value, String server, String world) { + return hasPermission(NodeFactory.make(node, value, server, world)).asBoolean() == value; } - public boolean hasPermission(String node, boolean b, boolean temporary) { - return hasPermission(buildNode(node).setValue(b).setExpiry(temporary ? 10L : 0L).build()).asBoolean() == b; + public boolean hasPermission(String node, boolean value, boolean temporary) { + return hasPermission(NodeFactory.make(node, value, temporary)).asBoolean() == value; } - public boolean hasPermission(String node, boolean b, String server, boolean temporary) { - return hasPermission(buildNode(node).setValue(b).setServer(server).setExpiry(temporary ? 10L : 0L).build()).asBoolean() == b; + public boolean hasPermission(String node, boolean value, String server, boolean temporary) { + return hasPermission(NodeFactory.make(node, value, server, temporary)).asBoolean() == value; } - public boolean hasPermission(String node, boolean b, String server, String world, boolean temporary) { - return hasPermission(buildNode(node).setValue(b).setServer(server).setWorld(world).setExpiry(temporary ? 10L : 0L).build()).asBoolean() == b; + public boolean hasPermission(String node, boolean value, String server, String world, boolean temporary) { + return hasPermission(NodeFactory.make(node, value, server, world, temporary)).asBoolean() == value; } /** @@ -667,28 +666,28 @@ public abstract class PermissionHolder { return inheritsPermissionInfo(node).getResult(); } - public boolean inheritsPermission(String node, boolean b) { - return inheritsPermission(buildNode(node).setValue(b).build()).asBoolean() == b; + public boolean inheritsPermission(String node, boolean value) { + return inheritsPermission(NodeFactory.make(node, value)).asBoolean() == value; } - public boolean inheritsPermission(String node, boolean b, String server) { - return inheritsPermission(buildNode(node).setValue(b).setServer(server).build()).asBoolean() == b; + public boolean inheritsPermission(String node, boolean value, String server) { + return inheritsPermission(NodeFactory.make(node, value, server)).asBoolean() == value; } - public boolean inheritsPermission(String node, boolean b, String server, String world) { - return inheritsPermission(buildNode(node).setValue(b).setServer(server).setWorld(world).build()).asBoolean() == b; + public boolean inheritsPermission(String node, boolean value, String server, String world) { + return inheritsPermission(NodeFactory.make(node, value, server, world)).asBoolean() == value; } - public boolean inheritsPermission(String node, boolean b, boolean temporary) { - return inheritsPermission(buildNode(node).setValue(b).setExpiry(temporary ? 10L : 0L).build()).asBoolean() == b; + public boolean inheritsPermission(String node, boolean value, boolean temporary) { + return inheritsPermission(NodeFactory.make(node, value, temporary)).asBoolean() == value; } - public boolean inheritsPermission(String node, boolean b, String server, boolean temporary) { - return inheritsPermission(buildNode(node).setValue(b).setServer(server).setExpiry(temporary ? 10L : 0L).build()).asBoolean() == b; + public boolean inheritsPermission(String node, boolean value, String server, boolean temporary) { + return inheritsPermission(NodeFactory.make(node, value, server, temporary)).asBoolean() == value; } - public boolean inheritsPermission(String node, boolean b, String server, String world, boolean temporary) { - return inheritsPermission(buildNode(node).setValue(b).setServer(server).setWorld(world).setExpiry(temporary ? 10L : 0L).build()).asBoolean() == b; + public boolean inheritsPermission(String node, boolean value, String server, String world, boolean temporary) { + return inheritsPermission(NodeFactory.make(node, value, server, world, temporary)).asBoolean() == value; } /** @@ -825,27 +824,27 @@ public abstract class PermissionHolder { } public void setPermission(String node, boolean value) throws ObjectAlreadyHasException { - setPermission(buildNode(node).setValue(value).build()); + setPermission(NodeFactory.make(node, value)); } public void setPermission(String node, boolean value, String server) throws ObjectAlreadyHasException { - setPermission(buildNode(node).setValue(value).setServer(server).build()); + setPermission(NodeFactory.make(node, value, server)); } public void setPermission(String node, boolean value, String server, String world) throws ObjectAlreadyHasException { - setPermission(buildNode(node).setValue(value).setServer(server).setWorld(world).build()); + setPermission(NodeFactory.make(node, value, server, world)); } public void setPermission(String node, boolean value, long expireAt) throws ObjectAlreadyHasException { - setPermission(buildNode(node).setValue(value).setExpiry(expireAt).build()); + setPermission(NodeFactory.make(node, value, expireAt)); } public void setPermission(String node, boolean value, String server, long expireAt) throws ObjectAlreadyHasException { - setPermission(buildNode(node).setValue(value).setServer(server).setExpiry(expireAt).build()); + setPermission(NodeFactory.make(node, value, server, expireAt)); } public void setPermission(String node, boolean value, String server, String world, long expireAt) throws ObjectAlreadyHasException { - setPermission(buildNode(node).setValue(value).setServer(server).setWorld(world).setExpiry(expireAt).build()); + setPermission(NodeFactory.make(node, value, server, world, expireAt)); } /** @@ -905,27 +904,27 @@ public abstract class PermissionHolder { } public void unsetPermission(String node, boolean temporary) throws ObjectLacksException { - unsetPermission(buildNode(node).setExpiry(temporary ? 10L : 0L).build()); + unsetPermission(NodeFactory.make(node, temporary)); } public void unsetPermission(String node) throws ObjectLacksException { - unsetPermission(buildNode(node).build()); + unsetPermission(NodeFactory.make(node)); } public void unsetPermission(String node, String server) throws ObjectLacksException { - unsetPermission(buildNode(node).setServer(server).build()); + unsetPermission(NodeFactory.make(node, server)); } public void unsetPermission(String node, String server, String world) throws ObjectLacksException { - unsetPermission(buildNode(node).setServer(server).setWorld(world).build()); + unsetPermission(NodeFactory.make(node, server, world)); } public void unsetPermission(String node, String server, boolean temporary) throws ObjectLacksException { - unsetPermission(buildNode(node).setServer(server).setExpiry(temporary ? 10L : 0L).build()); + unsetPermission(NodeFactory.make(node, server, temporary)); } public void unsetPermission(String node, String server, String world, boolean temporary) throws ObjectLacksException { - unsetPermission(buildNode(node).setServer(server).setWorld(world).setExpiry(temporary ? 10L : 0L).build()); + unsetPermission(NodeFactory.make(node, server, world, temporary)); } public boolean inheritsGroup(Group group) { @@ -1315,16 +1314,4 @@ public abstract class PermissionHolder { } return m; } - - private static Node.Builder buildNode(String permission) { - return new NodeBuilder(permission); - } - - private static ImmutableLocalizedNode makeLocal(Node node, String location) { - return ImmutableLocalizedNode.of(node, location); - } - - private static Node makeNode(String s, Boolean b) { - return NodeFactory.fromSerialisedNode(s, b); - } } diff --git a/common/src/main/java/me/lucko/luckperms/common/defaults/Rule.java b/common/src/main/java/me/lucko/luckperms/common/defaults/Rule.java index a9755ec34..d23929191 100644 --- a/common/src/main/java/me/lucko/luckperms/common/defaults/Rule.java +++ b/common/src/main/java/me/lucko/luckperms/common/defaults/Rule.java @@ -29,8 +29,6 @@ import lombok.ToString; import me.lucko.luckperms.api.Tristate; import me.lucko.luckperms.common.core.NodeFactory; import me.lucko.luckperms.common.core.model.User; -import me.lucko.luckperms.exceptions.ObjectAlreadyHasException; -import me.lucko.luckperms.exceptions.ObjectLacksException; import java.util.List; @@ -91,17 +89,11 @@ public class Rule { // The holder meets all of the requirements of this rule. for (String s : toTake) { - try { - user.unsetPermission(NodeFactory.fromSerialisedNode(s, true)); - } catch (ObjectLacksException ignored) { - } + user.unsetPermissionUnchecked(NodeFactory.fromSerialisedNode(s, true)); } for (String s : toGive) { - try { - user.setPermission(NodeFactory.fromSerialisedNode(s, true)); - } catch (ObjectAlreadyHasException ignored) { - } + user.setPermissionUnchecked(NodeFactory.fromSerialisedNode(s, true)); } if (setPrimaryGroup != null) { diff --git a/common/src/main/java/me/lucko/luckperms/common/event/LuckPermsEventHandler.java b/common/src/main/java/me/lucko/luckperms/common/event/LuckPermsEventHandler.java index d6a07c244..43840477f 100644 --- a/common/src/main/java/me/lucko/luckperms/common/event/LuckPermsEventHandler.java +++ b/common/src/main/java/me/lucko/luckperms/common/event/LuckPermsEventHandler.java @@ -66,6 +66,7 @@ public class LuckPermsEventHandler implements EventHan return callCount.get(); } + @SuppressWarnings("unchecked") // we know that this method will never be called if the class doesn't match eventClass void handle(LuckPermsEvent event) { try { T t = (T) event; diff --git a/common/src/main/java/me/lucko/luckperms/common/managers/impl/GenericUserManager.java b/common/src/main/java/me/lucko/luckperms/common/managers/impl/GenericUserManager.java index 51c7154a9..8b53fb7b7 100644 --- a/common/src/main/java/me/lucko/luckperms/common/managers/impl/GenericUserManager.java +++ b/common/src/main/java/me/lucko/luckperms/common/managers/impl/GenericUserManager.java @@ -92,11 +92,8 @@ public class GenericUserManager extends AbstractManager im } } - if (!user.getPrimaryGroup().equalsIgnoreCase("default")) { - return true; // Not in the default primary group - } - - return false; + // Not in the default primary group + return !user.getPrimaryGroup().equalsIgnoreCase("default"); } private final LuckPermsPlugin plugin; diff --git a/common/src/main/java/me/lucko/luckperms/common/utils/BufferedRequest.java b/common/src/main/java/me/lucko/luckperms/common/utils/BufferedRequest.java index 137ca91f5..6e9cfa1f1 100644 --- a/common/src/main/java/me/lucko/luckperms/common/utils/BufferedRequest.java +++ b/common/src/main/java/me/lucko/luckperms/common/utils/BufferedRequest.java @@ -78,7 +78,7 @@ public abstract class BufferedRequest { private final long delayMillis; private final Supplier supplier; private final ReentrantLock lock = new ReentrantLock(); - private final CompletableFuture future = new CompletableFuture(); + private final CompletableFuture future = new CompletableFuture<>(); @Getter private boolean usable = true; private long executionTime; diff --git a/common/src/main/java/me/lucko/luckperms/common/utils/Predicates.java b/common/src/main/java/me/lucko/luckperms/common/utils/Predicates.java index adf43d84d..7301ae664 100644 --- a/common/src/main/java/me/lucko/luckperms/common/utils/Predicates.java +++ b/common/src/main/java/me/lucko/luckperms/common/utils/Predicates.java @@ -38,10 +38,12 @@ public class Predicates { private static final Predicate FALSE = o -> false; private static final Predicate TRUE = o -> true; + @SuppressWarnings("unchecked") public static Predicate alwaysFalse() { return FALSE; } + @SuppressWarnings("unchecked") public static Predicate alwaysTrue() { return TRUE; } diff --git a/sponge/src/main/java/me/lucko/luckperms/sponge/messaging/BungeeMessagingService.java b/sponge/src/main/java/me/lucko/luckperms/sponge/messaging/BungeeMessagingService.java index 79338db58..477eeb96f 100644 --- a/sponge/src/main/java/me/lucko/luckperms/sponge/messaging/BungeeMessagingService.java +++ b/sponge/src/main/java/me/lucko/luckperms/sponge/messaging/BungeeMessagingService.java @@ -65,11 +65,11 @@ public class BungeeMessagingService extends AbstractMessagingService implements protected void sendMessage(String channel, String message) { plugin.getSpongeScheduler().createTaskBuilder().interval(10, TimeUnit.SECONDS).execute(task -> { Collection players = plugin.getGame().getServer().getOnlinePlayers(); - if (players.isEmpty()) { + Player p = Iterables.getFirst(players, null); + if (p == null) { return; } - Player p = Iterables.getFirst(players, null); this.channel.sendTo(p, buf -> buf.writeUTF(message)); task.cancel();