diff --git a/api/src/main/java/me/lucko/luckperms/api/ChatMetaType.java b/api/src/main/java/me/lucko/luckperms/api/ChatMetaType.java index b62b81d3..cdcabc98 100644 --- a/api/src/main/java/me/lucko/luckperms/api/ChatMetaType.java +++ b/api/src/main/java/me/lucko/luckperms/api/ChatMetaType.java @@ -42,17 +42,12 @@ public enum ChatMetaType { /** * Represents a prefix */ - PREFIX { + PREFIX("prefix") { @Override public boolean matches(@Nonnull Node node) { return Preconditions.checkNotNull(node, "node").isPrefix(); } - @Override - public boolean shouldIgnore(@Nonnull Node node) { - return !Preconditions.checkNotNull(node, "node").isPrefix(); - } - @Nonnull @Override public Map.Entry getEntry(@Nonnull Node node) { @@ -63,17 +58,12 @@ public enum ChatMetaType { /** * Represents a suffix */ - SUFFIX { + SUFFIX("suffix") { @Override public boolean matches(@Nonnull Node node) { return Preconditions.checkNotNull(node, "node").isSuffix(); } - @Override - public boolean shouldIgnore(@Nonnull Node node) { - return !Preconditions.checkNotNull(node, "node").isSuffix(); - } - @Nonnull @Override public Map.Entry getEntry(@Nonnull Node node) { @@ -81,6 +71,12 @@ public enum ChatMetaType { } }; + private final String str; + + ChatMetaType(String str) { + this.str = str; + } + /** * Returns if the passed node matches the type * @@ -95,7 +91,9 @@ public enum ChatMetaType { * @param node the node to test * @return true if the node does not share the same type */ - public abstract boolean shouldIgnore(@Nonnull Node node); + public boolean shouldIgnore(@Nonnull Node node) { + return !matches(node); + } /** * Maps the corresponding entry from the given node @@ -107,6 +105,11 @@ public enum ChatMetaType { @Nonnull public abstract Map.Entry getEntry(@Nonnull Node node); + @Override + public String toString() { + return str; + } + /** * Parses a ChatMetaType from the given node. * diff --git a/api/src/main/java/me/lucko/luckperms/api/Tristate.java b/api/src/main/java/me/lucko/luckperms/api/Tristate.java index 34016e6f..e5644007 100644 --- a/api/src/main/java/me/lucko/luckperms/api/Tristate.java +++ b/api/src/main/java/me/lucko/luckperms/api/Tristate.java @@ -59,13 +59,29 @@ public enum Tristate { * Returns a {@link Tristate} from a boolean * * @param val the boolean value - * @return {@link #TRUE} or {@link #FALSE}, depending on the value of the boolean. + * @return {@link #TRUE} or {@link #FALSE}, if the value is true or false, respectively. */ @Nonnull public static Tristate fromBoolean(boolean val) { return val ? TRUE : FALSE; } + /** + * Returns a {@link Tristate} from a nullable boolean. + * + *

Unlike {@link #fromBoolean(boolean)}, this method returns {@link #UNDEFINED} + * if the value is null.

+ * + * @param val the boolean value + * @return {@link #UNDEFINED}, {@link #TRUE} or {@link #FALSE}, if the value + * is null, true or false, respectively. + * @since 4.1 + */ + @Nonnull + public static Tristate fromNullableBoolean(Boolean val) { + return val == null ? UNDEFINED : val ? TRUE : FALSE; + } + private final boolean booleanValue; Tristate(boolean booleanValue) { diff --git a/bukkit/src/main/java/me/lucko/luckperms/bukkit/BukkitSenderFactory.java b/bukkit/src/main/java/me/lucko/luckperms/bukkit/BukkitSenderFactory.java index 0e230b15..429170f7 100644 --- a/bukkit/src/main/java/me/lucko/luckperms/bukkit/BukkitSenderFactory.java +++ b/bukkit/src/main/java/me/lucko/luckperms/bukkit/BukkitSenderFactory.java @@ -31,8 +31,8 @@ import me.lucko.luckperms.api.Tristate; import me.lucko.luckperms.bukkit.compat.BukkitJsonMessageHandler; import me.lucko.luckperms.bukkit.compat.ReflectionUtil; import me.lucko.luckperms.bukkit.compat.SpigotJsonMessageHandler; +import me.lucko.luckperms.common.commands.CommandManager; import me.lucko.luckperms.common.commands.sender.SenderFactory; -import me.lucko.luckperms.common.constants.Constants; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; import me.lucko.luckperms.common.utils.TextUtils; @@ -60,7 +60,7 @@ public class BukkitSenderFactory extends SenderFactory { if (sender instanceof Player) { return sender.getName(); } - return Constants.CONSOLE_NAME; + return CommandManager.CONSOLE_NAME; } @Override @@ -68,7 +68,7 @@ public class BukkitSenderFactory extends SenderFactory { if (sender instanceof Player) { return ((Player) sender).getUniqueId(); } - return Constants.CONSOLE_UUID; + return CommandManager.CONSOLE_UUID; } @Override 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 7e5379ab..6a45d3b6 100644 --- a/bukkit/src/main/java/me/lucko/luckperms/bukkit/LPBukkitPlugin.java +++ b/bukkit/src/main/java/me/lucko/luckperms/bukkit/LPBukkitPlugin.java @@ -50,11 +50,11 @@ import me.lucko.luckperms.common.buffers.BufferedRequest; import me.lucko.luckperms.common.buffers.UpdateTaskBuffer; import me.lucko.luckperms.common.caching.handlers.CachedStateManager; import me.lucko.luckperms.common.calculators.CalculatorFactory; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.config.AbstractConfiguration; import me.lucko.luckperms.common.config.ConfigKeys; import me.lucko.luckperms.common.config.LuckPermsConfiguration; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.contexts.ContextManager; import me.lucko.luckperms.common.contexts.LuckPermsCalculator; import me.lucko.luckperms.common.dependencies.Dependency; diff --git a/bukkit/src/main/java/me/lucko/luckperms/bukkit/contexts/WorldCalculator.java b/bukkit/src/main/java/me/lucko/luckperms/bukkit/contexts/WorldCalculator.java index 4084b066..5c952dc6 100644 --- a/bukkit/src/main/java/me/lucko/luckperms/bukkit/contexts/WorldCalculator.java +++ b/bukkit/src/main/java/me/lucko/luckperms/bukkit/contexts/WorldCalculator.java @@ -27,6 +27,7 @@ package me.lucko.luckperms.bukkit.contexts; import lombok.RequiredArgsConstructor; +import me.lucko.luckperms.api.Contexts; import me.lucko.luckperms.api.context.ContextCalculator; import me.lucko.luckperms.api.context.MutableContextSet; import me.lucko.luckperms.common.config.ConfigKeys; @@ -36,15 +37,13 @@ import org.bukkit.entity.Player; @RequiredArgsConstructor public class WorldCalculator implements ContextCalculator { - private static final String WORLD_KEY = "world"; - private final LuckPermsPlugin plugin; @Override public MutableContextSet giveApplicableContext(Player subject, MutableContextSet accumulator) { String world = subject.getWorld().getName().toLowerCase(); - while (!accumulator.has(WORLD_KEY, world)) { - accumulator.add(WORLD_KEY, world); + while (!accumulator.has(Contexts.WORLD_KEY, world)) { + accumulator.add(Contexts.WORLD_KEY, world); world = plugin.getConfiguration().get(ConfigKeys.WORLD_REWRITES).getOrDefault(world, world).toLowerCase(); } diff --git a/bukkit/src/main/java/me/lucko/luckperms/bukkit/migration/MigrationBPermissions.java b/bukkit/src/main/java/me/lucko/luckperms/bukkit/migration/MigrationBPermissions.java index 195468d1..1ac5e536 100644 --- a/bukkit/src/main/java/me/lucko/luckperms/bukkit/migration/MigrationBPermissions.java +++ b/bukkit/src/main/java/me/lucko/luckperms/bukkit/migration/MigrationBPermissions.java @@ -59,7 +59,7 @@ import java.util.Set; import java.util.UUID; import java.util.concurrent.atomic.AtomicInteger; -import static me.lucko.luckperms.common.constants.CommandPermission.MIGRATION; +import static me.lucko.luckperms.common.commands.CommandPermission.MIGRATION; public class MigrationBPermissions extends SubCommand { private static Field uConfigField; @@ -135,7 +135,7 @@ public class MigrationBPermissions extends SubCommand { SafeIterator.iterate(world.getAll(CalculableType.GROUP), group -> { String groupName = MigrationUtils.standardizeName(group.getName()); if (group.getName().equalsIgnoreCase(world.getDefaultGroup())) { - groupName = "default"; + groupName = NodeFactory.DEFAULT_GROUP_NAME; } // Make a LuckPerms group for the one being migrated. @@ -203,10 +203,10 @@ public class MigrationBPermissions extends SubCommand { for (Group parent : c.getGroups()) { String parentName = MigrationUtils.standardizeName(parent.getName()); if (parent.getName().equalsIgnoreCase(world.getDefaultGroup())) { - parentName = "default"; + parentName = NodeFactory.DEFAULT_GROUP_NAME; } - holder.setPermission(NodeFactory.make("group." + parentName, true, "global", world.getName())); + holder.setPermission(NodeFactory.make(NodeFactory.groupNode(parentName), true, "global", world.getName())); } // Migrate existing meta @@ -215,13 +215,13 @@ public class MigrationBPermissions extends SubCommand { continue; } - if (meta.getKey().equalsIgnoreCase("prefix") || meta.getKey().equalsIgnoreCase("suffix")) { + if (meta.getKey().equalsIgnoreCase(NodeFactory.PREFIX_KEY) || meta.getKey().equalsIgnoreCase(NodeFactory.SUFFIX_KEY)) { ChatMetaType type = ChatMetaType.valueOf(meta.getKey().toUpperCase()); - holder.setPermission(NodeFactory.makeChatMetaNode(type, c.getPriority(), meta.getValue()).setWorld(world.getName()).build()); + holder.setPermission(NodeFactory.buildChatMetaNode(type, c.getPriority(), meta.getValue()).setWorld(world.getName()).build()); continue; } - holder.setPermission(NodeFactory.makeMetaNode(meta.getKey(), meta.getValue()).setWorld(world.getName()).build()); + holder.setPermission(NodeFactory.buildMetaNode(meta.getKey(), meta.getValue()).setWorld(world.getName()).build()); } } } diff --git a/bukkit/src/main/java/me/lucko/luckperms/bukkit/migration/MigrationGroupManager.java b/bukkit/src/main/java/me/lucko/luckperms/bukkit/migration/MigrationGroupManager.java index 72e09263..a521a772 100644 --- a/bukkit/src/main/java/me/lucko/luckperms/bukkit/migration/MigrationGroupManager.java +++ b/bukkit/src/main/java/me/lucko/luckperms/bukkit/migration/MigrationGroupManager.java @@ -29,11 +29,11 @@ import me.lucko.luckperms.api.ChatMetaType; import me.lucko.luckperms.api.Node; import me.lucko.luckperms.api.event.cause.CreationCause; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.impl.migration.MigrationUtils; import me.lucko.luckperms.common.commands.sender.Sender; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.logging.ProgressLogger; @@ -104,7 +104,7 @@ public class MigrationGroupManager extends SubCommand { } for (String s : g.getInherits()) { if (s.isEmpty()) continue; - group.setPermission(NodeFactory.make("group." + MigrationUtils.standardizeName(s))); + group.setPermission(NodeFactory.make(NodeFactory.groupNode(MigrationUtils.standardizeName(s)))); } plugin.getStorage().saveGroup(group); @@ -138,7 +138,7 @@ public class MigrationGroupManager extends SubCommand { } for (String s : group.getInherits()) { if (s.isEmpty()) continue; - groups.get(groupName).add(NodeFactory.make("group." + MigrationUtils.standardizeName(s), true, null, worldMappingFunc.apply(world))); + groups.get(groupName).add(NodeFactory.make(NodeFactory.groupNode(MigrationUtils.standardizeName(s)), true, null, worldMappingFunc.apply(world))); } String[] metaKeys = group.getVariables().getVarKeyList(); @@ -148,11 +148,11 @@ public class MigrationGroupManager extends SubCommand { if (key.isEmpty() || value.isEmpty()) continue; if (key.equals("build")) continue; - if (key.equals("prefix") || key.equals("suffix")) { + if (key.equals(NodeFactory.PREFIX_KEY) || key.equals(NodeFactory.SUFFIX_KEY)) { ChatMetaType type = ChatMetaType.valueOf(key.toUpperCase()); - groups.get(groupName).add(NodeFactory.makeChatMetaNode(type, 50, value).setWorld(worldMappingFunc.apply(world)).build()); + groups.get(groupName).add(NodeFactory.buildChatMetaNode(type, 50, value).setWorld(worldMappingFunc.apply(world)).build()); } else { - groups.get(groupName).add(NodeFactory.makeMetaNode(key, value).setWorld(worldMappingFunc.apply(world)).build()); + groups.get(groupName).add(NodeFactory.buildMetaNode(key, value).setWorld(worldMappingFunc.apply(world)).build()); } } @@ -178,7 +178,7 @@ public class MigrationGroupManager extends SubCommand { String finalWorld = worldMappingFunc.apply(world); users.get(uuid).addAll(user.subGroupListStringCopy().stream() .filter(n -> !n.isEmpty()) - .map(n -> "group." + MigrationUtils.standardizeName(n)) + .map(n -> NodeFactory.groupNode(MigrationUtils.standardizeName(n))) .map(n -> NodeFactory.make(n, true, null, finalWorld)) .collect(Collectors.toSet()) ); @@ -193,11 +193,11 @@ public class MigrationGroupManager extends SubCommand { if (key.isEmpty() || value.isEmpty()) continue; if (key.equals("build")) continue; - if (key.equals("prefix") || key.equals("suffix")) { + if (key.equals(NodeFactory.PREFIX_KEY) || key.equals(NodeFactory.SUFFIX_KEY)) { ChatMetaType type = ChatMetaType.valueOf(key.toUpperCase()); - users.get(uuid).add(NodeFactory.makeChatMetaNode(type, 100, value).setWorld(worldMappingFunc.apply(world)).build()); + users.get(uuid).add(NodeFactory.buildChatMetaNode(type, 100, value).setWorld(worldMappingFunc.apply(world)).build()); } else { - users.get(uuid).add(NodeFactory.makeMetaNode(key, value).setWorld(worldMappingFunc.apply(world)).build()); + users.get(uuid).add(NodeFactory.buildMetaNode(key, value).setWorld(worldMappingFunc.apply(world)).build()); } } @@ -236,9 +236,9 @@ public class MigrationGroupManager extends SubCommand { String primaryGroup = primaryGroups.get(e.getKey()); if (primaryGroup != null && !primaryGroup.isEmpty()) { - user.setPermission(NodeFactory.make("group." + primaryGroup)); + user.setPermission(NodeFactory.buildGroupNode(primaryGroup).build()); user.getPrimaryGroup().setStoredValue(primaryGroup); - user.unsetPermission(NodeFactory.make("group.default")); + user.unsetPermission(NodeFactory.buildGroupNode(NodeFactory.DEFAULT_GROUP_NAME).build()); } plugin.getStorage().saveUser(user); diff --git a/bukkit/src/main/java/me/lucko/luckperms/bukkit/migration/MigrationPermissionsEx.java b/bukkit/src/main/java/me/lucko/luckperms/bukkit/migration/MigrationPermissionsEx.java index 4440a2de..1bb534f1 100644 --- a/bukkit/src/main/java/me/lucko/luckperms/bukkit/migration/MigrationPermissionsEx.java +++ b/bukkit/src/main/java/me/lucko/luckperms/bukkit/migration/MigrationPermissionsEx.java @@ -27,11 +27,11 @@ package me.lucko.luckperms.bukkit.migration; import me.lucko.luckperms.api.event.cause.CreationCause; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.impl.migration.MigrationUtils; import me.lucko.luckperms.common.commands.sender.Sender; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.logging.ProgressLogger; @@ -162,10 +162,10 @@ public class MigrationPermissionsEx extends SubCommand { } } - if (primary != null && !primary.isEmpty() && !primary.equalsIgnoreCase("default")) { - lpUser.setPermission(NodeFactory.make("group." + primary.toLowerCase())); + if (primary != null && !primary.isEmpty() && !primary.equalsIgnoreCase(NodeFactory.DEFAULT_GROUP_NAME)) { + lpUser.setPermission(NodeFactory.buildGroupNode(primary.toLowerCase()).build()); lpUser.getPrimaryGroup().setStoredValue(primary); - lpUser.unsetPermission(NodeFactory.make("group.default")); + lpUser.unsetPermission(NodeFactory.buildGroupNode(NodeFactory.DEFAULT_GROUP_NAME).build()); } plugin.getUserManager().cleanup(lpUser); @@ -208,7 +208,7 @@ public class MigrationPermissionsEx extends SubCommand { } for (PermissionGroup parent : worldData.getValue()) { - holder.setPermission(NodeFactory.newBuilder("group." + MigrationUtils.standardizeName(parent.getName())).setWorld(world).build()); + holder.setPermission(NodeFactory.buildGroupNode(MigrationUtils.standardizeName(parent.getName())).setWorld(world).build()); } } @@ -217,11 +217,11 @@ public class MigrationPermissionsEx extends SubCommand { String suffix = entity.getOwnSuffix(); if (prefix != null && !prefix.isEmpty()) { - holder.setPermission(NodeFactory.makePrefixNode(weight, prefix).build()); + holder.setPermission(NodeFactory.buildPrefixNode(weight, prefix).build()); } if (suffix != null && !suffix.isEmpty()) { - holder.setPermission(NodeFactory.makeSuffixNode(weight, suffix).build()); + holder.setPermission(NodeFactory.buildSuffixNode(weight, suffix).build()); } // migrate options @@ -241,11 +241,11 @@ public class MigrationPermissionsEx extends SubCommand { } String key = opt.getKey().toLowerCase(); - if (key.equals("prefix") || key.equals("suffix") || key.equals("weight") || key.equals("rank") || key.equals("rank-ladder") || key.equals("name") || key.equals("username")) { + if (key.equals(NodeFactory.PREFIX_KEY) || key.equals(NodeFactory.SUFFIX_KEY) || key.equals(NodeFactory.WEIGHT_KEY) || key.equals("rank") || key.equals("rank-ladder") || key.equals("name") || key.equals("username")) { continue; } - holder.setPermission(NodeFactory.makeMetaNode(opt.getKey(), opt.getValue()).setWorld(world).build()); + holder.setPermission(NodeFactory.buildMetaNode(opt.getKey(), opt.getValue()).setWorld(world).build()); } } } 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 c1aea69b..1fb6b04e 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 @@ -68,7 +68,7 @@ import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; import java.util.concurrent.atomic.AtomicInteger; -import static me.lucko.luckperms.common.constants.CommandPermission.MIGRATION; +import static me.lucko.luckperms.common.commands.CommandPermission.MIGRATION; // Only supports the latest versions of the PP API. (it seems to change randomly almost every release) public class MigrationPowerfulPerms extends SubCommand { @@ -173,7 +173,7 @@ public class MigrationPowerfulPerms extends SubCommand { } for (Group parent : g.getParents()) { - group.setPermission(NodeFactory.make("group." + parent.getName().toLowerCase(), true)); + group.setPermission(NodeFactory.buildGroupNode(parent.getName().toLowerCase()).build()); } // server --> prefix afaik @@ -186,9 +186,9 @@ public class MigrationPowerfulPerms extends SubCommand { } if (server != null) { - group.setPermission(NodeFactory.makePrefixNode(g.getRank(), prefix.getValue()).setServer(server).build()); + group.setPermission(NodeFactory.buildPrefixNode(g.getRank(), prefix.getValue()).setServer(server).build()); } else { - group.setPermission(NodeFactory.makePrefixNode(g.getRank(), prefix.getValue()).build()); + group.setPermission(NodeFactory.buildPrefixNode(g.getRank(), prefix.getValue()).build()); } } @@ -201,9 +201,9 @@ public class MigrationPowerfulPerms extends SubCommand { } if (server != null) { - group.setPermission(NodeFactory.makeSuffixNode(g.getRank(), suffix.getValue()).setServer(server).build()); + group.setPermission(NodeFactory.buildSuffixNode(g.getRank(), suffix.getValue()).setServer(server).build()); } else { - group.setPermission(NodeFactory.makeSuffixNode(g.getRank(), suffix.getValue()).build()); + group.setPermission(NodeFactory.buildSuffixNode(g.getRank(), suffix.getValue()).build()); } } @@ -249,18 +249,18 @@ public class MigrationPowerfulPerms extends SubCommand { String suffix = joinFuture(pm.getPlayerOwnSuffix(uuid)); if (prefix != null && !prefix.isEmpty()) { - user.setPermission(NodeFactory.makePrefixNode(maxWeight.get(), prefix).build()); + user.setPermission(NodeFactory.buildPrefixNode(maxWeight.get(), prefix).build()); } if (suffix != null && !suffix.isEmpty()) { - user.setPermission(NodeFactory.makeSuffixNode(maxWeight.get(), suffix).build()); + user.setPermission(NodeFactory.buildSuffixNode(maxWeight.get(), suffix).build()); } Group primaryGroup = joinFuture(pm.getPlayerPrimaryGroup(uuid)); if (primaryGroup != null && primaryGroup.getName() != null) { String primary = primaryGroup.getName().toLowerCase(); - if (!primary.equals("default")) { - user.setPermission(NodeFactory.make("group." + primary)); + if (!primary.equals(NodeFactory.DEFAULT_GROUP_NAME)) { + user.setPermission(NodeFactory.buildGroupNode(primary).build()); user.getPrimaryGroup().setStoredValue(primary); } } @@ -306,7 +306,7 @@ public class MigrationPowerfulPerms extends SubCommand { server = "global"; } - Node.Builder nb = NodeFactory.newBuilder(node).setValue(value); + Node.Builder nb = NodeFactory.builder(node).setValue(value); if (expireAt != 0) nb.setExpiry(expireAt); if (server != null) nb.setServer(server); if (world != null) nb.setWorld(world); @@ -316,14 +316,14 @@ public class MigrationPowerfulPerms extends SubCommand { private void applyGroup(PermissionManager pm, PermissionHolder holder, CachedGroup g, String server) { Group group = pm.getGroup(g.getGroupId()); - String node = "group." + MigrationUtils.standardizeName(group.getName()); + String node = NodeFactory.groupNode(MigrationUtils.standardizeName(group.getName())); long expireAt = 0L; if (g.willExpire()) { expireAt = g.getExpirationDate().getTime() / 1000L; } - Node.Builder nb = NodeFactory.newBuilder(node); + Node.Builder nb = NodeFactory.builder(node); if (expireAt != 0) { nb.setExpiry(expireAt); diff --git a/bukkit/src/main/java/me/lucko/luckperms/bukkit/migration/MigrationZPermissions.java b/bukkit/src/main/java/me/lucko/luckperms/bukkit/migration/MigrationZPermissions.java index 6b05ef9f..21cf9271 100644 --- a/bukkit/src/main/java/me/lucko/luckperms/bukkit/migration/MigrationZPermissions.java +++ b/bukkit/src/main/java/me/lucko/luckperms/bukkit/migration/MigrationZPermissions.java @@ -29,11 +29,11 @@ import me.lucko.luckperms.api.ChatMetaType; import me.lucko.luckperms.api.Node; import me.lucko.luckperms.api.event.cause.CreationCause; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.impl.migration.MigrationUtils; import me.lucko.luckperms.common.commands.sender.Sender; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.logging.ProgressLogger; @@ -125,10 +125,10 @@ public class MigrationZPermissions extends SubCommand { Set nodes = userParents.computeIfAbsent(uuid, u -> new HashSet<>()); if (membership.getExpiration() == null) { - nodes.add(NodeFactory.make("group." + groupName)); + nodes.add(NodeFactory.buildGroupNode(groupName).build()); } else { long expiry = membership.getExpiration().toInstant().getEpochSecond(); - nodes.add(NodeFactory.newBuilder("group." + groupName).setExpiry(expiry).build()); + nodes.add(NodeFactory.buildGroupNode(groupName).setExpiry(expiry).build()); } } @@ -199,9 +199,9 @@ public class MigrationZPermissions extends SubCommand { if (e.getPermission().isEmpty()) continue; if (e.getWorld() != null && !e.getWorld().getName().equals("")) { - holder.setPermission(NodeFactory.newBuilder(e.getPermission()).setValue(e.isValue()).setWorld(e.getWorld().getName()).build()); + holder.setPermission(NodeFactory.builder(e.getPermission()).setValue(e.isValue()).setWorld(e.getWorld().getName()).build()); } else { - holder.setPermission(NodeFactory.newBuilder(e.getPermission()).setValue(e.isValue()).build()); + holder.setPermission(NodeFactory.builder(e.getPermission()).setValue(e.isValue()).build()); } } @@ -209,7 +209,7 @@ public class MigrationZPermissions extends SubCommand { if (entity.isGroup()) { for (PermissionEntity inheritance : entity.getParents()) { if (!inheritance.getDisplayName().equals(holder.getObjectName())) { - holder.setPermission(NodeFactory.make("group." + MigrationUtils.standardizeName(inheritance.getDisplayName()))); + holder.setPermission(NodeFactory.buildGroupNode(MigrationUtils.standardizeName(inheritance.getDisplayName())).build()); } } } @@ -218,11 +218,11 @@ public class MigrationZPermissions extends SubCommand { String key = metadata.getName().toLowerCase(); if (key.isEmpty() || metadata.getStringValue().isEmpty()) continue; - if (key.equals("prefix") || key.equals("suffix")) { + if (key.equals(NodeFactory.PREFIX_KEY) || key.equals(NodeFactory.SUFFIX_KEY)) { ChatMetaType type = ChatMetaType.valueOf(key.toUpperCase()); - holder.setPermission(NodeFactory.makeChatMetaNode(type, weight, metadata.getStringValue()).build()); + holder.setPermission(NodeFactory.buildChatMetaNode(type, weight, metadata.getStringValue()).build()); } else { - holder.setPermission(NodeFactory.makeMetaNode(key, metadata.getStringValue()).build()); + holder.setPermission(NodeFactory.buildMetaNode(key, metadata.getStringValue()).build()); } } } diff --git a/bukkit/src/main/java/me/lucko/luckperms/bukkit/model/LPPermissionAttachment.java b/bukkit/src/main/java/me/lucko/luckperms/bukkit/model/LPPermissionAttachment.java index fb8391fc..06948677 100644 --- a/bukkit/src/main/java/me/lucko/luckperms/bukkit/model/LPPermissionAttachment.java +++ b/bukkit/src/main/java/me/lucko/luckperms/bukkit/model/LPPermissionAttachment.java @@ -159,7 +159,7 @@ public class LPPermissionAttachment extends PermissionAttachment { // construct a node for the permission being set // we use the servers static context to *try* to ensure that the node will apply - Node node = NodeFactory.newBuilder(name) + Node node = NodeFactory.builder(name) .setValue(value) .withExtraContext(permissible.getPlugin().getContextManager().getStaticContext()) .build(); diff --git a/bukkit/src/main/java/me/lucko/luckperms/bukkit/processors/ChildProcessor.java b/bukkit/src/main/java/me/lucko/luckperms/bukkit/processors/ChildProcessor.java index 6a1ba488..42cb10f1 100644 --- a/bukkit/src/main/java/me/lucko/luckperms/bukkit/processors/ChildProcessor.java +++ b/bukkit/src/main/java/me/lucko/luckperms/bukkit/processors/ChildProcessor.java @@ -45,8 +45,7 @@ public class ChildProcessor implements PermissionProcessor { @Override public Tristate hasPermission(String permission) { - Boolean b = childPermissions.get(permission); - return b == null ? Tristate.UNDEFINED : Tristate.fromBoolean(b); + return Tristate.fromNullableBoolean(childPermissions.get(permission)); } @Override diff --git a/bukkit/src/main/java/me/lucko/luckperms/bukkit/processors/DefaultsProvider.java b/bukkit/src/main/java/me/lucko/luckperms/bukkit/processors/DefaultsProvider.java index a4d7c592..10bf536c 100644 --- a/bukkit/src/main/java/me/lucko/luckperms/bukkit/processors/DefaultsProvider.java +++ b/bukkit/src/main/java/me/lucko/luckperms/bukkit/processors/DefaultsProvider.java @@ -80,9 +80,7 @@ public class DefaultsProvider { */ public Tristate lookup(String permission, boolean isOp) { Map map = isOp ? opDefaults : nonOpDefaults; - - Boolean b = map.get(permission); - return b == null ? Tristate.UNDEFINED : Tristate.fromBoolean(b); + return Tristate.fromNullableBoolean(map.get(permission)); } /** diff --git a/bukkit/src/main/java/me/lucko/luckperms/bukkit/vault/VaultChatHook.java b/bukkit/src/main/java/me/lucko/luckperms/bukkit/vault/VaultChatHook.java index 5e580466..8710e78b 100644 --- a/bukkit/src/main/java/me/lucko/luckperms/bukkit/vault/VaultChatHook.java +++ b/bukkit/src/main/java/me/lucko/luckperms/bukkit/vault/VaultChatHook.java @@ -259,7 +259,13 @@ public class VaultChatHook extends Chat { perms.getExecutor().execute(() -> { holder.removeIf(n -> n.isMeta() && n.getMeta().getKey().equals(key)); - Node.Builder metaNode = NodeFactory.makeMetaNode(key, value).setValue(true); + Node.Builder metaNode; + if (key.equalsIgnoreCase(NodeFactory.PREFIX_KEY) || key.equalsIgnoreCase(NodeFactory.SUFFIX_KEY)) { + metaNode = NodeFactory.buildChatMetaNode(ChatMetaType.valueOf(key.toUpperCase()), 100, value); + } else { + metaNode = NodeFactory.buildMetaNode(key, value); + } + metaNode.setServer(perms.getVaultServer()); metaNode.setWorld(finalWorld); @@ -285,7 +291,7 @@ public class VaultChatHook extends Chat { int priority = (type == ChatMetaType.PREFIX ? metaAccumulator.getPrefixes() : metaAccumulator.getSuffixes()).keySet().stream() .mapToInt(e -> e).max().orElse(0) + 10; - Node.Builder chatMetaNode = NodeFactory.makeChatMetaNode(type, priority, value); + Node.Builder chatMetaNode = NodeFactory.buildChatMetaNode(type, priority, value); chatMetaNode.setServer(perms.getVaultServer()); chatMetaNode.setWorld(finalWorld); diff --git a/bukkit/src/main/java/me/lucko/luckperms/bukkit/vault/VaultPermissionHook.java b/bukkit/src/main/java/me/lucko/luckperms/bukkit/vault/VaultPermissionHook.java index 04e84484..3f14f4e1 100644 --- a/bukkit/src/main/java/me/lucko/luckperms/bukkit/vault/VaultPermissionHook.java +++ b/bukkit/src/main/java/me/lucko/luckperms/bukkit/vault/VaultPermissionHook.java @@ -255,23 +255,23 @@ public class VaultPermissionHook extends Permission { @Override public boolean playerInGroup(String world, String player, @NonNull String group) { - return playerHas(world, player, "group." + rewriteGroupName(group)); + return playerHas(world, player, NodeFactory.groupNode(rewriteGroupName(group))); } @SuppressWarnings("deprecation") @Override public boolean playerInGroup(World world, String player, @NonNull String group) { - return playerHas(world, player, "group." + rewriteGroupName(group)); + return playerHas(world, player, NodeFactory.groupNode(rewriteGroupName(group))); } @Override public boolean playerInGroup(String world, OfflinePlayer player, @NonNull String group) { - return playerHas(world, player, "group." + rewriteGroupName(group)); + return playerHas(world, player, NodeFactory.groupNode(rewriteGroupName(group))); } @Override public boolean playerInGroup(Player player, @NonNull String group) { - return playerHas(player, "group." + rewriteGroupName(group)); + return playerHas(player, NodeFactory.groupNode(rewriteGroupName(group))); } private boolean checkGroupExists(String group) { @@ -288,44 +288,44 @@ public class VaultPermissionHook extends Permission { @Override public boolean playerAddGroup(String world, String player, @NonNull String group) { - return checkGroupExists(group) && playerAdd(world, player, "group." + rewriteGroupName(group)); + return checkGroupExists(group) && playerAdd(world, player, NodeFactory.groupNode(rewriteGroupName(group))); } @SuppressWarnings("deprecation") @Override public boolean playerAddGroup(World world, String player, @NonNull String group) { - return checkGroupExists(group) && playerAdd(world, player, "group." + rewriteGroupName(group)); + return checkGroupExists(group) && playerAdd(world, player, NodeFactory.groupNode(rewriteGroupName(group))); } @Override public boolean playerAddGroup(String world, OfflinePlayer player, @NonNull String group) { - return checkGroupExists(group) && playerAdd(world, player, "group." + rewriteGroupName(group)); + return checkGroupExists(group) && playerAdd(world, player, NodeFactory.groupNode(rewriteGroupName(group))); } @Override public boolean playerAddGroup(Player player, @NonNull String group) { - return checkGroupExists(group) && playerAdd(player, "group." + rewriteGroupName(group)); + return checkGroupExists(group) && playerAdd(player, NodeFactory.groupNode(rewriteGroupName(group))); } @Override public boolean playerRemoveGroup(String world, String player, @NonNull String group) { - return checkGroupExists(group) && playerRemove(world, player, "group." + rewriteGroupName(group)); + return checkGroupExists(group) && playerRemove(world, player, NodeFactory.groupNode(rewriteGroupName(group))); } @SuppressWarnings("deprecation") @Override public boolean playerRemoveGroup(World world, String player, @NonNull String group) { - return checkGroupExists(group) && playerRemove(world, player, "group." + rewriteGroupName(group)); + return checkGroupExists(group) && playerRemove(world, player, NodeFactory.groupNode(rewriteGroupName(group))); } @Override public boolean playerRemoveGroup(String world, OfflinePlayer player, @NonNull String group) { - return checkGroupExists(group) && playerRemove(world, player, "group." + rewriteGroupName(group)); + return checkGroupExists(group) && playerRemove(world, player, NodeFactory.groupNode(rewriteGroupName(group))); } @Override public boolean playerRemoveGroup(Player player, @NonNull String group) { - return checkGroupExists(group) && playerRemove(player, "group." + rewriteGroupName(group)); + return checkGroupExists(group) && playerRemove(player, NodeFactory.groupNode(rewriteGroupName(group))); } @Override @@ -459,9 +459,9 @@ public class VaultPermissionHook extends Permission { public Contexts createContextForWorldSet(String world) { MutableContextSet context = MutableContextSet.create(); if (world != null && !world.equals("") && !world.equalsIgnoreCase("global")) { - context.add("world", world.toLowerCase()); + context.add(Contexts.WORLD_KEY, world.toLowerCase()); } - context.add("server", getVaultServer()); + context.add(Contexts.SERVER_KEY, getVaultServer()); return new Contexts(context, isIncludeGlobal(), true, true, true, true, false); } @@ -470,18 +470,18 @@ public class VaultPermissionHook extends Permission { if (useVaultServer()) { // remove already accumulated worlds - context.removeAll("world"); + context.removeAll(Contexts.WORLD_KEY); // add the vault world if (world != null && !world.isEmpty() && !world.equalsIgnoreCase("global")) { - context.add("world", world.toLowerCase()); + context.add(Contexts.WORLD_KEY, world.toLowerCase()); } // remove the server context from global - context.remove("server", getServer()); + context.remove(Contexts.SERVER_KEY, getServer()); // add the vault specific server if (!getVaultServer().equals("global")) { - context.add("server", getVaultServer()); + context.add(Contexts.SERVER_KEY, getVaultServer()); } } @@ -493,18 +493,18 @@ public class VaultPermissionHook extends Permission { if (useVaultServer()) { // remove already accumulated worlds - context.removeAll("world"); + context.removeAll(Contexts.WORLD_KEY); // add the vault world if (world != null && !world.isEmpty() && !world.equalsIgnoreCase("global")) { - context.add("world", world.toLowerCase()); + context.add(Contexts.WORLD_KEY, world.toLowerCase()); } // remove the server context from global - context.remove("server", getServer()); + context.remove(Contexts.SERVER_KEY, getServer()); // add the vault specific server if (!getVaultServer().equals("global")) { - context.add("server", getVaultServer()); + context.add(Contexts.SERVER_KEY, getVaultServer()); } } diff --git a/bungee/src/main/java/me/lucko/luckperms/bungee/BungeeSenderFactory.java b/bungee/src/main/java/me/lucko/luckperms/bungee/BungeeSenderFactory.java index 70f8df1b..212b54b8 100644 --- a/bungee/src/main/java/me/lucko/luckperms/bungee/BungeeSenderFactory.java +++ b/bungee/src/main/java/me/lucko/luckperms/bungee/BungeeSenderFactory.java @@ -27,8 +27,8 @@ package me.lucko.luckperms.bungee; import me.lucko.luckperms.api.Tristate; import me.lucko.luckperms.bungee.event.TristateCheckEvent; +import me.lucko.luckperms.common.commands.CommandManager; import me.lucko.luckperms.common.commands.sender.SenderFactory; -import me.lucko.luckperms.common.constants.Constants; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; import me.lucko.luckperms.common.utils.TextUtils; @@ -49,7 +49,7 @@ public class BungeeSenderFactory extends SenderFactory { if (sender instanceof ProxiedPlayer) { return sender.getName(); } - return Constants.CONSOLE_NAME; + return CommandManager.CONSOLE_NAME; } @Override @@ -57,7 +57,7 @@ public class BungeeSenderFactory extends SenderFactory { if (sender instanceof ProxiedPlayer) { return ((ProxiedPlayer) sender).getUniqueId(); } - return Constants.CONSOLE_UUID; + return CommandManager.CONSOLE_UUID; } @Override diff --git a/bungee/src/main/java/me/lucko/luckperms/bungee/contexts/BackendServerCalculator.java b/bungee/src/main/java/me/lucko/luckperms/bungee/contexts/BackendServerCalculator.java index aedc2798..8b1061ec 100644 --- a/bungee/src/main/java/me/lucko/luckperms/bungee/contexts/BackendServerCalculator.java +++ b/bungee/src/main/java/me/lucko/luckperms/bungee/contexts/BackendServerCalculator.java @@ -27,6 +27,7 @@ package me.lucko.luckperms.bungee.contexts; import lombok.RequiredArgsConstructor; +import me.lucko.luckperms.api.Contexts; import me.lucko.luckperms.api.context.ContextCalculator; import me.lucko.luckperms.api.context.MutableContextSet; import me.lucko.luckperms.common.config.ConfigKeys; @@ -36,7 +37,6 @@ import net.md_5.bungee.api.connection.ProxiedPlayer; @RequiredArgsConstructor public class BackendServerCalculator implements ContextCalculator { - private static final String WORLD_KEY = "world"; private static String getServer(ProxiedPlayer player) { return player.getServer() == null ? null : (player.getServer().getInfo() == null ? null : player.getServer().getInfo().getName().toLowerCase()); @@ -47,8 +47,8 @@ public class BackendServerCalculator implements ContextCalculator @Override public MutableContextSet giveApplicableContext(ProxiedPlayer subject, MutableContextSet accumulator) { String server = getServer(subject); - while (server != null && !accumulator.has(WORLD_KEY, server)) { - accumulator.add(WORLD_KEY, server); + while (server != null && !accumulator.has(Contexts.WORLD_KEY, server)) { + accumulator.add(Contexts.WORLD_KEY, server); server = plugin.getConfiguration().get(ConfigKeys.WORLD_REWRITES).getOrDefault(server, server).toLowerCase(); } diff --git a/bungee/src/main/java/me/lucko/luckperms/bungee/migration/MigrationBungeePerms.java b/bungee/src/main/java/me/lucko/luckperms/bungee/migration/MigrationBungeePerms.java index d5b94fc3..1facb1df 100644 --- a/bungee/src/main/java/me/lucko/luckperms/bungee/migration/MigrationBungeePerms.java +++ b/bungee/src/main/java/me/lucko/luckperms/bungee/migration/MigrationBungeePerms.java @@ -27,11 +27,11 @@ package me.lucko.luckperms.bungee.migration; import me.lucko.luckperms.api.event.cause.CreationCause; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.impl.migration.MigrationUtils; import me.lucko.luckperms.common.commands.sender.Sender; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.logging.ProgressLogger; @@ -155,7 +155,7 @@ public class MigrationBungeePerms extends SubCommand { // Migrate any parent groups for (String inherit : parents) { if (inherit.isEmpty()) continue; - holder.setPermission(NodeFactory.make("group." + MigrationUtils.standardizeName(inherit))); + holder.setPermission(NodeFactory.buildGroupNode(MigrationUtils.standardizeName(inherit)).build()); } // Migrate prefix and suffix @@ -163,10 +163,10 @@ public class MigrationBungeePerms extends SubCommand { String suffix = entity.getSuffix(); if (prefix != null && !prefix.isEmpty()) { - holder.setPermission(NodeFactory.makePrefixNode(weight, prefix).build()); + holder.setPermission(NodeFactory.buildPrefixNode(weight, prefix).build()); } if (suffix != null && !suffix.isEmpty()) { - holder.setPermission(NodeFactory.makeSuffixNode(weight, suffix).build()); + holder.setPermission(NodeFactory.buildSuffixNode(weight, suffix).build()); } } } diff --git a/common/src/main/java/me/lucko/luckperms/common/actionlog/ExtendedLogEntry.java b/common/src/main/java/me/lucko/luckperms/common/actionlog/ExtendedLogEntry.java index e9c1a5e9..4f676bde 100644 --- a/common/src/main/java/me/lucko/luckperms/common/actionlog/ExtendedLogEntry.java +++ b/common/src/main/java/me/lucko/luckperms/common/actionlog/ExtendedLogEntry.java @@ -35,6 +35,7 @@ import com.google.common.collect.Maps; import com.google.gson.JsonObject; import com.google.gson.JsonPrimitive; +import me.lucko.luckperms.api.Contexts; import me.lucko.luckperms.api.LogEntry; import me.lucko.luckperms.api.context.ContextSet; import me.lucko.luckperms.common.commands.sender.Sender; @@ -310,15 +311,15 @@ public class ExtendedLogEntry implements LogEntry { if (o instanceof ContextSet) { ContextSet set = (ContextSet) o; - for (String value : set.getValues("server")) { + for (String value : set.getValues(Contexts.SERVER_KEY)) { parts.add("server=" + value); } - for (String value : set.getValues("world")) { + for (String value : set.getValues(Contexts.WORLD_KEY)) { parts.add("world=" + value); } for (Map.Entry context : set.toSet()) { - if (context.getKey().equals("server") || context.getKey().equals("world")) { + if (context.getKey().equals(Contexts.SERVER_KEY) || context.getKey().equals(Contexts.WORLD_KEY)) { continue; } parts.add(context.getKey() + "=" + context.getValue()); diff --git a/common/src/main/java/me/lucko/luckperms/common/actionlog/LogDispatcher.java b/common/src/main/java/me/lucko/luckperms/common/actionlog/LogDispatcher.java index 3535e0cb..ed78f756 100644 --- a/common/src/main/java/me/lucko/luckperms/common/actionlog/LogDispatcher.java +++ b/common/src/main/java/me/lucko/luckperms/common/actionlog/LogDispatcher.java @@ -28,10 +28,10 @@ package me.lucko.luckperms.common.actionlog; import lombok.RequiredArgsConstructor; import me.lucko.luckperms.api.event.log.LogBroadcastEvent; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.impl.log.LogNotify; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.config.ConfigKeys; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.Message; import me.lucko.luckperms.common.messaging.ExtendedMessagingService; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; diff --git a/common/src/main/java/me/lucko/luckperms/common/api/ApiUtils.java b/common/src/main/java/me/lucko/luckperms/common/api/ApiUtils.java index 7c5b865a..f8fd681e 100644 --- a/common/src/main/java/me/lucko/luckperms/common/api/ApiUtils.java +++ b/common/src/main/java/me/lucko/luckperms/common/api/ApiUtils.java @@ -29,7 +29,7 @@ import lombok.experimental.UtilityClass; import com.google.common.base.Preconditions; -import me.lucko.luckperms.common.constants.DataConstraints; +import me.lucko.luckperms.common.storage.DataConstraints; @UtilityClass public class ApiUtils { diff --git a/common/src/main/java/me/lucko/luckperms/common/api/delegates/misc/ApiNodeFactory.java b/common/src/main/java/me/lucko/luckperms/common/api/delegates/misc/ApiNodeFactory.java index bfc7a561..81c7347f 100644 --- a/common/src/main/java/me/lucko/luckperms/common/api/delegates/misc/ApiNodeFactory.java +++ b/common/src/main/java/me/lucko/luckperms/common/api/delegates/misc/ApiNodeFactory.java @@ -42,41 +42,41 @@ public final class ApiNodeFactory implements me.lucko.luckperms.api.NodeFactory @Override public Node.Builder newBuilder(@NonNull String permission) { - return NodeFactory.newBuilder(permission); + return NodeFactory.builder(permission); } @Override public Node.Builder newBuilderFromExisting(@NonNull Node other) { - return NodeFactory.builderFromExisting(other); + return NodeFactory.builder(other); } @Override public Node.Builder makeGroupNode(Group group) { - return NodeFactory.newBuilder("group." + ApiGroup.cast(group).getName()); + return NodeFactory.buildGroupNode(ApiGroup.cast(group)); } @Override public Node.Builder makeGroupNode(String groupName) { - return NodeFactory.newBuilder("group." + groupName); + return NodeFactory.buildGroupNode(groupName); } @Override public Node.Builder makeMetaNode(@NonNull String key, @NonNull String value) { - return NodeFactory.makeMetaNode(key, value); + return NodeFactory.buildMetaNode(key, value); } @Override public Node.Builder makeChatMetaNode(@NonNull ChatMetaType type, int priority, @NonNull String value) { - return NodeFactory.makeChatMetaNode(type, priority, value); + return NodeFactory.buildChatMetaNode(type, priority, value); } @Override public Node.Builder makePrefixNode(int priority, @NonNull String prefix) { - return NodeFactory.makePrefixNode(priority, prefix); + return NodeFactory.buildPrefixNode(priority, prefix); } @Override public Node.Builder makeSuffixNode(int priority, @NonNull String suffix) { - return NodeFactory.makeSuffixNode(priority, suffix); + return NodeFactory.buildSuffixNode(priority, suffix); } } diff --git a/common/src/main/java/me/lucko/luckperms/common/api/delegates/model/ApiUser.java b/common/src/main/java/me/lucko/luckperms/common/api/delegates/model/ApiUser.java index 15c870a1..1b4c02ed 100644 --- a/common/src/main/java/me/lucko/luckperms/common/api/delegates/model/ApiUser.java +++ b/common/src/main/java/me/lucko/luckperms/common/api/delegates/model/ApiUser.java @@ -72,7 +72,7 @@ public final class ApiUser extends ApiPermissionHolder implements User { return DataMutateResult.ALREADY_HAS; } - if (!handle.hasPermission(NodeFactory.make("group." + s.toLowerCase(), true)).asBoolean()) { + if (!handle.hasPermission(NodeFactory.buildGroupNode(s.toLowerCase()).build()).asBoolean()) { return DataMutateResult.FAIL; } diff --git a/common/src/main/java/me/lucko/luckperms/common/backup/DummySender.java b/common/src/main/java/me/lucko/luckperms/common/backup/DummySender.java index 054cb64f..e665f736 100644 --- a/common/src/main/java/me/lucko/luckperms/common/backup/DummySender.java +++ b/common/src/main/java/me/lucko/luckperms/common/backup/DummySender.java @@ -28,8 +28,8 @@ package me.lucko.luckperms.common.backup; import lombok.Getter; import me.lucko.luckperms.api.Tristate; +import me.lucko.luckperms.common.commands.CommandManager; import me.lucko.luckperms.common.commands.sender.Sender; -import me.lucko.luckperms.common.constants.Constants; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; import me.lucko.luckperms.common.utils.TextUtils; @@ -51,7 +51,7 @@ public abstract class DummySender implements Sender { } public DummySender(LuckPermsPlugin plugin) { - this(plugin, Constants.IMPORT_UUID, Constants.IMPORT_NAME); + this(plugin, CommandManager.IMPORT_UUID, CommandManager.IMPORT_NAME); } protected abstract void consumeMessage(String s); diff --git a/common/src/main/java/me/lucko/luckperms/common/backup/Exporter.java b/common/src/main/java/me/lucko/luckperms/common/backup/Exporter.java index fb2d8b94..cddc2138 100644 --- a/common/src/main/java/me/lucko/luckperms/common/backup/Exporter.java +++ b/common/src/main/java/me/lucko/luckperms/common/backup/Exporter.java @@ -113,7 +113,7 @@ public class Exporter implements Runnable { }).collect(Collectors.toList()); for (Group group : groups) { - if (!group.getName().equals("default")) { + if (!group.getName().equals(NodeFactory.DEFAULT_GROUP_NAME)) { write(writer, "/lp creategroup " + group.getName()); } } @@ -226,7 +226,7 @@ public class Exporter implements Runnable { boolean inDefault = false; for (Node node : user.getEnduringNodes().values()) { - if (node.isGroupNode() && node.getGroupName().equalsIgnoreCase("default")) { + if (node.isGroupNode() && node.getGroupName().equalsIgnoreCase(NodeFactory.DEFAULT_GROUP_NAME)) { inDefault = true; continue; } @@ -234,7 +234,7 @@ public class Exporter implements Runnable { output.add("/lp " + NodeFactory.nodeAsCommand(node, user.getUuid().toString(), HolderType.USER, true)); } - if (!user.getPrimaryGroup().getStoredValue().orElse("default").equalsIgnoreCase("default")) { + if (!user.getPrimaryGroup().getStoredValue().orElse(NodeFactory.DEFAULT_GROUP_NAME).equalsIgnoreCase(NodeFactory.DEFAULT_GROUP_NAME)) { output.add("/lp user " + user.getUuid().toString() + " switchprimarygroup " + user.getPrimaryGroup().getStoredValue().get()); } diff --git a/common/src/main/java/me/lucko/luckperms/common/caching/type/MetaAccumulator.java b/common/src/main/java/me/lucko/luckperms/common/caching/type/MetaAccumulator.java index 1f761423..87604af9 100644 --- a/common/src/main/java/me/lucko/luckperms/common/caching/type/MetaAccumulator.java +++ b/common/src/main/java/me/lucko/luckperms/common/caching/type/MetaAccumulator.java @@ -38,6 +38,7 @@ import me.lucko.luckperms.api.LocalizedNode; import me.lucko.luckperms.common.config.ConfigKeys; import me.lucko.luckperms.common.metastacking.MetaStack; import me.lucko.luckperms.common.metastacking.SimpleMetaStack; +import me.lucko.luckperms.common.node.NodeFactory; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; import java.util.Comparator; @@ -103,8 +104,8 @@ public class MetaAccumulator { // (it's not going to accumulate more nodes) // Therefore, it should be ok to set the weight meta key, if not already present. public ListMultimap getMeta() { - if (!this.meta.containsKey("weight") && this.weight != 0) { - this.meta.put("weight", String.valueOf(this.weight)); + if (!this.meta.containsKey(NodeFactory.WEIGHT_KEY) && this.weight != 0) { + this.meta.put(NodeFactory.WEIGHT_KEY, String.valueOf(this.weight)); } return this.meta; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/ArgumentPermissions.java b/common/src/main/java/me/lucko/luckperms/common/commands/ArgumentPermissions.java index 7f6cb04c..24d56c46 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/ArgumentPermissions.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/ArgumentPermissions.java @@ -31,7 +31,6 @@ import me.lucko.luckperms.api.Tristate; import me.lucko.luckperms.api.context.ContextSet; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.config.ConfigKeys; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.model.Group; import me.lucko.luckperms.common.model.Track; import me.lucko.luckperms.common.model.User; 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 342dddf5..355207f6 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 @@ -56,8 +56,6 @@ import me.lucko.luckperms.common.commands.impl.user.UserMainCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; -import me.lucko.luckperms.common.constants.Constants; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; @@ -72,6 +70,7 @@ import java.util.Collections; import java.util.List; import java.util.ListIterator; import java.util.Optional; +import java.util.UUID; import java.util.concurrent.CompletableFuture; import java.util.regex.Pattern; import java.util.stream.Collectors; @@ -79,6 +78,15 @@ import java.util.stream.Collectors; public class CommandManager { public static final Pattern COMMAND_SEPARATOR_PATTERN = Pattern.compile(" (?=([^\\\"]*\\\"[^\\\"]*\\\")*[^\\\"]*$)"); + public static final UUID CONSOLE_UUID = UUID.fromString("00000000-0000-0000-0000-000000000000"); + public static final String CONSOLE_NAME = "Console"; + + public static final UUID IMPORT_UUID = UUID.fromString("11111111-1111-1111-1111-111111111111"); + public static final String IMPORT_NAME = "Import"; + + public static final char SECTION_CHAR = '\u00A7'; // ยง + public static final char AMPERSAND_CHAR = '&'; + @Getter private final LuckPermsPlugin plugin; @@ -254,7 +262,7 @@ public class CommandManager { @SuppressWarnings("unchecked") String permission = (String) c.getPermission().map(p -> ((CommandPermission) p).getPermission()).orElse("None"); - TextComponent component = TextUtils.fromLegacy("&3> &a" + String.format(c.getUsage(), label), Constants.AMPERSAND_CHAR) + TextComponent component = TextUtils.fromLegacy("&3> &a" + String.format(c.getUsage(), label), AMPERSAND_CHAR) .toBuilder().applyDeep(comp -> { comp.hoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, TextUtils.fromLegacy(TextUtils.joinNewline( "&bCommand: &2" + c.getName(), @@ -263,7 +271,7 @@ public class CommandManager { "&bPermission: &2" + permission, " ", "&7Click to auto-complete." - ), Constants.AMPERSAND_CHAR))); + ), AMPERSAND_CHAR))); comp.clickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, String.format(c.getUsage(), label))); }).build(); sender.sendMessage(component); diff --git a/common/src/main/java/me/lucko/luckperms/common/constants/CommandPermission.java b/common/src/main/java/me/lucko/luckperms/common/commands/CommandPermission.java similarity index 91% rename from common/src/main/java/me/lucko/luckperms/common/constants/CommandPermission.java rename to common/src/main/java/me/lucko/luckperms/common/commands/CommandPermission.java index 99f7da72..a5b056c0 100644 --- a/common/src/main/java/me/lucko/luckperms/common/constants/CommandPermission.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/CommandPermission.java @@ -1,8 +1,5 @@ /* - * This file is part of LuckPerms, licensed under the MIT License. - * - * Copyright (c) lucko (Luck) - * Copyright (c) contributors + * Copyright (c) 2017 Lucko (Luck) * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -23,19 +20,19 @@ * SOFTWARE. */ -package me.lucko.luckperms.common.constants; +package me.lucko.luckperms.common.commands; import lombok.AllArgsConstructor; import lombok.Getter; import me.lucko.luckperms.common.commands.sender.Sender; -import static me.lucko.luckperms.common.constants.CommandPermission.Type.GROUP; -import static me.lucko.luckperms.common.constants.CommandPermission.Type.LOG; -import static me.lucko.luckperms.common.constants.CommandPermission.Type.NONE; -import static me.lucko.luckperms.common.constants.CommandPermission.Type.SPONGE; -import static me.lucko.luckperms.common.constants.CommandPermission.Type.TRACK; -import static me.lucko.luckperms.common.constants.CommandPermission.Type.USER; +import static me.lucko.luckperms.common.commands.CommandPermission.Type.GROUP; +import static me.lucko.luckperms.common.commands.CommandPermission.Type.LOG; +import static me.lucko.luckperms.common.commands.CommandPermission.Type.NONE; +import static me.lucko.luckperms.common.commands.CommandPermission.Type.SPONGE; +import static me.lucko.luckperms.common.commands.CommandPermission.Type.TRACK; +import static me.lucko.luckperms.common.commands.CommandPermission.Type.USER; /** * An enumeration of the permissions required to execute built in LuckPerms commands. diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/abstraction/Command.java b/common/src/main/java/me/lucko/luckperms/common/commands/abstraction/Command.java index ab1fdf28..12e62023 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/abstraction/Command.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/abstraction/Command.java @@ -31,9 +31,9 @@ import com.google.common.collect.ImmutableList; import me.lucko.luckperms.common.commands.Arg; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.sender.Sender; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.LocalizedSpec; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/abstraction/SharedSubCommand.java b/common/src/main/java/me/lucko/luckperms/common/commands/abstraction/SharedSubCommand.java index fb295fe4..ac04f1d2 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/abstraction/SharedSubCommand.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/abstraction/SharedSubCommand.java @@ -29,10 +29,10 @@ import lombok.Getter; import me.lucko.luckperms.common.commands.Arg; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.LocalizedSpec; import me.lucko.luckperms.common.model.Group; import me.lucko.luckperms.common.model.PermissionHolder; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/abstraction/SingleCommand.java b/common/src/main/java/me/lucko/luckperms/common/commands/abstraction/SingleCommand.java index 4888b272..fac97634 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/abstraction/SingleCommand.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/abstraction/SingleCommand.java @@ -27,10 +27,10 @@ package me.lucko.luckperms.common.commands.abstraction; import me.lucko.luckperms.common.commands.Arg; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.LocalizedSpec; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/abstraction/SubCommand.java b/common/src/main/java/me/lucko/luckperms/common/commands/abstraction/SubCommand.java index 8b4411f4..a5a8edff 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/abstraction/SubCommand.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/abstraction/SubCommand.java @@ -30,10 +30,10 @@ import lombok.Getter; import com.google.common.base.Splitter; import me.lucko.luckperms.common.commands.Arg; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.CommandUtils; import me.lucko.luckperms.common.config.ConfigKeys; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.LocalizedSpec; import me.lucko.luckperms.common.locale.Message; import me.lucko.luckperms.common.messaging.ExtendedMessagingService; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaAddChatMeta.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaAddChatMeta.java index 5dae1d5d..c33f3bb9 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaAddChatMeta.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaAddChatMeta.java @@ -31,13 +31,13 @@ import me.lucko.luckperms.api.context.MutableContextSet; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandManager; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SharedSubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; -import me.lucko.luckperms.common.constants.Constants; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; @@ -82,9 +82,9 @@ public class MetaAddChatMeta extends SharedSubCommand { return CommandResult.NO_PERMISSION; } - DataMutateResult result = holder.setPermission(NodeFactory.makeChatMetaNode(type, priority, meta).withExtraContext(context).build()); + DataMutateResult result = holder.setPermission(NodeFactory.buildChatMetaNode(type, priority, meta).withExtraContext(context).build()); if (result.asBoolean()) { - TextComponent.Builder builder = TextUtils.fromLegacy(Message.ADD_CHATMETA_SUCCESS.asString(plugin.getLocaleManager(), holder.getFriendlyName(), type.name().toLowerCase(), meta, priority, CommandUtils.contextSetToString(context)), Constants.SECTION_CHAR).toBuilder(); + TextComponent.Builder builder = TextUtils.fromLegacy(Message.ADD_CHATMETA_SUCCESS.asString(plugin.getLocaleManager(), holder.getFriendlyName(), type.name().toLowerCase(), meta, priority, CommandUtils.contextSetToString(context)), CommandManager.SECTION_CHAR).toBuilder(); HoverEvent event = new HoverEvent(HoverEvent.Action.SHOW_TEXT, TextUtils.fromLegacy( "ยฅ3Raw " + type.name().toLowerCase() + ": ยฅr" + meta, 'ยฅ' diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaAddTempChatMeta.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaAddTempChatMeta.java index 96e9417c..ac731546 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaAddTempChatMeta.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaAddTempChatMeta.java @@ -32,14 +32,14 @@ import me.lucko.luckperms.api.context.MutableContextSet; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandManager; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SharedSubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; import me.lucko.luckperms.common.config.ConfigKeys; -import me.lucko.luckperms.common.constants.CommandPermission; -import me.lucko.luckperms.common.constants.Constants; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; @@ -89,12 +89,12 @@ public class MetaAddTempChatMeta extends SharedSubCommand { return CommandResult.NO_PERMISSION; } - Map.Entry ret = holder.setPermission(NodeFactory.makeChatMetaNode(type, priority, meta).setExpiry(duration).withExtraContext(context).build(), modifier); + Map.Entry ret = holder.setPermission(NodeFactory.buildChatMetaNode(type, priority, meta).setExpiry(duration).withExtraContext(context).build(), modifier); if (ret.getKey().asBoolean()) { duration = ret.getValue().getExpiryUnixTime(); - TextComponent.Builder builder = TextUtils.fromLegacy(Message.ADD_TEMP_CHATMETA_SUCCESS.asString(plugin.getLocaleManager(), holder.getFriendlyName(), type.name().toLowerCase(), meta, priority, DateUtil.formatDateDiff(duration), CommandUtils.contextSetToString(context)), Constants.SECTION_CHAR).toBuilder(); + TextComponent.Builder builder = TextUtils.fromLegacy(Message.ADD_TEMP_CHATMETA_SUCCESS.asString(plugin.getLocaleManager(), holder.getFriendlyName(), type.name().toLowerCase(), meta, priority, DateUtil.formatDateDiff(duration), CommandUtils.contextSetToString(context)), CommandManager.SECTION_CHAR).toBuilder(); HoverEvent event = new HoverEvent(HoverEvent.Action.SHOW_TEXT, TextUtils.fromLegacy( "ยฅ3Raw " + type.name().toLowerCase() + ": ยฅr" + meta, 'ยฅ' diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaClear.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaClear.java index 12cb3462..65c2012a 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaClear.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaClear.java @@ -29,17 +29,18 @@ import me.lucko.luckperms.api.context.MutableContextSet; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SharedSubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; import me.lucko.luckperms.common.model.PermissionHolder; import me.lucko.luckperms.common.node.MetaType; +import me.lucko.luckperms.common.node.NodeFactory; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; import me.lucko.luckperms.common.utils.Predicates; @@ -66,13 +67,13 @@ public class MetaClear extends SharedSubCommand { if (typeId.equals("chat") || typeId.equals("chatmeta")) { type = MetaType.CHAT; } - if (typeId.equals("meta")) { + if (typeId.equals(NodeFactory.META_KEY)) { type = MetaType.META; } - if (typeId.equals("prefix") || typeId.equals("prefixes")) { + if (typeId.equals(NodeFactory.PREFIX_KEY) || typeId.equals("prefixes")) { type = MetaType.PREFIX; } - if (typeId.equals("suffix") || typeId.equals("suffixes")) { + if (typeId.equals(NodeFactory.SUFFIX_KEY) || typeId.equals("suffixes")) { type = MetaType.SUFFIX; } diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaInfo.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaInfo.java index eadbed8a..46ae06f0 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaInfo.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaInfo.java @@ -31,13 +31,13 @@ import me.lucko.luckperms.api.ChatMetaType; import me.lucko.luckperms.api.LocalizedNode; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandManager; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SharedSubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.CommandUtils; import me.lucko.luckperms.common.commands.utils.MetaComparator; -import me.lucko.luckperms.common.constants.CommandPermission; -import me.lucko.luckperms.common.constants.Constants; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; @@ -125,11 +125,11 @@ public class MetaInfo extends SharedSubCommand { String location = processLocation(m, holder); if (m.hasSpecificContext()) { String context = CommandUtils.getAppendableNodeContextString(m); - TextComponent.Builder builder = TextUtils.fromLegacy(Message.META_ENTRY_WITH_CONTEXT.asString(sender.getPlatform().getLocaleManager(), m.getMeta().getKey(), m.getMeta().getValue(), location, context), Constants.SECTION_CHAR).toBuilder(); + TextComponent.Builder builder = TextUtils.fromLegacy(Message.META_ENTRY_WITH_CONTEXT.asString(sender.getPlatform().getLocaleManager(), m.getMeta().getKey(), m.getMeta().getValue(), location, context), CommandManager.SECTION_CHAR).toBuilder(); builder.applyDeep(makeFancy(holder, label, m)); sender.sendMessage(builder.build()); } else { - TextComponent.Builder builder = TextUtils.fromLegacy(Message.META_ENTRY.asString(sender.getPlatform().getLocaleManager(), m.getMeta().getKey(), m.getMeta().getValue(), location), Constants.SECTION_CHAR).toBuilder(); + TextComponent.Builder builder = TextUtils.fromLegacy(Message.META_ENTRY.asString(sender.getPlatform().getLocaleManager(), m.getMeta().getKey(), m.getMeta().getValue(), location), CommandManager.SECTION_CHAR).toBuilder(); builder.applyDeep(makeFancy(holder, label, m)); sender.sendMessage(builder.build()); } @@ -141,11 +141,11 @@ public class MetaInfo extends SharedSubCommand { String location = processLocation(e.getValue(), holder); if (e.getValue().hasSpecificContext()) { String context = CommandUtils.getAppendableNodeContextString(e.getValue()); - TextComponent.Builder builder = TextUtils.fromLegacy(Message.CHAT_META_ENTRY_WITH_CONTEXT.asString(sender.getPlatform().getLocaleManager(), e.getKey(), type.getEntry(e.getValue()).getValue(), location, context), Constants.SECTION_CHAR).toBuilder(); + TextComponent.Builder builder = TextUtils.fromLegacy(Message.CHAT_META_ENTRY_WITH_CONTEXT.asString(sender.getPlatform().getLocaleManager(), e.getKey(), type.getEntry(e.getValue()).getValue(), location, context), CommandManager.SECTION_CHAR).toBuilder(); builder.applyDeep(makeFancy(type, holder, label, e.getValue())); sender.sendMessage(builder.build()); } else { - TextComponent.Builder builder = TextUtils.fromLegacy(Message.CHAT_META_ENTRY.asString(sender.getPlatform().getLocaleManager(), e.getKey(), type.getEntry(e.getValue()).getValue(), location), Constants.SECTION_CHAR).toBuilder(); + TextComponent.Builder builder = TextUtils.fromLegacy(Message.CHAT_META_ENTRY.asString(sender.getPlatform().getLocaleManager(), e.getKey(), type.getEntry(e.getValue()).getValue(), location), CommandManager.SECTION_CHAR).toBuilder(); builder.applyDeep(makeFancy(type, holder, label, e.getValue())); sender.sendMessage(builder.build()); } diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaRemoveChatMeta.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaRemoveChatMeta.java index 4c842ac8..b52e1339 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaRemoveChatMeta.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaRemoveChatMeta.java @@ -31,13 +31,13 @@ import me.lucko.luckperms.api.context.MutableContextSet; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandManager; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SharedSubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; -import me.lucko.luckperms.common.constants.Constants; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; @@ -100,10 +100,10 @@ public class MetaRemoveChatMeta extends SharedSubCommand { return CommandResult.SUCCESS; } - DataMutateResult result = holder.unsetPermission(NodeFactory.makeChatMetaNode(type, priority, meta).withExtraContext(context).build()); + DataMutateResult result = holder.unsetPermission(NodeFactory.buildChatMetaNode(type, priority, meta).withExtraContext(context).build()); if (result.asBoolean()) { - TextComponent.Builder builder = TextUtils.fromLegacy(Message.REMOVE_CHATMETA_SUCCESS.asString(plugin.getLocaleManager(), holder.getFriendlyName(), type.name().toLowerCase(), meta, priority, CommandUtils.contextSetToString(context)), Constants.SECTION_CHAR).toBuilder(); + TextComponent.Builder builder = TextUtils.fromLegacy(Message.REMOVE_CHATMETA_SUCCESS.asString(plugin.getLocaleManager(), holder.getFriendlyName(), type.name().toLowerCase(), meta, priority, CommandUtils.contextSetToString(context)), CommandManager.SECTION_CHAR).toBuilder(); HoverEvent event = new HoverEvent(HoverEvent.Action.SHOW_TEXT, TextUtils.fromLegacy( "ยฅ3Raw " + type.name().toLowerCase() + ": ยฅr" + meta, 'ยฅ' diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaRemoveTempChatMeta.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaRemoveTempChatMeta.java index 85a36da2..86b9b904 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaRemoveTempChatMeta.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaRemoveTempChatMeta.java @@ -31,13 +31,13 @@ import me.lucko.luckperms.api.context.MutableContextSet; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandManager; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SharedSubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; -import me.lucko.luckperms.common.constants.Constants; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; @@ -100,10 +100,10 @@ public class MetaRemoveTempChatMeta extends SharedSubCommand { return CommandResult.SUCCESS; } - DataMutateResult result = holder.unsetPermission(NodeFactory.makeChatMetaNode(type, priority, meta).setExpiry(10L).withExtraContext(context).build()); + DataMutateResult result = holder.unsetPermission(NodeFactory.buildChatMetaNode(type, priority, meta).setExpiry(10L).withExtraContext(context).build()); if (result.asBoolean()) { - TextComponent.Builder builder = TextUtils.fromLegacy(Message.REMOVE_TEMP_CHATMETA_SUCCESS.asString(plugin.getLocaleManager(), holder.getFriendlyName(), type.name().toLowerCase(), meta, priority, CommandUtils.contextSetToString(context)), Constants.SECTION_CHAR).toBuilder(); + TextComponent.Builder builder = TextUtils.fromLegacy(Message.REMOVE_TEMP_CHATMETA_SUCCESS.asString(plugin.getLocaleManager(), holder.getFriendlyName(), type.name().toLowerCase(), meta, priority, CommandUtils.contextSetToString(context)), CommandManager.SECTION_CHAR).toBuilder(); HoverEvent event = new HoverEvent(HoverEvent.Action.SHOW_TEXT, TextUtils.fromLegacy( "ยฅ3Raw " + type.name().toLowerCase() + ": ยฅr" + meta, 'ยฅ' diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaSet.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaSet.java index 85768a5c..dbe31d54 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaSet.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaSet.java @@ -30,12 +30,12 @@ import me.lucko.luckperms.api.context.MutableContextSet; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SharedSubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; @@ -76,7 +76,7 @@ public class MetaSet extends SharedSubCommand { return CommandResult.NO_PERMISSION; } - Node n = NodeFactory.makeMetaNode(key, value).withExtraContext(context).build(); + Node n = NodeFactory.buildMetaNode(key, value).withExtraContext(context).build(); if (holder.hasPermission(n).asBoolean()) { Message.ALREADY_HAS_META.send(sender, holder.getFriendlyName(), key, value, CommandUtils.contextSetToString(context)); diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaSetTemp.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaSetTemp.java index c166ce04..639af6e1 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaSetTemp.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaSetTemp.java @@ -30,14 +30,14 @@ import me.lucko.luckperms.api.context.MutableContextSet; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandManager; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SharedSubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; import me.lucko.luckperms.common.config.ConfigKeys; -import me.lucko.luckperms.common.constants.CommandPermission; -import me.lucko.luckperms.common.constants.Constants; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; @@ -82,7 +82,7 @@ public class MetaSetTemp extends SharedSubCommand { return CommandResult.NO_PERMISSION; } - Node n = NodeFactory.makeMetaNode(key, value).withExtraContext(context).setExpiry(duration).build(); + Node n = NodeFactory.buildMetaNode(key, value).withExtraContext(context).setExpiry(duration).build(); if (holder.hasPermission(n).asBoolean()) { Message.ALREADY_HAS_TEMP_META.send(sender, holder.getFriendlyName(), key, value, CommandUtils.contextSetToString(context)); @@ -92,7 +92,7 @@ public class MetaSetTemp extends SharedSubCommand { holder.clearMetaKeys(key, context, true); duration = holder.setPermission(n, modifier).getValue().getExpiryUnixTime(); - TextComponent.Builder builder = TextUtils.fromLegacy(Message.SET_META_TEMP_SUCCESS.asString(plugin.getLocaleManager(), key, value, holder.getFriendlyName(), DateUtil.formatDateDiff(duration), CommandUtils.contextSetToString(context)), Constants.SECTION_CHAR).toBuilder(); + TextComponent.Builder builder = TextUtils.fromLegacy(Message.SET_META_TEMP_SUCCESS.asString(plugin.getLocaleManager(), key, value, holder.getFriendlyName(), DateUtil.formatDateDiff(duration), CommandUtils.contextSetToString(context)), CommandManager.SECTION_CHAR).toBuilder(); HoverEvent event = new HoverEvent(HoverEvent.Action.SHOW_TEXT, TextUtils.fromLegacy( TextUtils.joinNewline("ยฅ3Raw key: ยฅr" + key, "ยฅ3Raw value: ยฅr" + value), 'ยฅ' diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaUnset.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaUnset.java index 0866f7c4..9837c4b0 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaUnset.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaUnset.java @@ -29,12 +29,12 @@ import me.lucko.luckperms.api.context.MutableContextSet; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SharedSubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaUnsetTemp.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaUnsetTemp.java index 556d4ea1..0effedd8 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaUnsetTemp.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/meta/MetaUnsetTemp.java @@ -29,12 +29,12 @@ import me.lucko.luckperms.api.context.MutableContextSet; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SharedSubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/other/HolderClear.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/other/HolderClear.java index 7c236cf4..6456ae46 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/other/HolderClear.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/other/HolderClear.java @@ -29,13 +29,13 @@ import me.lucko.luckperms.api.context.MutableContextSet; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SharedSubCommand; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/other/HolderEditor.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/other/HolderEditor.java index f676555b..e1436690 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/other/HolderEditor.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/other/HolderEditor.java @@ -32,11 +32,11 @@ import com.google.gson.JsonPrimitive; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.config.ConfigKeys; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/other/HolderShowTracks.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/other/HolderShowTracks.java index 1133d9ef..3412ba45 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/other/HolderShowTracks.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/other/HolderShowTracks.java @@ -30,11 +30,11 @@ import com.google.common.collect.Maps; import me.lucko.luckperms.api.Node; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/parent/ParentAdd.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/parent/ParentAdd.java index 3e3fc757..d38bd80d 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/parent/ParentAdd.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/parent/ParentAdd.java @@ -30,12 +30,12 @@ import me.lucko.luckperms.api.context.MutableContextSet; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SharedSubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; @@ -85,7 +85,7 @@ public class ParentAdd extends SharedSubCommand { return CommandResult.NO_PERMISSION; } - DataMutateResult result = holder.setPermission(NodeFactory.newBuilder("group." + group.getName()).withExtraContext(context).build()); + DataMutateResult result = holder.setPermission(NodeFactory.buildGroupNode(group.getName()).withExtraContext(context).build()); if (result.asBoolean()) { Message.SET_INHERIT_SUCCESS.send(sender, holder.getFriendlyName(), group.getFriendlyName(), CommandUtils.contextSetToString(context)); diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/parent/ParentAddTemp.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/parent/ParentAddTemp.java index c71dce41..fe9bff64 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/parent/ParentAddTemp.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/parent/ParentAddTemp.java @@ -31,13 +31,13 @@ import me.lucko.luckperms.api.context.MutableContextSet; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SharedSubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; import me.lucko.luckperms.common.config.ConfigKeys; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; @@ -97,7 +97,7 @@ public class ParentAddTemp extends SharedSubCommand { return CommandResult.STATE_ERROR; } - Map.Entry ret = holder.setPermission(NodeFactory.newBuilder("group." + group.getName()).setExpiry(duration).withExtraContext(context).build(), modifier); + Map.Entry ret = holder.setPermission(NodeFactory.buildGroupNode(group.getName()).setExpiry(duration).withExtraContext(context).build(), modifier); if (ret.getKey().asBoolean()) { duration = ret.getValue().getExpiryUnixTime(); diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/parent/ParentClear.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/parent/ParentClear.java index 63a1ba95..a25a951b 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/parent/ParentClear.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/parent/ParentClear.java @@ -29,12 +29,12 @@ import me.lucko.luckperms.api.context.MutableContextSet; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SharedSubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/parent/ParentClearTrack.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/parent/ParentClearTrack.java index 1eddba33..89fe7947 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/parent/ParentClearTrack.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/parent/ParentClearTrack.java @@ -29,13 +29,12 @@ import me.lucko.luckperms.api.context.MutableContextSet; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SharedSubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; -import me.lucko.luckperms.common.constants.DataConstraints; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; @@ -43,6 +42,7 @@ import me.lucko.luckperms.common.model.PermissionHolder; import me.lucko.luckperms.common.model.Track; import me.lucko.luckperms.common.model.User; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; +import me.lucko.luckperms.common.storage.DataConstraints; import me.lucko.luckperms.common.utils.Predicates; import java.util.List; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/parent/ParentInfo.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/parent/ParentInfo.java index b23407ce..9ffbc395 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/parent/ParentInfo.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/parent/ParentInfo.java @@ -29,6 +29,8 @@ import me.lucko.luckperms.api.LocalizedNode; import me.lucko.luckperms.api.Node; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandManager; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SharedSubCommand; import me.lucko.luckperms.common.commands.sender.Sender; @@ -36,8 +38,6 @@ import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; import me.lucko.luckperms.common.commands.utils.SortMode; import me.lucko.luckperms.common.commands.utils.SortType; -import me.lucko.luckperms.common.constants.CommandPermission; -import me.lucko.luckperms.common.constants.Constants; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; @@ -118,7 +118,7 @@ public class ParentInfo extends SharedSubCommand { s += "\n&2 expires in " + DateUtil.formatDateDiff(node.getExpiryUnixTime()); } - TextComponent message = TextUtils.fromLegacy(s, Constants.AMPERSAND_CHAR).toBuilder().applyDeep(makeFancy(holder, label, node)).build(); + TextComponent message = TextUtils.fromLegacy(s, CommandManager.AMPERSAND_CHAR).toBuilder().applyDeep(makeFancy(holder, label, node)).build(); sender.sendMessage(message); } @@ -140,7 +140,7 @@ public class ParentInfo extends SharedSubCommand { "&3> &f" + node.getGroupName(), " ", "&7Click to remove this parent from " + holder.getFriendlyName() - ), Constants.AMPERSAND_CHAR)); + ), CommandManager.AMPERSAND_CHAR)); String command = "/" + label + " " + NodeFactory.nodeAsCommand(node, holder.getType().isGroup() ? holder.getObjectName() : holder.getFriendlyName(), holder.getType(), false); ClickEvent clickEvent = new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, command); diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/parent/ParentRemove.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/parent/ParentRemove.java index 544fc297..59eca644 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/parent/ParentRemove.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/parent/ParentRemove.java @@ -30,13 +30,13 @@ import me.lucko.luckperms.api.context.MutableContextSet; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SharedSubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; import me.lucko.luckperms.common.config.ConfigKeys; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; @@ -81,7 +81,7 @@ public class ParentRemove extends SharedSubCommand { boolean shouldPrevent = plugin.getConfiguration().get(ConfigKeys.PREVENT_PRIMARY_GROUP_REMOVAL) && context.isEmpty() && plugin.getConfiguration().get(ConfigKeys.PRIMARY_GROUP_CALCULATION_METHOD).equals("stored") && - user.getPrimaryGroup().getStoredValue().orElse("default").equalsIgnoreCase(groupName); + user.getPrimaryGroup().getStoredValue().orElse(NodeFactory.DEFAULT_GROUP_NAME).equalsIgnoreCase(groupName); if (shouldPrevent) { Message.USER_REMOVEGROUP_ERROR_PRIMARY.send(sender); @@ -89,7 +89,7 @@ public class ParentRemove extends SharedSubCommand { } } - DataMutateResult result = holder.unsetPermission(NodeFactory.newBuilder("group." + groupName).withExtraContext(context).build()); + DataMutateResult result = holder.unsetPermission(NodeFactory.buildGroupNode(groupName).withExtraContext(context).build()); if (result.asBoolean()) { Message.UNSET_INHERIT_SUCCESS.send(sender, holder.getFriendlyName(), groupName, CommandUtils.contextSetToString(context)); diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/parent/ParentRemoveTemp.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/parent/ParentRemoveTemp.java index 45731fea..efb32a96 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/parent/ParentRemoveTemp.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/parent/ParentRemoveTemp.java @@ -30,12 +30,12 @@ import me.lucko.luckperms.api.context.MutableContextSet; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SharedSubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; @@ -73,7 +73,7 @@ public class ParentRemoveTemp extends SharedSubCommand { return CommandResult.NO_PERMISSION; } - DataMutateResult result = holder.unsetPermission(NodeFactory.newBuilder("group." + groupName).setExpiry(10L).withExtraContext(context).build()); + DataMutateResult result = holder.unsetPermission(NodeFactory.buildGroupNode(groupName).setExpiry(10L).withExtraContext(context).build()); if (result.asBoolean()) { Message.UNSET_TEMP_INHERIT_SUCCESS.send(sender, holder.getFriendlyName(), groupName, CommandUtils.contextSetToString(context)); diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/parent/ParentSet.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/parent/ParentSet.java index 2abaaace..af4d256f 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/parent/ParentSet.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/parent/ParentSet.java @@ -29,12 +29,12 @@ import me.lucko.luckperms.api.context.MutableContextSet; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SharedSubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; @@ -86,7 +86,7 @@ public class ParentSet extends SharedSubCommand { } holder.clearParents(context, false); - holder.setPermission(NodeFactory.newBuilder("group." + group.getName()).withExtraContext(context).build()); + holder.setPermission(NodeFactory.buildGroupNode(group.getName()).withExtraContext(context).build()); if (holder.getType().isUser()) { ((User) holder).getPrimaryGroup().setStoredValue(group.getName()); } diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/parent/ParentSetTrack.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/parent/ParentSetTrack.java index 3d3d2684..ec7df954 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/parent/ParentSetTrack.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/parent/ParentSetTrack.java @@ -29,13 +29,12 @@ import me.lucko.luckperms.api.context.MutableContextSet; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SharedSubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; -import me.lucko.luckperms.common.constants.DataConstraints; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; @@ -44,6 +43,7 @@ import me.lucko.luckperms.common.model.PermissionHolder; import me.lucko.luckperms.common.model.Track; import me.lucko.luckperms.common.node.NodeFactory; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; +import me.lucko.luckperms.common.storage.DataConstraints; import me.lucko.luckperms.common.utils.Predicates; import java.util.List; @@ -126,7 +126,7 @@ public class ParentSetTrack extends SharedSubCommand { } holder.removeIf(node -> node.isGroupNode() && node.getFullContexts().equals(context) && track.containsGroup(node.getGroupName())); - holder.setPermission(NodeFactory.newBuilder("group." + group.getName()).withExtraContext(context).build()); + holder.setPermission(NodeFactory.buildGroupNode(group.getName()).withExtraContext(context).build()); Message.SET_TRACK_PARENT_SUCCESS.send(sender, holder.getFriendlyName(), track.getName(), group.getFriendlyName(), CommandUtils.contextSetToString(context)); diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/permission/PermissionCheck.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/permission/PermissionCheck.java index 16dea33c..57a8804e 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/permission/PermissionCheck.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/permission/PermissionCheck.java @@ -29,12 +29,12 @@ import me.lucko.luckperms.api.Tristate; import me.lucko.luckperms.api.context.MutableContextSet; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SharedSubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; @@ -62,7 +62,7 @@ public class PermissionCheck extends SharedSubCommand { String node = ArgumentUtils.handleString(0, args); MutableContextSet context = ArgumentUtils.handleContext(1, args, plugin); - Tristate result = holder.hasPermission(NodeFactory.newBuilder(node).withExtraContext(context).build()); + Tristate result = holder.hasPermission(NodeFactory.builder(node).withExtraContext(context).build()); String s = CommandUtils.formatTristate(result); Message.CHECK_PERMISSION.send(sender, holder.getFriendlyName(), node, s, CommandUtils.contextSetToString(context)); diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/permission/PermissionCheckInherits.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/permission/PermissionCheckInherits.java index 9ba41d87..65efc59d 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/permission/PermissionCheckInherits.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/permission/PermissionCheckInherits.java @@ -28,12 +28,12 @@ package me.lucko.luckperms.common.commands.impl.generic.permission; import me.lucko.luckperms.api.context.MutableContextSet; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SharedSubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; @@ -62,7 +62,7 @@ public class PermissionCheckInherits extends SharedSubCommand { String node = ArgumentUtils.handleString(0, args); MutableContextSet context = ArgumentUtils.handleContext(1, args, plugin); - InheritanceInfo result = holder.inheritsPermissionInfo(NodeFactory.newBuilder(node).withExtraContext(context).build()); + InheritanceInfo result = holder.inheritsPermissionInfo(NodeFactory.builder(node).withExtraContext(context).build()); String location = result.getLocation().orElse(null); if (location == null || location.equalsIgnoreCase(holder.getObjectName())) { diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/permission/PermissionInfo.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/permission/PermissionInfo.java index 6dcfad73..f9d04eee 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/permission/PermissionInfo.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/permission/PermissionInfo.java @@ -29,6 +29,8 @@ import me.lucko.luckperms.api.LocalizedNode; import me.lucko.luckperms.api.Node; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandManager; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SharedSubCommand; import me.lucko.luckperms.common.commands.sender.Sender; @@ -36,8 +38,6 @@ import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; import me.lucko.luckperms.common.commands.utils.SortMode; import me.lucko.luckperms.common.commands.utils.SortType; -import me.lucko.luckperms.common.constants.CommandPermission; -import me.lucko.luckperms.common.constants.Constants; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; @@ -123,7 +123,7 @@ public class PermissionInfo extends SharedSubCommand { s += "\n&2- expires in " + DateUtil.formatDateDiff(node.getExpiryUnixTime()); } - TextComponent message = TextUtils.fromLegacy(s, Constants.AMPERSAND_CHAR).toBuilder().applyDeep(makeFancy(holder, label, node)).build(); + TextComponent message = TextUtils.fromLegacy(s, CommandManager.AMPERSAND_CHAR).toBuilder().applyDeep(makeFancy(holder, label, node)).build(); sender.sendMessage(message); } diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/permission/PermissionSet.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/permission/PermissionSet.java index a7570864..daf253c8 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/permission/PermissionSet.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/permission/PermissionSet.java @@ -30,12 +30,12 @@ import me.lucko.luckperms.api.context.MutableContextSet; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SharedSubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; @@ -75,7 +75,7 @@ public class PermissionSet extends SharedSubCommand { return CommandResult.NO_PERMISSION; } - DataMutateResult result = holder.setPermission(NodeFactory.newBuilder(node).setValue(value).withExtraContext(context).build()); + DataMutateResult result = holder.setPermission(NodeFactory.builder(node).setValue(value).withExtraContext(context).build()); if (result.asBoolean()) { Message.SETPERMISSION_SUCCESS.send(sender, node, value, holder.getFriendlyName(), CommandUtils.contextSetToString(context)); diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/permission/PermissionSetTemp.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/permission/PermissionSetTemp.java index 5d31bb67..29463191 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/permission/PermissionSetTemp.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/permission/PermissionSetTemp.java @@ -31,13 +31,13 @@ import me.lucko.luckperms.api.context.MutableContextSet; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SharedSubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; import me.lucko.luckperms.common.config.ConfigKeys; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; @@ -82,7 +82,7 @@ public class PermissionSetTemp extends SharedSubCommand { } TemporaryModifier modifier = plugin.getConfiguration().get(ConfigKeys.TEMPORARY_ADD_BEHAVIOUR); - Map.Entry result = holder.setPermission(NodeFactory.newBuilder(node).setValue(value).withExtraContext(context).setExpiry(duration).build(), modifier); + Map.Entry result = holder.setPermission(NodeFactory.builder(node).setValue(value).withExtraContext(context).setExpiry(duration).build(), modifier); if (result.getKey().asBoolean()) { duration = result.getValue().getExpiryUnixTime(); diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/permission/PermissionUnset.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/permission/PermissionUnset.java index 1b6d51c1..da3d692b 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/permission/PermissionUnset.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/permission/PermissionUnset.java @@ -30,12 +30,12 @@ import me.lucko.luckperms.api.context.MutableContextSet; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SharedSubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; @@ -73,7 +73,7 @@ public class PermissionUnset extends SharedSubCommand { return CommandResult.NO_PERMISSION; } - DataMutateResult result = holder.unsetPermission(NodeFactory.newBuilder(node).withExtraContext(context).build()); + DataMutateResult result = holder.unsetPermission(NodeFactory.builder(node).withExtraContext(context).build()); if (result.asBoolean()) { Message.UNSETPERMISSION_SUCCESS.send(sender, node, holder.getFriendlyName(), CommandUtils.contextSetToString(context)); diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/permission/PermissionUnsetTemp.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/permission/PermissionUnsetTemp.java index baa423d8..03f6be89 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/permission/PermissionUnsetTemp.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/generic/permission/PermissionUnsetTemp.java @@ -30,12 +30,12 @@ import me.lucko.luckperms.api.context.MutableContextSet; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SharedSubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; @@ -73,7 +73,7 @@ public class PermissionUnsetTemp extends SharedSubCommand { return CommandResult.NO_PERMISSION; } - DataMutateResult result = holder.unsetPermission(NodeFactory.newBuilder(node).setExpiry(10L).withExtraContext(context).build()); + DataMutateResult result = holder.unsetPermission(NodeFactory.builder(node).setExpiry(10L).withExtraContext(context).build()); if (result.asBoolean()) { Message.UNSET_TEMP_PERMISSION_SUCCESS.send(sender, node, holder.getFriendlyName(), CommandUtils.contextSetToString(context)); diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/group/CreateGroup.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/group/CreateGroup.java index bb45cfb8..eac8aed4 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/group/CreateGroup.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/group/CreateGroup.java @@ -28,15 +28,15 @@ package me.lucko.luckperms.common.commands.impl.group; import me.lucko.luckperms.api.LogEntry; import me.lucko.luckperms.api.event.cause.CreationCause; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SingleCommand; import me.lucko.luckperms.common.commands.sender.Sender; -import me.lucko.luckperms.common.constants.CommandPermission; -import me.lucko.luckperms.common.constants.DataConstraints; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; +import me.lucko.luckperms.common.storage.DataConstraints; import me.lucko.luckperms.common.utils.Predicates; import java.util.List; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/group/DeleteGroup.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/group/DeleteGroup.java index c159dea5..3104dc64 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/group/DeleteGroup.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/group/DeleteGroup.java @@ -28,12 +28,12 @@ package me.lucko.luckperms.common.commands.impl.group; import me.lucko.luckperms.api.LogEntry; import me.lucko.luckperms.api.event.cause.DeletionCause; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SingleCommand; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.config.ConfigKeys; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/group/GroupClone.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/group/GroupClone.java index 940e7ead..feffab3d 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/group/GroupClone.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/group/GroupClone.java @@ -29,16 +29,16 @@ import me.lucko.luckperms.api.event.cause.CreationCause; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; -import me.lucko.luckperms.common.constants.CommandPermission; -import me.lucko.luckperms.common.constants.DataConstraints; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; import me.lucko.luckperms.common.model.Group; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; +import me.lucko.luckperms.common.storage.DataConstraints; import me.lucko.luckperms.common.utils.Predicates; import java.util.List; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/group/GroupInfo.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/group/GroupInfo.java index 350929ff..22d04c92 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/group/GroupInfo.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/group/GroupInfo.java @@ -28,11 +28,11 @@ package me.lucko.luckperms.common.commands.impl.group; import me.lucko.luckperms.api.Node; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/group/GroupListMembers.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/group/GroupListMembers.java index b3d9973c..7e73eff4 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/group/GroupListMembers.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/group/GroupListMembers.java @@ -33,13 +33,13 @@ import me.lucko.luckperms.api.HeldPermission; import me.lucko.luckperms.api.Node; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandManager; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; -import me.lucko.luckperms.common.constants.Constants; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; @@ -76,7 +76,7 @@ public class GroupListMembers extends SubCommand { return CommandResult.NO_PERMISSION; } - String query = "group." + group.getName(); + String query = NodeFactory.groupNode(group.getName()); int page = ArgumentUtils.handleIntOrElse(0, args, 1); Message.SEARCH_SEARCHING_MEMBERS.send(sender, group.getName()); @@ -140,7 +140,7 @@ public class GroupListMembers extends SubCommand { for (Map.Entry> ent : mappedContent) { String s = "&3> &b" + ent.getKey() + " " + getNodeExpiryString(ent.getValue().asNode()) + CommandUtils.getAppendableNodeContextString(ent.getValue().asNode()); - TextComponent message = TextUtils.fromLegacy(s, Constants.AMPERSAND_CHAR).toBuilder().applyDeep(makeFancy(ent.getKey(), holderType, label, ent.getValue())).build(); + TextComponent message = TextUtils.fromLegacy(s, CommandManager.AMPERSAND_CHAR).toBuilder().applyDeep(makeFancy(ent.getKey(), holderType, label, ent.getValue())).build(); sender.sendMessage(message); } } @@ -158,7 +158,7 @@ public class GroupListMembers extends SubCommand { "&3> &b" + perm.asNode().getGroupName(), " ", "&7Click to remove this parent from " + holderName - ), Constants.AMPERSAND_CHAR)); + ), CommandManager.AMPERSAND_CHAR)); String command = "/" + label + " " + NodeFactory.nodeAsCommand(perm.asNode(), holderName, holderType, false); ClickEvent clickEvent = new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, command); diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/group/GroupRename.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/group/GroupRename.java index c47a3f2e..d1589041 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/group/GroupRename.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/group/GroupRename.java @@ -29,16 +29,16 @@ import me.lucko.luckperms.api.event.cause.CreationCause; import me.lucko.luckperms.api.event.cause.DeletionCause; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; -import me.lucko.luckperms.common.constants.CommandPermission; -import me.lucko.luckperms.common.constants.DataConstraints; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; import me.lucko.luckperms.common.model.Group; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; +import me.lucko.luckperms.common.storage.DataConstraints; import me.lucko.luckperms.common.utils.Predicates; import java.util.List; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/group/GroupSetDisplayName.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/group/GroupSetDisplayName.java index 289b9364..42c68d84 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/group/GroupSetDisplayName.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/group/GroupSetDisplayName.java @@ -28,11 +28,11 @@ package me.lucko.luckperms.common.commands.impl.group; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; @@ -87,7 +87,7 @@ public class GroupSetDisplayName extends SubCommand { return CommandResult.SUCCESS; } - group.setPermission(NodeFactory.newBuilder("displayname." + name).build()); + group.setPermission(NodeFactory.builder("displayname." + name).build()); Message.GROUP_SET_DISPLAY_NAME.send(sender, name, group.getName()); diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/group/GroupSetWeight.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/group/GroupSetWeight.java index 49ef60b7..29f390af 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/group/GroupSetWeight.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/group/GroupSetWeight.java @@ -28,11 +28,11 @@ package me.lucko.luckperms.common.commands.impl.group; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; @@ -57,8 +57,8 @@ public class GroupSetWeight extends SubCommand { int weight = ArgumentUtils.handlePriority(0, args); - group.removeIf(n -> n.getPermission().startsWith("weight.")); - group.setPermission(NodeFactory.newBuilder("weight." + weight).build()); + group.removeIf(n -> NodeFactory.parseWeightNode(n.getPermission()) != null); + group.setPermission(NodeFactory.buildWeightNode(weight).build()); Message.GROUP_SET_WEIGHT.send(sender, weight, group.getFriendlyName()); diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/group/ListGroups.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/group/ListGroups.java index 52d503a1..5fff3b89 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/group/ListGroups.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/group/ListGroups.java @@ -25,12 +25,12 @@ package me.lucko.luckperms.common.commands.impl.group; +import me.lucko.luckperms.common.commands.CommandManager; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SingleCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; -import me.lucko.luckperms.common.constants.Constants; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; @@ -77,13 +77,13 @@ public class ListGroups extends SingleCommand { component = TextUtils.fromLegacy(Message.GROUPS_LIST_ENTRY.asString(plugin.getLocaleManager(), group.getFriendlyName(), group.getWeight().orElse(0) - ), Constants.SECTION_CHAR); + ), CommandManager.SECTION_CHAR); } else { component = TextUtils.fromLegacy(Message.GROUPS_LIST_ENTRY_WITH_TRACKS.asString(plugin.getLocaleManager(), group.getFriendlyName(), group.getWeight().orElse(0), CommandUtils.toCommaSep(tracks) - ), Constants.SECTION_CHAR); + ), CommandManager.SECTION_CHAR); } component = component.toBuilder().applyDeep(c -> { diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/log/LogGroupHistory.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/log/LogGroupHistory.java index 6bebe8fb..aaaaa576 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/log/LogGroupHistory.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/log/LogGroupHistory.java @@ -28,15 +28,15 @@ package me.lucko.luckperms.common.commands.impl.log; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.actionlog.Log; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; -import me.lucko.luckperms.common.constants.CommandPermission; -import me.lucko.luckperms.common.constants.DataConstraints; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; +import me.lucko.luckperms.common.storage.DataConstraints; import me.lucko.luckperms.common.utils.DateUtil; import me.lucko.luckperms.common.utils.Predicates; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/log/LogNotify.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/log/LogNotify.java index 2ce1f8e8..7b9d6f46 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/log/LogNotify.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/log/LogNotify.java @@ -28,10 +28,10 @@ package me.lucko.luckperms.common.commands.impl.log; import me.lucko.luckperms.api.Node; import me.lucko.luckperms.common.actionlog.Log; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/log/LogRecent.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/log/LogRecent.java index 7fcd40fa..c78b545a 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/log/LogRecent.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/log/LogRecent.java @@ -28,17 +28,17 @@ package me.lucko.luckperms.common.commands.impl.log; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.actionlog.Log; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.CommandUtils; import me.lucko.luckperms.common.config.ConfigKeys; -import me.lucko.luckperms.common.constants.CommandPermission; -import me.lucko.luckperms.common.constants.DataConstraints; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; +import me.lucko.luckperms.common.storage.DataConstraints; import me.lucko.luckperms.common.utils.DateUtil; import me.lucko.luckperms.common.utils.Predicates; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/log/LogSearch.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/log/LogSearch.java index 89eba6b3..18de1c85 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/log/LogSearch.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/log/LogSearch.java @@ -28,10 +28,10 @@ package me.lucko.luckperms.common.commands.impl.log; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.actionlog.Log; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/log/LogTrackHistory.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/log/LogTrackHistory.java index 28b62e4c..bea135c0 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/log/LogTrackHistory.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/log/LogTrackHistory.java @@ -28,15 +28,15 @@ package me.lucko.luckperms.common.commands.impl.log; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.actionlog.Log; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; -import me.lucko.luckperms.common.constants.CommandPermission; -import me.lucko.luckperms.common.constants.DataConstraints; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; +import me.lucko.luckperms.common.storage.DataConstraints; import me.lucko.luckperms.common.utils.DateUtil; import me.lucko.luckperms.common.utils.Predicates; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/log/LogUserHistory.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/log/LogUserHistory.java index 22e2ed22..ac8eb695 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/log/LogUserHistory.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/log/LogUserHistory.java @@ -28,17 +28,17 @@ package me.lucko.luckperms.common.commands.impl.log; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.actionlog.Log; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.CommandUtils; import me.lucko.luckperms.common.config.ConfigKeys; -import me.lucko.luckperms.common.constants.CommandPermission; -import me.lucko.luckperms.common.constants.DataConstraints; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; +import me.lucko.luckperms.common.storage.DataConstraints; import me.lucko.luckperms.common.utils.DateUtil; import me.lucko.luckperms.common.utils.Predicates; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/migration/MigrationMainCommand.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/migration/MigrationMainCommand.java index 765367ec..aad01564 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/migration/MigrationMainCommand.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/migration/MigrationMainCommand.java @@ -28,12 +28,12 @@ package me.lucko.luckperms.common.commands.impl.migration; import com.google.common.collect.ImmutableMap; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.Command; import me.lucko.luckperms.common.commands.abstraction.MainCommand; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/migration/MigrationUtils.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/migration/MigrationUtils.java index 17204ce4..f005786b 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/migration/MigrationUtils.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/migration/MigrationUtils.java @@ -37,26 +37,26 @@ public class MigrationUtils { public static Node.Builder parseNode(String permission, boolean value) { if (permission.startsWith("-") || permission.startsWith("!")) { if (permission.length() == 1) { - return NodeFactory.newBuilder(permission).setValue(value); + return NodeFactory.builder(permission).setValue(value); } permission = permission.substring(1); value = false; } else if (permission.startsWith("+")) { if (permission.length() == 1) { - return NodeFactory.newBuilder(permission).setValue(value); + return NodeFactory.builder(permission).setValue(value); } permission = permission.substring(1); value = true; } - return NodeFactory.newBuilder(permission).setValue(value); + return NodeFactory.builder(permission).setValue(value); } public static void setGroupWeight(Group group, int weight) { - group.removeIf(n -> n.getPermission().startsWith("weight.")); - group.setPermission(NodeFactory.make("weight." + weight)); + group.removeIf(n -> NodeFactory.parseWeightNode(n.getPermission()) != null); + group.setPermission(NodeFactory.buildWeightNode(weight).build()); } public static String standardizeName(String string) { diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/ApplyEditsCommand.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/ApplyEditsCommand.java index de83388a..389bd438 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/ApplyEditsCommand.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/ApplyEditsCommand.java @@ -32,12 +32,12 @@ import me.lucko.luckperms.api.Node; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SharedSubCommand; import me.lucko.luckperms.common.commands.abstraction.SingleCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/BulkUpdateCommand.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/BulkUpdateCommand.java index 78feb30d..adad0375 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/BulkUpdateCommand.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/BulkUpdateCommand.java @@ -37,11 +37,11 @@ import me.lucko.luckperms.common.bulkupdate.comparisons.ComparisonType; import me.lucko.luckperms.common.bulkupdate.constraint.Constraint; import me.lucko.luckperms.common.bulkupdate.constraint.QueryField; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SingleCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/CheckCommand.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/CheckCommand.java index d38ed1ac..43f50c6c 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/CheckCommand.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/CheckCommand.java @@ -27,12 +27,12 @@ package me.lucko.luckperms.common.commands.impl.misc; import me.lucko.luckperms.api.Tristate; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SingleCommand; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/ExportCommand.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/ExportCommand.java index 20d46928..c81b469a 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/ExportCommand.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/ExportCommand.java @@ -26,10 +26,10 @@ package me.lucko.luckperms.common.commands.impl.misc; import me.lucko.luckperms.common.backup.Exporter; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SingleCommand; import me.lucko.luckperms.common.commands.sender.Sender; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/ImportCommand.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/ImportCommand.java index f2c992d7..16f49019 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/ImportCommand.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/ImportCommand.java @@ -26,10 +26,10 @@ package me.lucko.luckperms.common.commands.impl.misc; import me.lucko.luckperms.common.backup.Importer; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SingleCommand; import me.lucko.luckperms.common.commands.sender.Sender; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/InfoCommand.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/InfoCommand.java index 850ec010..b0a02448 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/InfoCommand.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/InfoCommand.java @@ -25,12 +25,12 @@ package me.lucko.luckperms.common.commands.impl.misc; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SingleCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.CommandUtils; import me.lucko.luckperms.common.config.LuckPermsConfiguration; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/NetworkSyncCommand.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/NetworkSyncCommand.java index 0ad76783..9a28ce72 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/NetworkSyncCommand.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/NetworkSyncCommand.java @@ -25,10 +25,10 @@ package me.lucko.luckperms.common.commands.impl.misc; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SingleCommand; import me.lucko.luckperms.common.commands.sender.Sender; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/ReloadConfigCommand.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/ReloadConfigCommand.java index c53eaa6c..1a00d473 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/ReloadConfigCommand.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/ReloadConfigCommand.java @@ -26,10 +26,10 @@ package me.lucko.luckperms.common.commands.impl.misc; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SingleCommand; import me.lucko.luckperms.common.commands.sender.Sender; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/SearchCommand.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/SearchCommand.java index cb3531ce..83ae9568 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/SearchCommand.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/SearchCommand.java @@ -32,14 +32,14 @@ import com.google.common.collect.Maps; import me.lucko.luckperms.api.HeldPermission; import me.lucko.luckperms.api.Node; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandManager; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SingleCommand; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; -import me.lucko.luckperms.common.constants.Constants; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; @@ -139,7 +139,7 @@ public class SearchCommand extends SingleCommand { for (Map.Entry> ent : mappedContent) { String s = "&3> &b" + ent.getKey() + " &7- " + (ent.getValue().getValue() ? "&a" : "&c") + ent.getValue().getValue() + getNodeExpiryString(ent.getValue().asNode()) + CommandUtils.getAppendableNodeContextString(ent.getValue().asNode()); - TextComponent message = TextUtils.fromLegacy(s, Constants.AMPERSAND_CHAR).toBuilder().applyDeep(makeFancy(ent.getKey(), holderType, label, ent.getValue())).build(); + TextComponent message = TextUtils.fromLegacy(s, CommandManager.AMPERSAND_CHAR).toBuilder().applyDeep(makeFancy(ent.getKey(), holderType, label, ent.getValue())).build(); sender.sendMessage(message); } } @@ -157,7 +157,7 @@ public class SearchCommand extends SingleCommand { "&3> " + (perm.asNode().getValuePrimitive() ? "&a" : "&c") + perm.asNode().getPermission(), " ", "&7Click to remove this node from " + holderName - ), Constants.AMPERSAND_CHAR)); + ), CommandManager.AMPERSAND_CHAR)); String command = "/" + label + " " + NodeFactory.nodeAsCommand(perm.asNode(), holderName, holderType, false); ClickEvent clickEvent = new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, command); diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/SyncCommand.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/SyncCommand.java index 324722a8..09a1d4e5 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/SyncCommand.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/SyncCommand.java @@ -25,10 +25,10 @@ package me.lucko.luckperms.common.commands.impl.misc; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SingleCommand; import me.lucko.luckperms.common.commands.sender.Sender; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/TreeCommand.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/TreeCommand.java index 36dbe8c9..9f0995e6 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/TreeCommand.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/TreeCommand.java @@ -27,12 +27,12 @@ package me.lucko.luckperms.common.commands.impl.misc; import me.lucko.luckperms.common.caching.type.PermissionCache; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SingleCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/VerboseCommand.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/VerboseCommand.java index 75cfc24d..d224950f 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/VerboseCommand.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/misc/VerboseCommand.java @@ -27,10 +27,10 @@ package me.lucko.luckperms.common.commands.impl.misc; import com.google.common.collect.ImmutableList; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SingleCommand; import me.lucko.luckperms.common.commands.sender.Sender; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/CreateTrack.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/CreateTrack.java index e1e0d97e..89e80ba2 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/CreateTrack.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/CreateTrack.java @@ -28,15 +28,15 @@ package me.lucko.luckperms.common.commands.impl.track; import me.lucko.luckperms.api.LogEntry; import me.lucko.luckperms.api.event.cause.CreationCause; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SingleCommand; import me.lucko.luckperms.common.commands.sender.Sender; -import me.lucko.luckperms.common.constants.CommandPermission; -import me.lucko.luckperms.common.constants.DataConstraints; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; +import me.lucko.luckperms.common.storage.DataConstraints; import me.lucko.luckperms.common.utils.Predicates; import java.util.List; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/DeleteTrack.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/DeleteTrack.java index e22899af..dd41dd52 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/DeleteTrack.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/DeleteTrack.java @@ -28,11 +28,11 @@ package me.lucko.luckperms.common.commands.impl.track; import me.lucko.luckperms.api.LogEntry; import me.lucko.luckperms.api.event.cause.DeletionCause; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SingleCommand; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/ListTracks.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/ListTracks.java index 705a8735..ac77cf24 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/ListTracks.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/ListTracks.java @@ -25,11 +25,11 @@ package me.lucko.luckperms.common.commands.impl.track; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SingleCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/TrackAppend.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/TrackAppend.java index 6fd5e646..141cd68d 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/TrackAppend.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/TrackAppend.java @@ -28,18 +28,18 @@ package me.lucko.luckperms.common.commands.impl.track; import me.lucko.luckperms.api.DataMutateResult; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; -import me.lucko.luckperms.common.constants.DataConstraints; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; import me.lucko.luckperms.common.model.Group; import me.lucko.luckperms.common.model.Track; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; +import me.lucko.luckperms.common.storage.DataConstraints; import me.lucko.luckperms.common.utils.Predicates; import java.util.List; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/TrackClear.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/TrackClear.java index b228139c..e0c2672d 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/TrackClear.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/TrackClear.java @@ -27,10 +27,10 @@ package me.lucko.luckperms.common.commands.impl.track; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/TrackClone.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/TrackClone.java index 495cdb9a..476d0ce0 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/TrackClone.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/TrackClone.java @@ -28,16 +28,16 @@ package me.lucko.luckperms.common.commands.impl.track; import me.lucko.luckperms.api.event.cause.CreationCause; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; -import me.lucko.luckperms.common.constants.CommandPermission; -import me.lucko.luckperms.common.constants.DataConstraints; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; import me.lucko.luckperms.common.model.Track; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; +import me.lucko.luckperms.common.storage.DataConstraints; import me.lucko.luckperms.common.utils.Predicates; import java.util.List; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/TrackInfo.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/TrackInfo.java index 75ea4313..d75d7f5b 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/TrackInfo.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/TrackInfo.java @@ -26,11 +26,11 @@ package me.lucko.luckperms.common.commands.impl.track; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/TrackInsert.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/TrackInsert.java index dd6affdc..d1456e28 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/TrackInsert.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/TrackInsert.java @@ -28,18 +28,18 @@ package me.lucko.luckperms.common.commands.impl.track; import me.lucko.luckperms.api.DataMutateResult; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; -import me.lucko.luckperms.common.constants.DataConstraints; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; import me.lucko.luckperms.common.model.Group; import me.lucko.luckperms.common.model.Track; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; +import me.lucko.luckperms.common.storage.DataConstraints; import me.lucko.luckperms.common.utils.Predicates; import java.util.List; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/TrackRemove.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/TrackRemove.java index 468c79b3..cfce1d48 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/TrackRemove.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/TrackRemove.java @@ -28,17 +28,17 @@ package me.lucko.luckperms.common.commands.impl.track; import me.lucko.luckperms.api.DataMutateResult; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; -import me.lucko.luckperms.common.constants.DataConstraints; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; import me.lucko.luckperms.common.model.Track; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; +import me.lucko.luckperms.common.storage.DataConstraints; import me.lucko.luckperms.common.utils.Predicates; import java.util.List; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/TrackRename.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/TrackRename.java index b44504c3..ce1a8b56 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/TrackRename.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/track/TrackRename.java @@ -29,16 +29,16 @@ import me.lucko.luckperms.api.event.cause.CreationCause; import me.lucko.luckperms.api.event.cause.DeletionCause; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; -import me.lucko.luckperms.common.constants.CommandPermission; -import me.lucko.luckperms.common.constants.DataConstraints; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; import me.lucko.luckperms.common.model.Track; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; +import me.lucko.luckperms.common.storage.DataConstraints; import me.lucko.luckperms.common.utils.Predicates; import java.util.List; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/user/UserClone.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/user/UserClone.java index 4018c1cd..17fd490d 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/user/UserClone.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/user/UserClone.java @@ -25,18 +25,18 @@ package me.lucko.luckperms.common.commands.impl.user; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.CommandUtils; import me.lucko.luckperms.common.config.ConfigKeys; -import me.lucko.luckperms.common.constants.CommandPermission; -import me.lucko.luckperms.common.constants.DataConstraints; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; import me.lucko.luckperms.common.model.User; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; +import me.lucko.luckperms.common.storage.DataConstraints; import me.lucko.luckperms.common.utils.Predicates; import java.util.List; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/user/UserDemote.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/user/UserDemote.java index c3cc29de..7fb8214a 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/user/UserDemote.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/user/UserDemote.java @@ -32,13 +32,12 @@ import me.lucko.luckperms.api.context.MutableContextSet; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; -import me.lucko.luckperms.common.constants.DataConstraints; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; @@ -47,6 +46,7 @@ import me.lucko.luckperms.common.model.Track; import me.lucko.luckperms.common.model.User; import me.lucko.luckperms.common.node.NodeFactory; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; +import me.lucko.luckperms.common.storage.DataConstraints; import me.lucko.luckperms.common.utils.Predicates; import java.util.List; @@ -154,9 +154,9 @@ public class UserDemote extends SubCommand { } user.unsetPermission(oldNode); - user.setPermission(NodeFactory.newBuilder("group." + previousGroup.getName()).withExtraContext(context).build()); + user.setPermission(NodeFactory.buildGroupNode(previousGroup.getName()).withExtraContext(context).build()); - if (context.isEmpty() && user.getPrimaryGroup().getStoredValue().orElse("default").equalsIgnoreCase(old)) { + if (context.isEmpty() && user.getPrimaryGroup().getStoredValue().orElse(NodeFactory.DEFAULT_GROUP_NAME).equalsIgnoreCase(old)) { user.getPrimaryGroup().setStoredValue(previousGroup.getName()); } diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/user/UserInfo.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/user/UserInfo.java index fe2b1cb4..341fd06d 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/user/UserInfo.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/user/UserInfo.java @@ -30,11 +30,11 @@ import me.lucko.luckperms.api.Node; import me.lucko.luckperms.api.caching.MetaData; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/user/UserMainCommand.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/user/UserMainCommand.java index f4181a1f..0ddffb03 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/user/UserMainCommand.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/user/UserMainCommand.java @@ -40,13 +40,13 @@ import me.lucko.luckperms.common.commands.impl.generic.permission.CommandPermiss import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.CommandUtils; import me.lucko.luckperms.common.config.ConfigKeys; -import me.lucko.luckperms.common.constants.DataConstraints; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; import me.lucko.luckperms.common.model.User; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; import me.lucko.luckperms.common.references.UserIdentifier; +import me.lucko.luckperms.common.storage.DataConstraints; import java.util.List; import java.util.UUID; diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/user/UserPromote.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/user/UserPromote.java index e9674c14..94ff3f39 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/user/UserPromote.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/user/UserPromote.java @@ -30,13 +30,12 @@ import me.lucko.luckperms.api.context.MutableContextSet; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; -import me.lucko.luckperms.common.constants.DataConstraints; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; @@ -45,6 +44,7 @@ import me.lucko.luckperms.common.model.Track; import me.lucko.luckperms.common.model.User; import me.lucko.luckperms.common.node.NodeFactory; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; +import me.lucko.luckperms.common.storage.DataConstraints; import me.lucko.luckperms.common.utils.Predicates; import java.util.List; @@ -116,7 +116,7 @@ public class UserPromote extends SubCommand { return CommandResult.NO_PERMISSION; } - user.setPermission(NodeFactory.newBuilder("group." + nextGroup.getId()).withExtraContext(context).build()); + user.setPermission(NodeFactory.buildGroupNode(nextGroup.getId()).withExtraContext(context).build()); Message.USER_TRACK_ADDED_TO_FIRST.send(sender, user.getFriendlyName(), nextGroup.getFriendlyName(), CommandUtils.contextSetToString(context)); @@ -166,9 +166,9 @@ public class UserPromote extends SubCommand { } user.unsetPermission(oldNode); - user.setPermission(NodeFactory.newBuilder("group." + nextGroup.getName()).withExtraContext(context).build()); + user.setPermission(NodeFactory.buildGroupNode(nextGroup.getName()).withExtraContext(context).build()); - if (context.isEmpty() && user.getPrimaryGroup().getStoredValue().orElse("default").equalsIgnoreCase(old)) { + if (context.isEmpty() && user.getPrimaryGroup().getStoredValue().orElse(NodeFactory.DEFAULT_GROUP_NAME).equalsIgnoreCase(old)) { user.getPrimaryGroup().setStoredValue(nextGroup.getName()); } diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/impl/user/UserSwitchPrimaryGroup.java b/common/src/main/java/me/lucko/luckperms/common/commands/impl/user/UserSwitchPrimaryGroup.java index 99ba1965..519cb9cc 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/impl/user/UserSwitchPrimaryGroup.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/impl/user/UserSwitchPrimaryGroup.java @@ -28,11 +28,11 @@ package me.lucko.luckperms.common.commands.impl.user; import me.lucko.luckperms.common.actionlog.ExtendedLogEntry; import me.lucko.luckperms.common.commands.ArgumentPermissions; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.config.ConfigKeys; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.Message; @@ -67,14 +67,14 @@ public class UserSwitchPrimaryGroup extends SubCommand { return CommandResult.INVALID_ARGS; } - if (user.getPrimaryGroup().getStoredValue().orElse("default").equalsIgnoreCase(group.getName())) { + if (user.getPrimaryGroup().getStoredValue().orElse(NodeFactory.DEFAULT_GROUP_NAME).equalsIgnoreCase(group.getName())) { Message.USER_PRIMARYGROUP_ERROR_ALREADYHAS.send(sender, user.getFriendlyName(), group.getFriendlyName()); return CommandResult.STATE_ERROR; } if (!user.inheritsGroup(group)) { Message.USER_PRIMARYGROUP_ERROR_NOTMEMBER.send(sender, user.getFriendlyName(), group.getName()); - user.setPermission(NodeFactory.newBuilder("group." + group.getName()).build()); + user.setPermission(NodeFactory.buildGroupNode(group.getName()).build()); } user.getPrimaryGroup().setStoredValue(group.getName()); diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/sender/Sender.java b/common/src/main/java/me/lucko/luckperms/common/commands/sender/Sender.java index d037aab2..bdbd63b7 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/sender/Sender.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/sender/Sender.java @@ -26,8 +26,8 @@ package me.lucko.luckperms.common.commands.sender; import me.lucko.luckperms.api.Tristate; -import me.lucko.luckperms.common.constants.CommandPermission; -import me.lucko.luckperms.common.constants.Constants; +import me.lucko.luckperms.common.commands.CommandManager; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.contexts.ContextManager; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; @@ -83,7 +83,7 @@ public interface Sender { } /** - * Gets the sender's unique id. See {@link Constants#CONSOLE_UUID} for the console's UUID representation. + * Gets the sender's unique id. See {@link CommandManager#CONSOLE_UUID} for the console's UUID representation. * * @return the sender's uuid */ @@ -135,7 +135,7 @@ public interface Sender { * @return if the sender is the console */ default boolean isConsole() { - return Constants.CONSOLE_UUID.equals(getUuid()) || Constants.IMPORT_UUID.equals(getUuid()); + return CommandManager.CONSOLE_UUID.equals(getUuid()) || CommandManager.IMPORT_UUID.equals(getUuid()); } /** @@ -144,7 +144,7 @@ public interface Sender { * @return if the sender is an import process */ default boolean isImport() { - return Constants.IMPORT_UUID.equals(getUuid()); + return CommandManager.IMPORT_UUID.equals(getUuid()); } /** diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/utils/ArgumentUtils.java b/common/src/main/java/me/lucko/luckperms/common/commands/utils/ArgumentUtils.java index bc88189b..36e330d9 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/utils/ArgumentUtils.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/utils/ArgumentUtils.java @@ -28,11 +28,12 @@ package me.lucko.luckperms.common.commands.utils; import lombok.AllArgsConstructor; import lombok.Getter; +import me.lucko.luckperms.api.Contexts; import me.lucko.luckperms.api.context.ImmutableContextSet; import me.lucko.luckperms.api.context.MutableContextSet; import me.lucko.luckperms.common.commands.CommandException; -import me.lucko.luckperms.common.constants.DataConstraints; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; +import me.lucko.luckperms.common.storage.DataConstraints; import me.lucko.luckperms.common.utils.DateUtil; import java.util.ArrayList; @@ -125,7 +126,7 @@ public class ArgumentUtils { // one of the first two values, and doesn't have a key if (i <= 1 && !pair.contains("=")) { - String key = i == 0 ? "server" : "world"; + String key = i == 0 ? Contexts.SERVER_KEY : Contexts.WORLD_KEY; set.add(key, pair); continue; } @@ -156,28 +157,28 @@ public class ArgumentUtils { public static MutableContextSet sanitizeContexts(MutableContextSet set) throws ArgumentException { // remove any potential "global" context mappings - set.remove("server", "global"); - set.remove("world", "global"); - set.remove("server", "null"); - set.remove("world", "null"); - set.remove("server", "*"); - set.remove("world", "*"); + set.remove(Contexts.SERVER_KEY, "global"); + set.remove(Contexts.WORLD_KEY, "global"); + set.remove(Contexts.SERVER_KEY, "null"); + set.remove(Contexts.WORLD_KEY, "null"); + set.remove(Contexts.SERVER_KEY, "*"); + set.remove(Contexts.WORLD_KEY, "*"); // remove excess entries from the set. // (it can only have one server and one world.) - List servers = new ArrayList<>(set.getValues("server")); + List servers = new ArrayList<>(set.getValues(Contexts.SERVER_KEY)); if (servers.size() > 1) { // start iterating at index 1 for (int i = 1; i < servers.size(); i++) { - set.remove("server", servers.get(i)); + set.remove(Contexts.SERVER_KEY, servers.get(i)); } } - List worlds = new ArrayList<>(set.getValues("world")); + List worlds = new ArrayList<>(set.getValues(Contexts.WORLD_KEY)); if (worlds.size() > 1) { // start iterating at index 1 for (int i = 1; i < worlds.size(); i++) { - set.remove("world", worlds.get(i)); + set.remove(Contexts.WORLD_KEY, worlds.get(i)); } } diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/utils/CommandUtils.java b/common/src/main/java/me/lucko/luckperms/common/commands/utils/CommandUtils.java index 05f03935..8fd460b9 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/utils/CommandUtils.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/utils/CommandUtils.java @@ -27,6 +27,7 @@ package me.lucko.luckperms.common.commands.utils; import lombok.experimental.UtilityClass; +import me.lucko.luckperms.api.Contexts; import me.lucko.luckperms.api.Node; import me.lucko.luckperms.api.Tristate; import me.lucko.luckperms.api.context.ContextSet; @@ -208,10 +209,10 @@ public class CommandUtils { public static String getAppendableNodeContextString(Node node) { StringBuilder sb = new StringBuilder(); if (node.isServerSpecific()) { - sb.append(" ").append(contextToString("server", node.getServer().get())); + sb.append(" ").append(contextToString(Contexts.SERVER_KEY, node.getServer().get())); } if (node.isWorldSpecific()) { - sb.append(" ").append(contextToString("world", node.getWorld().get())); + sb.append(" ").append(contextToString(Contexts.WORLD_KEY, node.getWorld().get())); } for (Map.Entry c : node.getContexts().toSet()) { sb.append(" ").append(contextToString(c.getKey(), c.getValue())); diff --git a/common/src/main/java/me/lucko/luckperms/common/config/ConfigKeys.java b/common/src/main/java/me/lucko/luckperms/common/config/ConfigKeys.java index e57c5de5..8196baf8 100644 --- a/common/src/main/java/me/lucko/luckperms/common/config/ConfigKeys.java +++ b/common/src/main/java/me/lucko/luckperms/common/config/ConfigKeys.java @@ -44,6 +44,7 @@ import me.lucko.luckperms.common.metastacking.SimpleMetaStackDefinition; import me.lucko.luckperms.common.metastacking.StandardStackElements; import me.lucko.luckperms.common.model.TemporaryModifier; import me.lucko.luckperms.common.model.User; +import me.lucko.luckperms.common.node.NodeFactory; import me.lucko.luckperms.common.primarygroup.AllParentsByWeightHolder; import me.lucko.luckperms.common.primarygroup.ParentsByWeightHolder; import me.lucko.luckperms.common.primarygroup.PrimaryGroupHolder; @@ -89,14 +90,14 @@ public class ConfigKeys { * * Constant since 2.6 */ - public static final ConfigKey DEFAULT_GROUP_NODE = StaticKey.of("group.default"); + public static final ConfigKey DEFAULT_GROUP_NODE = StaticKey.of(NodeFactory.groupNode(NodeFactory.DEFAULT_GROUP_NAME)); /** * The name of the default group * * Constant since 2.6 */ - public static final ConfigKey DEFAULT_GROUP_NAME = StaticKey.of("default"); + public static final ConfigKey DEFAULT_GROUP_NAME = StaticKey.of(NodeFactory.DEFAULT_GROUP_NAME); /** * If permissions without a server context should be included. diff --git a/common/src/main/java/me/lucko/luckperms/common/constants/Constants.java b/common/src/main/java/me/lucko/luckperms/common/constants/Constants.java deleted file mode 100644 index b5e74147..00000000 --- a/common/src/main/java/me/lucko/luckperms/common/constants/Constants.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * This file is part of LuckPerms, licensed under the MIT License. - * - * Copyright (c) lucko (Luck) - * Copyright (c) contributors - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package me.lucko.luckperms.common.constants; - -import lombok.experimental.UtilityClass; - -import java.util.UUID; - -/** - * Random constants used throughout the plugin implementation. - */ -@UtilityClass -public class Constants { - - public static final UUID CONSOLE_UUID = UUID.fromString("00000000-0000-0000-0000-000000000000"); - public static final String CONSOLE_NAME = "Console"; - - public static final UUID IMPORT_UUID = UUID.fromString("11111111-1111-1111-1111-111111111111"); - public static final String IMPORT_NAME = "Import"; - - public static final char SECTION_CHAR = '\u00A7'; // ยง - public static final char AMPERSAND_CHAR = '&'; - -} diff --git a/common/src/main/java/me/lucko/luckperms/common/contexts/AbstractContextManager.java b/common/src/main/java/me/lucko/luckperms/common/contexts/AbstractContextManager.java index 3da556ca..a5fffb84 100644 --- a/common/src/main/java/me/lucko/luckperms/common/contexts/AbstractContextManager.java +++ b/common/src/main/java/me/lucko/luckperms/common/contexts/AbstractContextManager.java @@ -117,7 +117,7 @@ public abstract class AbstractContextManager implements ContextManager { } // effectively: if entries contains any non-server keys - if (entries.stream().anyMatch(pair -> !pair.getKey().equals("server"))) { + if (entries.stream().anyMatch(pair -> !pair.getKey().equals(Contexts.SERVER_KEY))) { // return all entries in 'key=value' form return Optional.of(entries.stream().map(pair -> pair.getKey() + "=" + pair.getValue()).collect(Collectors.joining(";"))); } else { diff --git a/common/src/main/java/me/lucko/luckperms/common/contexts/ContextSetComparator.java b/common/src/main/java/me/lucko/luckperms/common/contexts/ContextSetComparator.java index 053618b7..9fc007bd 100644 --- a/common/src/main/java/me/lucko/luckperms/common/contexts/ContextSetComparator.java +++ b/common/src/main/java/me/lucko/luckperms/common/contexts/ContextSetComparator.java @@ -25,6 +25,7 @@ package me.lucko.luckperms.common.contexts; +import me.lucko.luckperms.api.Contexts; import me.lucko.luckperms.api.context.ImmutableContextSet; import java.util.ArrayList; @@ -52,14 +53,14 @@ public class ContextSetComparator implements Comparator { return 0; } - boolean o1ServerSpecific = o1.containsKey("server"); - boolean o2ServerSpecific = o2.containsKey("server"); + boolean o1ServerSpecific = o1.containsKey(Contexts.SERVER_KEY); + boolean o2ServerSpecific = o2.containsKey(Contexts.SERVER_KEY); if (o1ServerSpecific != o2ServerSpecific) { return o1ServerSpecific ? 1 : -1; } - boolean o1WorldSpecific = o1.containsKey("world"); - boolean o2WorldSpecific = o2.containsKey("world"); + boolean o1WorldSpecific = o1.containsKey(Contexts.WORLD_KEY); + boolean o2WorldSpecific = o2.containsKey(Contexts.WORLD_KEY); if (o1WorldSpecific != o2WorldSpecific) { return o1WorldSpecific ? 1 : -1; } diff --git a/common/src/main/java/me/lucko/luckperms/common/contexts/LuckPermsCalculator.java b/common/src/main/java/me/lucko/luckperms/common/contexts/LuckPermsCalculator.java index 069936d8..dfd66573 100644 --- a/common/src/main/java/me/lucko/luckperms/common/contexts/LuckPermsCalculator.java +++ b/common/src/main/java/me/lucko/luckperms/common/contexts/LuckPermsCalculator.java @@ -27,6 +27,7 @@ package me.lucko.luckperms.common.contexts; import lombok.AllArgsConstructor; +import me.lucko.luckperms.api.Contexts; import me.lucko.luckperms.api.context.MutableContextSet; import me.lucko.luckperms.api.context.StaticContextCalculator; import me.lucko.luckperms.common.config.ConfigKeys; @@ -40,7 +41,7 @@ public class LuckPermsCalculator implements StaticContextCalculator { public MutableContextSet giveApplicableContext(MutableContextSet accumulator) { String server = config.get(ConfigKeys.SERVER); if (!server.equals("global")) { - accumulator.add("server", server); + accumulator.add(Contexts.SERVER_KEY, server); } accumulator.addAll(config.getContextsFile().getStaticContexts()); diff --git a/common/src/main/java/me/lucko/luckperms/common/managers/GenericUserManager.java b/common/src/main/java/me/lucko/luckperms/common/managers/GenericUserManager.java index ed2f0ea5..6685b09e 100644 --- a/common/src/main/java/me/lucko/luckperms/common/managers/GenericUserManager.java +++ b/common/src/main/java/me/lucko/luckperms/common/managers/GenericUserManager.java @@ -167,8 +167,8 @@ public class GenericUserManager extends AbstractManager im } if (!hasGroup) { - user.getPrimaryGroup().setStoredValue("default"); - user.setPermission(NodeFactory.make("group.default")); + user.getPrimaryGroup().setStoredValue(NodeFactory.DEFAULT_GROUP_NAME); + user.setPermission(NodeFactory.buildGroupNode(NodeFactory.DEFAULT_GROUP_NAME).build()); work = true; } @@ -200,13 +200,13 @@ public class GenericUserManager extends AbstractManager im return true; } - if (!node.getGroupName().equalsIgnoreCase("default")) { + if (!node.getGroupName().equalsIgnoreCase(NodeFactory.DEFAULT_GROUP_NAME)) { // The user's only node is not the default group one. return true; } } // Not in the default primary group - return !user.getPrimaryGroup().getStoredValue().orElse("default").equalsIgnoreCase("default"); + return !user.getPrimaryGroup().getStoredValue().orElse(NodeFactory.DEFAULT_GROUP_NAME).equalsIgnoreCase(NodeFactory.DEFAULT_GROUP_NAME); } } diff --git a/common/src/main/java/me/lucko/luckperms/common/model/PermissionHolder.java b/common/src/main/java/me/lucko/luckperms/common/model/PermissionHolder.java index e03d5eca..768d6e13 100644 --- a/common/src/main/java/me/lucko/luckperms/common/model/PermissionHolder.java +++ b/common/src/main/java/me/lucko/luckperms/common/model/PermissionHolder.java @@ -1045,7 +1045,7 @@ public abstract class PermissionHolder { Node previous = existing.get(); // Create a new node with the same properties, but add the expiry dates together - Node newNode = NodeFactory.builderFromExisting(node).setExpiry(previous.getExpiryUnixTime() + node.getSecondsTilExpiry()).build(); + Node newNode = NodeFactory.builder(node).setExpiry(previous.getExpiryUnixTime() + node.getSecondsTilExpiry()).build(); ImmutableCollection before = getEnduringNodes().values(); @@ -1180,11 +1180,11 @@ public abstract class PermissionHolder { } public boolean inheritsGroup(Group group) { - return group.getName().equalsIgnoreCase(this.getObjectName()) || hasPermission(NodeFactory.make("group." + group.getName(), true)).asBoolean(); + return group.getName().equalsIgnoreCase(this.getObjectName()) || hasPermission(NodeFactory.buildGroupNode(group.getName()).build()).asBoolean(); } public boolean inheritsGroup(Group group, ContextSet contextSet) { - return group.getName().equalsIgnoreCase(this.getObjectName()) || hasPermission(NodeFactory.newBuilder("group." + group.getName()).withExtraContext(contextSet).build()).asBoolean(); + return group.getName().equalsIgnoreCase(this.getObjectName()) || hasPermission(NodeFactory.buildGroupNode(group.getName()).withExtraContext(contextSet).build()).asBoolean(); } /** @@ -1397,22 +1397,14 @@ public abstract class PermissionHolder { boolean seen = false; int best = 0; for (Node n : getEnduringNodes().get(ImmutableContextSet.empty())) { - if (!n.getPermission().startsWith("weight.")) { + Integer weight = NodeFactory.parseWeightNode(n.getPermission()); + if (weight == null) { continue; } - String substring = n.getPermission().substring("weight.".length()); - - int i; - try { - i = Integer.parseInt(substring); - } catch (NumberFormatException e) { - continue; - } - - if (!seen || i > best) { + if (!seen || weight > best) { seen = true; - best = i; + best = weight; } } OptionalInt weight = seen ? OptionalInt.of(best) : OptionalInt.empty(); diff --git a/common/src/main/java/me/lucko/luckperms/common/node/ImmutableNode.java b/common/src/main/java/me/lucko/luckperms/common/node/ImmutableNode.java index 6a3e7264..2f472a47 100644 --- a/common/src/main/java/me/lucko/luckperms/common/node/ImmutableNode.java +++ b/common/src/main/java/me/lucko/luckperms/common/node/ImmutableNode.java @@ -30,10 +30,12 @@ import lombok.ToString; import com.google.common.collect.ImmutableList; +import me.lucko.luckperms.api.Contexts; import me.lucko.luckperms.api.Node; import me.lucko.luckperms.api.context.ContextSet; import me.lucko.luckperms.api.context.ImmutableContextSet; import me.lucko.luckperms.api.context.MutableContextSet; +import me.lucko.luckperms.common.processors.WildcardProcessor; import me.lucko.luckperms.common.utils.DateUtil; import java.util.Date; @@ -52,7 +54,8 @@ public final class ImmutableNode implements Node { /** * The character which separates each part of a permission node */ - private static final int NODE_SEPARATOR_CHAR = Character.getNumericValue('.'); + public static final char NODE_SEPARATOR = '.'; + public static final int NODE_SEPARATOR_CODE = Character.getNumericValue('.'); @Getter private final String permission; @@ -138,7 +141,7 @@ public final class ImmutableNode implements Node { // define cached state groupName = NodeFactory.parseGroupNode(this.permission); - wildcardLevel = this.permission.endsWith(".*") ? this.permission.chars().filter(num -> num == NODE_SEPARATOR_CHAR).sum() : -1; + wildcardLevel = this.permission.endsWith(WildcardProcessor.WILDCARD_SUFFIX) ? this.permission.chars().filter(num -> num == NODE_SEPARATOR_CODE).sum() : -1; meta = NodeFactory.parseMetaNode(this.permission); prefix = NodeFactory.parsePrefixNode(this.permission); suffix = NodeFactory.parseSuffixNode(this.permission); @@ -150,10 +153,10 @@ public final class ImmutableNode implements Node { if (this.server != null || this.world != null) { MutableContextSet fullContexts = this.contexts.mutableCopy(); if (this.server != null) { - fullContexts.add("server", this.server); + fullContexts.add(Contexts.SERVER_KEY, this.server); } if (this.world != null) { - fullContexts.add("world", this.world); + fullContexts.add(Contexts.WORLD_KEY, this.world); } this.fullContexts = fullContexts.makeImmutable(); diff --git a/common/src/main/java/me/lucko/luckperms/common/node/NodeBuilder.java b/common/src/main/java/me/lucko/luckperms/common/node/NodeBuilder.java index 0664e6a9..9f155cf8 100644 --- a/common/src/main/java/me/lucko/luckperms/common/node/NodeBuilder.java +++ b/common/src/main/java/me/lucko/luckperms/common/node/NodeBuilder.java @@ -27,6 +27,7 @@ package me.lucko.luckperms.common.node; import lombok.NonNull; +import me.lucko.luckperms.api.Contexts; import me.lucko.luckperms.api.Node; import me.lucko.luckperms.api.context.ContextSet; import me.lucko.luckperms.api.context.MutableContextSet; @@ -103,10 +104,10 @@ class NodeBuilder implements Node.Builder { @Override public Node.Builder withExtraContext(@NonNull String key, @NonNull String value) { switch (key.toLowerCase()) { - case "server": + case Contexts.SERVER_KEY: setServer(value); break; - case "world": + case Contexts.WORLD_KEY: setWorld(value); break; default: diff --git a/common/src/main/java/me/lucko/luckperms/common/node/NodeFactory.java b/common/src/main/java/me/lucko/luckperms/common/node/NodeFactory.java index b16abb82..e7f8f6fe 100644 --- a/common/src/main/java/me/lucko/luckperms/common/node/NodeFactory.java +++ b/common/src/main/java/me/lucko/luckperms/common/node/NodeFactory.java @@ -45,39 +45,168 @@ import java.util.Map; */ @UtilityClass public class NodeFactory { + public static final String DEFAULT_GROUP_NAME = "default"; + + public static final String PREFIX_KEY = "prefix"; + public static final String SUFFIX_KEY = "suffix"; + public static final String META_KEY = "meta"; + public static final String WEIGHT_KEY = "weight"; + + private static final String GROUP_NODE_MARKER = "group."; + private static final String PREFIX_NODE_MARKER = PREFIX_KEY + "."; + private static final String SUFFIX_NODE_MARKER = SUFFIX_KEY + "."; + private static final String META_NODE_MARKER = META_KEY + "."; + private static final String WEIGHT_NODE_MARKER = WEIGHT_KEY + "."; // used to split prefix/suffix/meta nodes private static final Splitter META_SPLITTER = Splitter.on(PatternCache.compileDelimitedMatcher(".", "\\")).limit(2); - public static Node.Builder newBuilder(String s) { + public static Node.Builder builder(String s) { return new NodeBuilder(s); } - public static Node.Builder builderFromExisting(Node other) { + public static Node.Builder builder(Node other) { return new NodeBuilder(other); } - public static Node.Builder makeMetaNode(String key, String value) { - if (key.equalsIgnoreCase("prefix")) { - return makePrefixNode(100, value); - } - if (key.equalsIgnoreCase("suffix")) { - return makeSuffixNode(100, value); - } - - return new NodeBuilder("meta." + LegacyNodeFactory.escapeCharacters(key) + "." + LegacyNodeFactory.escapeCharacters(value)); + public static Node.Builder buildGroupNode(String groupName) { + return new NodeBuilder(groupNode(groupName)); } - public static Node.Builder makeChatMetaNode(ChatMetaType type, int priority, String s) { - return type == ChatMetaType.PREFIX ? makePrefixNode(priority, s) : makeSuffixNode(priority, s); + public static Node.Builder buildGroupNode(Group group) { + return new NodeBuilder(groupNode(group.getName())); } - public static Node.Builder makePrefixNode(int priority, String prefix) { - return new NodeBuilder("prefix." + priority + "." + LegacyNodeFactory.escapeCharacters(prefix)); + public static Node.Builder buildMetaNode(String key, String value) { + return new NodeBuilder(metaNode(key, value)); } - public static Node.Builder makeSuffixNode(int priority, String suffix) { - return new NodeBuilder("suffix." + priority + "." + LegacyNodeFactory.escapeCharacters(suffix)); + public static Node.Builder buildChatMetaNode(ChatMetaType type, int priority, String s) { + return type == ChatMetaType.PREFIX ? buildPrefixNode(priority, s) : buildSuffixNode(priority, s); + } + + public static Node.Builder buildPrefixNode(int priority, String prefix) { + return new NodeBuilder(prefixNode(priority, prefix)); + } + + public static Node.Builder buildSuffixNode(int priority, String suffix) { + return new NodeBuilder(suffixNode(priority, suffix)); + } + + public static Node.Builder buildWeightNode(int weight) { + return new NodeBuilder(weightNode(weight)); + } + + public static String groupNode(String groupName) { + return GROUP_NODE_MARKER + groupName; + } + + public static String prefixNode(int priority, String prefix) { + return PREFIX_NODE_MARKER + priority + "." + LegacyNodeFactory.escapeCharacters(prefix); + } + + public static String suffixNode(int priority, String suffix) { + return SUFFIX_NODE_MARKER + priority + "." + LegacyNodeFactory.escapeCharacters(suffix); + } + + public static String metaNode(String key, String value) { + return META_NODE_MARKER + LegacyNodeFactory.escapeCharacters(key) + "." + LegacyNodeFactory.escapeCharacters(value); + } + + public static String weightNode(int weight) { + return WEIGHT_NODE_MARKER + weight; + } + + public static Node make(String node) { + return builder(node).build(); + } + + public static Node make(String node, boolean value) { + return builder(node).setValue(value).build(); + } + + public static Node make(String node, boolean value, String server) { + return builder(node).setValue(value).setServer(server).build(); + } + + public static Node make(String node, boolean value, String server, String world) { + return builder(node).setValue(value).setServer(server).setWorld(world).build(); + } + + public static Node make(String node, String server) { + return builder(node).setServer(server).build(); + } + + public static Node make(String node, String server, String world) { + return builder(node).setServer(server).setWorld(world).build(); + } + + public static Node make(String node, boolean value, boolean temporary) { + return builder(node).setValue(value).setExpiry(temporary ? 10L : 0L).build(); + } + + public static Node make(String node, boolean value, String server, boolean temporary) { + return builder(node).setValue(value).setServer(server).setExpiry(temporary ? 10L : 0L).build(); + } + + public static Node make(String node, boolean value, String server, String world, boolean temporary) { + return builder(node).setValue(value).setServer(server).setWorld(world).setExpiry(temporary ? 10L : 0L).build(); + } + + public static Node make(String node, String server, boolean temporary) { + return builder(node).setServer(server).setExpiry(temporary ? 10L : 0L).build(); + } + + public static Node make(String node, String server, String world, boolean temporary) { + return builder(node).setServer(server).setWorld(world).setExpiry(temporary ? 10L : 0L).build(); + } + + public static Node make(String node, boolean value, long expireAt) { + return builder(node).setValue(value).setExpiry(expireAt).build(); + } + + public static Node make(String node, boolean value, String server, long expireAt) { + return builder(node).setValue(value).setServer(server).setExpiry(expireAt).build(); + } + + public static Node make(String node, boolean value, String server, String world, long expireAt) { + return builder(node).setValue(value).setServer(server).setWorld(world).setExpiry(expireAt).build(); + } + + public static Node make(Group group, long expireAt) { + return NodeFactory.make(groupNode(group.getName()), true, expireAt); + } + + public static Node make(Group group, String server, long expireAt) { + return NodeFactory.make(groupNode(group.getName()), true, server, expireAt); + } + + public static Node make(Group group, String server, String world, long expireAt) { + return NodeFactory.make(groupNode(group.getName()), true, server, world, expireAt); + } + + public static Node make(Group group) { + return make(groupNode(group.getName())); + } + + public static Node make(Group group, boolean temporary) { + return make(groupNode(group.getName()), temporary); + } + + public static Node make(Group group, String server) { + return make(groupNode(group.getName()), server); + } + + public static Node make(Group group, String server, String world) { + return make(groupNode(group.getName()), server, world); + } + + public static Node make(Group group, String server, boolean temporary) { + return make(groupNode(group.getName()), server, temporary); + } + + public static Node make(Group group, String server, String world, boolean temporary) { + return make(groupNode(group.getName()), server, world, temporary); } public static String nodeAsCommand(Node node, String id, HolderType type, boolean set) { @@ -175,18 +304,18 @@ public class NodeFactory { public static String parseGroupNode(String s) { String lower = s.toLowerCase(); - if (!lower.startsWith("group.")) { + if (!lower.startsWith(GROUP_NODE_MARKER)) { return null; } - return lower.substring("group.".length()).intern(); + return lower.substring(GROUP_NODE_MARKER.length()).intern(); } public static Map.Entry parseMetaNode(String s) { - if (!s.startsWith("meta.")) { + if (!s.startsWith(META_NODE_MARKER)) { return null; } - Iterator metaParts = META_SPLITTER.split(s.substring("meta.".length())).iterator(); + Iterator metaParts = META_SPLITTER.split(s.substring(META_NODE_MARKER.length())).iterator(); if (!metaParts.hasNext()) return null; String key = metaParts.next(); @@ -197,12 +326,12 @@ public class NodeFactory { return Maps.immutableEntry(LegacyNodeFactory.unescapeCharacters(key).intern(), LegacyNodeFactory.unescapeCharacters(value).intern()); } - private static Map.Entry parseChatMetaNode(String type, String s) { - if (!s.startsWith(type + ".")) { + private static Map.Entry parseChatMetaNode(String marker, String s) { + if (!s.startsWith(marker)) { return null; } - Iterator metaParts = META_SPLITTER.split(s.substring((type + ".").length())).iterator(); + Iterator metaParts = META_SPLITTER.split(s.substring(marker.length())).iterator(); if (!metaParts.hasNext()) return null; String priority = metaParts.next(); @@ -220,103 +349,24 @@ public class NodeFactory { } public static Map.Entry parsePrefixNode(String s) { - return parseChatMetaNode("prefix", s); + return parseChatMetaNode(PREFIX_NODE_MARKER, s); } public static Map.Entry parseSuffixNode(String s) { - return parseChatMetaNode("suffix", s); + return parseChatMetaNode(SUFFIX_NODE_MARKER, s); } - public static Node make(String node) { - return newBuilder(node).build(); - } - - public static Node make(String node, boolean value) { - return newBuilder(node).setValue(value).build(); - } - - public static Node make(String node, boolean value, String server) { - return newBuilder(node).setValue(value).setServer(server).build(); - } - - public static Node make(String node, boolean value, String server, String world) { - return newBuilder(node).setValue(value).setServer(server).setWorld(world).build(); - } - - public static Node make(String node, String server) { - return newBuilder(node).setServer(server).build(); - } - - public static Node make(String node, String server, String world) { - return newBuilder(node).setServer(server).setWorld(world).build(); - } - - public static Node make(String node, boolean value, boolean temporary) { - return newBuilder(node).setValue(value).setExpiry(temporary ? 10L : 0L).build(); - } - - public static Node make(String node, boolean value, String server, boolean temporary) { - return newBuilder(node).setValue(value).setServer(server).setExpiry(temporary ? 10L : 0L).build(); - } - - public static Node make(String node, boolean value, String server, String world, boolean temporary) { - return newBuilder(node).setValue(value).setServer(server).setWorld(world).setExpiry(temporary ? 10L : 0L).build(); - } - - public static Node make(String node, String server, boolean temporary) { - return newBuilder(node).setServer(server).setExpiry(temporary ? 10L : 0L).build(); - } - - public static Node make(String node, String server, String world, boolean temporary) { - return newBuilder(node).setServer(server).setWorld(world).setExpiry(temporary ? 10L : 0L).build(); - } - - public static Node make(String node, boolean value, long expireAt) { - return newBuilder(node).setValue(value).setExpiry(expireAt).build(); - } - - public static Node make(String node, boolean value, String server, long expireAt) { - return newBuilder(node).setValue(value).setServer(server).setExpiry(expireAt).build(); - } - - public static Node make(String node, boolean value, String server, String world, long expireAt) { - return newBuilder(node).setValue(value).setServer(server).setWorld(world).setExpiry(expireAt).build(); - } - - public static Node make(Group group, long expireAt) { - return NodeFactory.make("group." + group.getName(), true, expireAt); - } - - public static Node make(Group group, String server, long expireAt) { - return NodeFactory.make("group." + group.getName(), true, server, expireAt); - } - - public static Node make(Group group, String server, String world, long expireAt) { - return NodeFactory.make("group." + group.getName(), true, server, world, expireAt); - } - - public static Node make(Group group) { - return make("group." + group.getName()); - } - - public static Node make(Group group, boolean temporary) { - return make("group." + group.getName(), temporary); - } - - public static Node make(Group group, String server) { - return make("group." + group.getName(), server); - } - - public static Node make(Group group, String server, String world) { - return make("group." + group.getName(), server, world); - } - - public static Node make(Group group, String server, boolean temporary) { - return make("group." + group.getName(), server, temporary); - } - - public static Node make(Group group, String server, String world, boolean temporary) { - return make("group." + group.getName(), server, world, temporary); + public static Integer parseWeightNode(String s) { + String lower = s.toLowerCase(); + if (!lower.startsWith(WEIGHT_NODE_MARKER)) { + return null; + } + String i = lower.substring(WEIGHT_NODE_MARKER.length()); + try { + return Integer.parseInt(i); + } catch (NumberFormatException e) { + return null; + } } } diff --git a/common/src/main/java/me/lucko/luckperms/common/node/NodeModel.java b/common/src/main/java/me/lucko/luckperms/common/node/NodeModel.java index ac698326..960454b2 100644 --- a/common/src/main/java/me/lucko/luckperms/common/node/NodeModel.java +++ b/common/src/main/java/me/lucko/luckperms/common/node/NodeModel.java @@ -74,7 +74,7 @@ public final class NodeModel { public synchronized Node toNode() { if (node == null) { - node = NodeFactory.newBuilder(permission) + node = NodeFactory.builder(permission) .setValue(value) .setServer(server) .setWorld(world) diff --git a/common/src/main/java/me/lucko/luckperms/common/node/ShorthandParser.java b/common/src/main/java/me/lucko/luckperms/common/node/ShorthandParser.java index 52768e42..0d925c49 100644 --- a/common/src/main/java/me/lucko/luckperms/common/node/ShorthandParser.java +++ b/common/src/main/java/me/lucko/luckperms/common/node/ShorthandParser.java @@ -40,18 +40,18 @@ import java.util.stream.IntStream; @UtilityClass public class ShorthandParser { - private static final List>> PARSERS = ImmutableList.>>builder() + private static final List>> PARSERS = ImmutableList.>>builder() .add(new ListParser()) .add(new CharacterRangeParser()) .add(new NumericRangeParser()) .build(); public static Set parseShorthand(String s) { - Set results = new HashSet<>(); + Set results = new HashSet<>(1); results.add(s); while (true) { - Set working = new HashSet<>(); + Set working = new HashSet<>(results.size()); int beforeSize = results.size(); for (String str : results) { @@ -94,10 +94,10 @@ public class ShorthandParser { String after = s.substring(closingIndex + 1); String between = s.substring(openingIndex + 1, closingIndex); - Set results = new HashSet<>(); + Set results = new HashSet<>(10); - for (Function> parser : PARSERS) { - List res = parser.apply(between); + for (Function> parser : PARSERS) { + Iterable res = parser.apply(between); if (res != null) { for (String r : res) { results.add(before + r + after); @@ -108,47 +108,45 @@ public class ShorthandParser { return results; } - private static class ListParser implements Function> { + private static class ListParser implements Function> { + private static final Splitter SPLITTER = Splitter.on(','); @Override - public List apply(String s) { + public Iterable apply(String s) { s = s.replace('|', ','); if (!s.contains(",")) { return null; } - return Splitter.on(',').splitToList(s); + return SPLITTER.split(s); } } - private static class NumericRangeParser implements Function> { + private static class NumericRangeParser implements Function> { - private static boolean isInt(String a) { + private static Integer parseInt(String a) { try { - Integer.parseInt(a); - return true; + return Integer.parseInt(a); } catch (NumberFormatException e) { - return false; + return null; } } @Override - public List apply(String s) { + public Iterable apply(String s) { int index = s.indexOf("-"); - if (index == -1) { - return null; - } - String before = s.substring(0, index); - String after = s.substring(index + 1); + if (index == -1) return null; - if (isInt(before) && isInt(after)) { - return IntStream.rangeClosed(Integer.parseInt(before), Integer.parseInt(after)) - .boxed().map(i -> "" + i).collect(Collectors.toList()); - } - return null; + Integer before = parseInt(s.substring(0, index)); + if (before == null) return null; + + Integer after = parseInt(s.substring(index + 1)); + if (after == null) return null; + + return IntStream.rangeClosed(before, after).mapToObj(Integer::toString).collect(Collectors.toList()); } } - private static class CharacterRangeParser implements Function> { + private static class CharacterRangeParser implements Function> { private static List getCharRange(char a, char b) { List s = new ArrayList<>(); @@ -159,18 +157,17 @@ public class ShorthandParser { } @Override - public List apply(String s) { + public Iterable apply(String s) { int index = s.indexOf("-"); - if (index == -1) { - return null; - } - String before = s.substring(0, index); - String after = s.substring(index + 1); + if (index == -1) return null; - if (before.length() == 1 && after.length() == 1) { - return getCharRange(before.charAt(0), after.charAt(0)); - } - return null; + String before = s.substring(0, index); + if (before.length() != 1) return null; + + String after = s.substring(index + 1); + if (after.length() != 1) return null; + + return getCharRange(before.charAt(0), after.charAt(0)); } } diff --git a/common/src/main/java/me/lucko/luckperms/common/primarygroup/CachedPrimaryGroupHolder.java b/common/src/main/java/me/lucko/luckperms/common/primarygroup/CachedPrimaryGroupHolder.java index 3f64dcc9..12a3a950 100644 --- a/common/src/main/java/me/lucko/luckperms/common/primarygroup/CachedPrimaryGroupHolder.java +++ b/common/src/main/java/me/lucko/luckperms/common/primarygroup/CachedPrimaryGroupHolder.java @@ -28,6 +28,7 @@ package me.lucko.luckperms.common.primarygroup; import me.lucko.luckperms.common.buffers.Cache; import me.lucko.luckperms.common.caching.handlers.StateListener; import me.lucko.luckperms.common.model.User; +import me.lucko.luckperms.common.node.NodeFactory; /** * Abstract implementation of {@link StateListener} which caches all lookups. @@ -52,7 +53,7 @@ public abstract class CachedPrimaryGroupHolder extends StoredHolder implements S @Override public String getValue() { String s = cache.get(); - return s != null ? s : getStoredValue().orElse("default"); + return s != null ? s : getStoredValue().orElse(NodeFactory.DEFAULT_GROUP_NAME); } @Override diff --git a/common/src/main/java/me/lucko/luckperms/common/primarygroup/GroupInheritanceComparator.java b/common/src/main/java/me/lucko/luckperms/common/primarygroup/GroupInheritanceComparator.java index edc039ee..53ac2f50 100644 --- a/common/src/main/java/me/lucko/luckperms/common/primarygroup/GroupInheritanceComparator.java +++ b/common/src/main/java/me/lucko/luckperms/common/primarygroup/GroupInheritanceComparator.java @@ -31,6 +31,7 @@ import lombok.AllArgsConstructor; import me.lucko.luckperms.common.model.Group; import me.lucko.luckperms.common.model.PermissionHolder; import me.lucko.luckperms.common.model.User; +import me.lucko.luckperms.common.node.NodeFactory; import java.util.Comparator; @@ -60,8 +61,8 @@ public class GroupInheritanceComparator implements Comparator { // failing differing group weights, check if one of the groups is a primary group if (origin != null) { - boolean o1Primary = o1.getName().equalsIgnoreCase(origin.getPrimaryGroup().getStoredValue().orElse("default")); - boolean o2Primary = o2.getName().equalsIgnoreCase(origin.getPrimaryGroup().getStoredValue().orElse("default")); + boolean o1Primary = o1.getName().equalsIgnoreCase(origin.getPrimaryGroup().getStoredValue().orElse(NodeFactory.DEFAULT_GROUP_NAME)); + boolean o2Primary = o2.getName().equalsIgnoreCase(origin.getPrimaryGroup().getStoredValue().orElse(NodeFactory.DEFAULT_GROUP_NAME)); // one of them is a primary group, and therefore has priority if (o1Primary != o2Primary) { diff --git a/common/src/main/java/me/lucko/luckperms/common/processors/MapProcessor.java b/common/src/main/java/me/lucko/luckperms/common/processors/MapProcessor.java index 81af0d7c..08215467 100644 --- a/common/src/main/java/me/lucko/luckperms/common/processors/MapProcessor.java +++ b/common/src/main/java/me/lucko/luckperms/common/processors/MapProcessor.java @@ -34,8 +34,7 @@ public class MapProcessor implements PermissionProcessor { @Override public Tristate hasPermission(String permission) { - Boolean b = map.get(permission); - return b == null ? Tristate.UNDEFINED : Tristate.fromBoolean(b); + return Tristate.fromNullableBoolean(map.get(permission)); } @Override diff --git a/common/src/main/java/me/lucko/luckperms/common/processors/WildcardProcessor.java b/common/src/main/java/me/lucko/luckperms/common/processors/WildcardProcessor.java index 20c91968..d5b75d18 100644 --- a/common/src/main/java/me/lucko/luckperms/common/processors/WildcardProcessor.java +++ b/common/src/main/java/me/lucko/luckperms/common/processors/WildcardProcessor.java @@ -26,10 +26,15 @@ package me.lucko.luckperms.common.processors; import me.lucko.luckperms.api.Tristate; +import me.lucko.luckperms.common.node.ImmutableNode; import java.util.Map; public class WildcardProcessor implements PermissionProcessor { + public static final String WILDCARD_SUFFIX = ".*"; + private static final String GLOBAL_WILDCARD_1 = "*"; + private static final String GLOBAL_WILDCARD_2 = "'*'"; + private Map map = null; @Override @@ -37,31 +42,26 @@ public class WildcardProcessor implements PermissionProcessor { String node = permission; while (true) { - int endIndex = node.lastIndexOf('.'); + int endIndex = node.lastIndexOf(ImmutableNode.NODE_SEPARATOR); if (endIndex == -1) { break; } node = node.substring(0, endIndex); if (!node.isEmpty()) { - Boolean b = map.get(node + ".*"); - if (b != null) { - return Tristate.fromBoolean(b); + Tristate t = Tristate.fromNullableBoolean(map.get(node + WILDCARD_SUFFIX)); + if (t != Tristate.UNDEFINED) { + return t; } } } - Boolean b = map.get("'*'"); - if (b != null) { - return Tristate.fromBoolean(b); + Tristate t = Tristate.fromNullableBoolean(map.get(GLOBAL_WILDCARD_1)); + if (t != Tristate.UNDEFINED) { + return t; } - b = map.get("*"); - if (b != null) { - return Tristate.fromBoolean(b); - } - - return Tristate.UNDEFINED; + return Tristate.fromNullableBoolean(map.get(GLOBAL_WILDCARD_2)); } @Override diff --git a/common/src/main/java/me/lucko/luckperms/common/constants/DataConstraints.java b/common/src/main/java/me/lucko/luckperms/common/storage/DataConstraints.java similarity index 94% rename from common/src/main/java/me/lucko/luckperms/common/constants/DataConstraints.java rename to common/src/main/java/me/lucko/luckperms/common/storage/DataConstraints.java index b516c4ea..5ce453c7 100644 --- a/common/src/main/java/me/lucko/luckperms/common/constants/DataConstraints.java +++ b/common/src/main/java/me/lucko/luckperms/common/storage/DataConstraints.java @@ -1,8 +1,5 @@ /* - * This file is part of LuckPerms, licensed under the MIT License. - * - * Copyright (c) lucko (Luck) - * Copyright (c) contributors + * Copyright (c) 2017 Lucko (Luck) * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -23,7 +20,7 @@ * SOFTWARE. */ -package me.lucko.luckperms.common.constants; +package me.lucko.luckperms.common.storage; import lombok.experimental.UtilityClass; diff --git a/common/src/main/java/me/lucko/luckperms/common/storage/dao/file/ConfigurateDao.java b/common/src/main/java/me/lucko/luckperms/common/storage/dao/file/ConfigurateDao.java index 81dbc74d..0d2dd4be 100644 --- a/common/src/main/java/me/lucko/luckperms/common/storage/dao/file/ConfigurateDao.java +++ b/common/src/main/java/me/lucko/luckperms/common/storage/dao/file/ConfigurateDao.java @@ -36,8 +36,8 @@ import me.lucko.luckperms.api.Node; import me.lucko.luckperms.api.context.ImmutableContextSet; import me.lucko.luckperms.common.actionlog.Log; import me.lucko.luckperms.common.bulkupdate.BulkUpdate; +import me.lucko.luckperms.common.commands.CommandManager; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.Constants; import me.lucko.luckperms.common.contexts.ContextSetConfigurateSerializer; import me.lucko.luckperms.common.managers.GenericUserManager; import me.lucko.luckperms.common.managers.GroupManager; @@ -45,6 +45,7 @@ import me.lucko.luckperms.common.managers.TrackManager; import me.lucko.luckperms.common.model.Group; import me.lucko.luckperms.common.model.Track; import me.lucko.luckperms.common.model.User; +import me.lucko.luckperms.common.node.NodeFactory; import me.lucko.luckperms.common.node.NodeHeldPermission; import me.lucko.luckperms.common.node.NodeModel; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; @@ -306,7 +307,7 @@ public abstract class ConfigurateDao extends AbstractDao { @Override public void logAction(LogEntry entry) { actionLogger.info(String.format(LOG_FORMAT, - (entry.getActor().equals(Constants.CONSOLE_UUID) ? "" : entry.getActor() + " "), + (entry.getActor().equals(CommandManager.CONSOLE_UUID) ? "" : entry.getActor() + " "), entry.getActorName(), Character.toString(entry.getType().getCode()), entry.getActed().map(e -> e.toString() + " ").orElse(""), @@ -424,7 +425,7 @@ public abstract class ConfigurateDao extends AbstractDao { ConfigurationNode data = SimpleConfigurationNode.root(); data.getNode("uuid").setValue(user.getUuid().toString()); data.getNode("name").setValue(user.getName().orElse("null")); - data.getNode(this instanceof JsonDao ? "primaryGroup" : "primary-group").setValue(user.getPrimaryGroup().getStoredValue().orElse("default")); + data.getNode(this instanceof JsonDao ? "primaryGroup" : "primary-group").setValue(user.getPrimaryGroup().getStoredValue().orElse(NodeFactory.DEFAULT_GROUP_NAME)); Set nodes = user.getEnduringNodes().values().stream().map(NodeModel::fromNode).collect(Collectors.toCollection(LinkedHashSet::new)); writeNodes(data, nodes); @@ -843,7 +844,7 @@ public abstract class ConfigurateDao extends AbstractDao { for (ConfigurationNode ent : parts) { String stringValue = ent.getValue(Types::strictAsString); if (stringValue != null) { - nodes.add(NodeModel.of("group." + stringValue, true, "global", "global", 0L, ImmutableContextSet.empty())); + nodes.add(NodeModel.of(NodeFactory.groupNode(stringValue), true, "global", "global", 0L, ImmutableContextSet.empty())); continue; } @@ -856,7 +857,7 @@ public abstract class ConfigurateDao extends AbstractDao { continue; } - String permission = "group." + entry.getKey().toString(); + String permission = NodeFactory.groupNode(entry.getKey().toString()); nodes.addAll(readAttributes(entry.getValue(), permission)); } } diff --git a/common/src/main/java/me/lucko/luckperms/common/storage/dao/legacy/LegacySqlMigration.java b/common/src/main/java/me/lucko/luckperms/common/storage/dao/legacy/LegacySqlMigration.java index 0d7679f9..8e95fed5 100644 --- a/common/src/main/java/me/lucko/luckperms/common/storage/dao/legacy/LegacySqlMigration.java +++ b/common/src/main/java/me/lucko/luckperms/common/storage/dao/legacy/LegacySqlMigration.java @@ -32,6 +32,7 @@ import com.google.gson.reflect.TypeToken; import me.lucko.luckperms.common.contexts.ContextSetJsonSerializer; import me.lucko.luckperms.common.node.LegacyNodeFactory; +import me.lucko.luckperms.common.node.NodeFactory; import me.lucko.luckperms.common.node.NodeModel; import me.lucko.luckperms.common.storage.dao.sql.SqlDao; @@ -87,7 +88,7 @@ public class LegacySqlMigration implements Runnable { for (Map.Entry e : l) { ps.setString(1, e.getKey().toString()); ps.setString(2, e.getValue().toLowerCase()); - ps.setString(3, "default"); + ps.setString(3, NodeFactory.DEFAULT_GROUP_NAME); ps.addBatch(); } ps.executeBatch(); @@ -176,7 +177,7 @@ public class LegacySqlMigration implements Runnable { e.printStackTrace(); } - if (!primaryGroup.equalsIgnoreCase("default")) { + if (!primaryGroup.equalsIgnoreCase(NodeFactory.DEFAULT_GROUP_NAME)) { try (Connection c = backing.getProvider().getConnection()) { try (PreparedStatement ps = c.prepareStatement(backing.getPrefix().apply("UPDATE {prefix}players SET primary_group=? WHERE uuid=?"))) { ps.setString(1, primaryGroup); diff --git a/common/src/main/java/me/lucko/luckperms/common/storage/dao/mongodb/MongoDao.java b/common/src/main/java/me/lucko/luckperms/common/storage/dao/mongodb/MongoDao.java index a3120582..c67e2f76 100644 --- a/common/src/main/java/me/lucko/luckperms/common/storage/dao/mongodb/MongoDao.java +++ b/common/src/main/java/me/lucko/luckperms/common/storage/dao/mongodb/MongoDao.java @@ -53,6 +53,7 @@ import me.lucko.luckperms.common.model.Group; import me.lucko.luckperms.common.model.Track; import me.lucko.luckperms.common.model.User; import me.lucko.luckperms.common.node.LegacyNodeFactory; +import me.lucko.luckperms.common.node.NodeFactory; import me.lucko.luckperms.common.node.NodeHeldPermission; import me.lucko.luckperms.common.node.NodeModel; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; @@ -602,7 +603,7 @@ public class MongoDao extends AbstractDao { return new Document("_id", user.getUuid()) .append("name", user.getName().orElse("null")) - .append("primaryGroup", user.getPrimaryGroup().getStoredValue().orElse("default")) + .append("primaryGroup", user.getPrimaryGroup().getStoredValue().orElse(NodeFactory.DEFAULT_GROUP_NAME)) .append("permissions", nodes); } diff --git a/common/src/main/java/me/lucko/luckperms/common/storage/dao/sql/SqlDao.java b/common/src/main/java/me/lucko/luckperms/common/storage/dao/sql/SqlDao.java index 627afe50..677953f9 100644 --- a/common/src/main/java/me/lucko/luckperms/common/storage/dao/sql/SqlDao.java +++ b/common/src/main/java/me/lucko/luckperms/common/storage/dao/sql/SqlDao.java @@ -45,6 +45,7 @@ import me.lucko.luckperms.common.managers.TrackManager; import me.lucko.luckperms.common.model.Group; import me.lucko.luckperms.common.model.Track; import me.lucko.luckperms.common.model.User; +import me.lucko.luckperms.common.node.NodeFactory; import me.lucko.luckperms.common.node.NodeHeldPermission; import me.lucko.luckperms.common.node.NodeModel; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; @@ -336,7 +337,7 @@ public class SqlDao extends AbstractDao { // update username & primary group String pg = primaryGroup.get(); if (pg == null) { - pg = "default"; + pg = NodeFactory.DEFAULT_GROUP_NAME; } user.getPrimaryGroup().setStoredValue(pg); @@ -381,7 +382,7 @@ public class SqlDao extends AbstractDao { ps.execute(); } try (PreparedStatement ps = c.prepareStatement(prefix.apply(PLAYER_UPDATE_PRIMARY_GROUP))) { - ps.setString(1, "default"); + ps.setString(1, NodeFactory.DEFAULT_GROUP_NAME); ps.setString(2, user.getUuid().toString()); ps.execute(); } @@ -465,7 +466,7 @@ public class SqlDao extends AbstractDao { if (hasPrimaryGroupSaved) { // update try (PreparedStatement ps = c.prepareStatement(prefix.apply(PLAYER_UPDATE_PRIMARY_GROUP))) { - ps.setString(1, user.getPrimaryGroup().getStoredValue().orElse("default")); + ps.setString(1, user.getPrimaryGroup().getStoredValue().orElse(NodeFactory.DEFAULT_GROUP_NAME)); ps.setString(2, user.getUuid().toString()); ps.execute(); } @@ -474,7 +475,7 @@ public class SqlDao extends AbstractDao { try (PreparedStatement ps = c.prepareStatement(prefix.apply(PLAYER_INSERT))) { ps.setString(1, user.getUuid().toString()); ps.setString(2, user.getName().orElse("null")); - ps.setString(3, user.getPrimaryGroup().getStoredValue().orElse("default")); + ps.setString(3, user.getPrimaryGroup().getStoredValue().orElse(NodeFactory.DEFAULT_GROUP_NAME)); ps.execute(); } } @@ -956,7 +957,7 @@ public class SqlDao extends AbstractDao { try (PreparedStatement ps = c.prepareStatement(prefix.apply(PLAYER_INSERT))) { ps.setString(1, uuid.toString()); ps.setString(2, u); - ps.setString(3, "default"); + ps.setString(3, NodeFactory.DEFAULT_GROUP_NAME); ps.execute(); } } diff --git a/common/src/main/java/me/lucko/luckperms/common/verbose/VerboseListener.java b/common/src/main/java/me/lucko/luckperms/common/verbose/VerboseListener.java index 4db22b30..e35c9d1b 100644 --- a/common/src/main/java/me/lucko/luckperms/common/verbose/VerboseListener.java +++ b/common/src/main/java/me/lucko/luckperms/common/verbose/VerboseListener.java @@ -32,9 +32,9 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.Maps; import me.lucko.luckperms.api.Tristate; +import me.lucko.luckperms.common.commands.CommandManager; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.Constants; import me.lucko.luckperms.common.locale.Message; import me.lucko.luckperms.common.utils.DateUtil; import me.lucko.luckperms.common.utils.PasteUtils; @@ -151,7 +151,7 @@ public class VerboseListener { } // send the message - HoverEvent e = new HoverEvent(HoverEvent.Action.SHOW_TEXT, TextUtils.fromLegacy(TextUtils.joinNewline(hover.stream()), Constants.AMPERSAND_CHAR)); + HoverEvent e = new HoverEvent(HoverEvent.Action.SHOW_TEXT, TextUtils.fromLegacy(TextUtils.joinNewline(hover.stream()), CommandManager.AMPERSAND_CHAR)); TextComponent msg = textComponent.toBuilder().applyDeep(comp -> comp.hoverEvent(e)).build(); notifiedSender.sendMessage(msg); } diff --git a/sponge/sponge-service/src/main/java/me/lucko/luckperms/sponge/service/CompatibilityUtil.java b/sponge/sponge-service/src/main/java/me/lucko/luckperms/sponge/service/CompatibilityUtil.java index 0a8c486b..bb841edb 100644 --- a/sponge/sponge-service/src/main/java/me/lucko/luckperms/sponge/service/CompatibilityUtil.java +++ b/sponge/sponge-service/src/main/java/me/lucko/luckperms/sponge/service/CompatibilityUtil.java @@ -32,13 +32,13 @@ import com.github.benmanes.caffeine.cache.Caffeine; import com.github.benmanes.caffeine.cache.LoadingCache; import com.google.common.collect.ImmutableSet; +import me.lucko.luckperms.api.Tristate; import me.lucko.luckperms.api.context.ContextSet; import me.lucko.luckperms.api.context.ImmutableContextSet; import me.lucko.luckperms.sponge.service.context.DelegatingContextSet; import me.lucko.luckperms.sponge.service.context.DelegatingImmutableContextSet; import org.spongepowered.api.service.context.Context; -import org.spongepowered.api.util.Tristate; import java.util.Set; import java.util.concurrent.TimeUnit; @@ -68,7 +68,18 @@ public class CompatibilityUtil { return LP_TO_SPONGE_CACHE.get(contexts.makeImmutable()); } - public static Tristate convertTristate(me.lucko.luckperms.api.Tristate tristate) { + public static org.spongepowered.api.util.Tristate convertTristate(Tristate tristate) { + switch (tristate) { + case TRUE: + return org.spongepowered.api.util.Tristate.TRUE; + case FALSE: + return org.spongepowered.api.util.Tristate.FALSE; + default: + return org.spongepowered.api.util.Tristate.UNDEFINED; + } + } + + public static Tristate convertTristate(org.spongepowered.api.util.Tristate tristate) { switch (tristate) { case TRUE: return Tristate.TRUE; @@ -79,15 +90,4 @@ public class CompatibilityUtil { } } - public static me.lucko.luckperms.api.Tristate convertTristate(Tristate tristate) { - switch (tristate) { - case TRUE: - return me.lucko.luckperms.api.Tristate.TRUE; - case FALSE: - return me.lucko.luckperms.api.Tristate.FALSE; - default: - return me.lucko.luckperms.api.Tristate.UNDEFINED; - } - } - } diff --git a/sponge/src/main/java/me/lucko/luckperms/sponge/LPSpongePlugin.java b/sponge/src/main/java/me/lucko/luckperms/sponge/LPSpongePlugin.java index 636b3fe0..1d4b3cdb 100644 --- a/sponge/src/main/java/me/lucko/luckperms/sponge/LPSpongePlugin.java +++ b/sponge/src/main/java/me/lucko/luckperms/sponge/LPSpongePlugin.java @@ -40,13 +40,12 @@ import me.lucko.luckperms.common.buffers.BufferedRequest; import me.lucko.luckperms.common.buffers.UpdateTaskBuffer; import me.lucko.luckperms.common.caching.handlers.CachedStateManager; import me.lucko.luckperms.common.calculators.CalculatorFactory; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.abstraction.Command; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.config.AbstractConfiguration; import me.lucko.luckperms.common.config.ConfigKeys; import me.lucko.luckperms.common.config.LuckPermsConfiguration; -import me.lucko.luckperms.common.constants.CommandPermission; -import me.lucko.luckperms.common.constants.Constants; import me.lucko.luckperms.common.contexts.ContextManager; import me.lucko.luckperms.common.contexts.LuckPermsCalculator; import me.lucko.luckperms.common.dependencies.DependencyManager; @@ -458,7 +457,7 @@ public class LPSpongePlugin implements LuckPermsPlugin { @Override public Sender getConsoleSender() { if (!game.isServerAvailable()) { - return new DummySender(this, Constants.CONSOLE_UUID, Constants.CONSOLE_NAME) { + return new DummySender(this, me.lucko.luckperms.common.commands.CommandManager.CONSOLE_UUID, me.lucko.luckperms.common.commands.CommandManager.CONSOLE_NAME) { @Override protected void consumeMessage(String s) { logger.info(s); diff --git a/sponge/src/main/java/me/lucko/luckperms/sponge/SpongeSenderFactory.java b/sponge/src/main/java/me/lucko/luckperms/sponge/SpongeSenderFactory.java index 6a285476..db553e8a 100644 --- a/sponge/src/main/java/me/lucko/luckperms/sponge/SpongeSenderFactory.java +++ b/sponge/src/main/java/me/lucko/luckperms/sponge/SpongeSenderFactory.java @@ -26,8 +26,8 @@ package me.lucko.luckperms.sponge; import me.lucko.luckperms.api.Tristate; +import me.lucko.luckperms.common.commands.CommandManager; import me.lucko.luckperms.common.commands.sender.SenderFactory; -import me.lucko.luckperms.common.constants.Constants; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; import me.lucko.luckperms.sponge.service.CompatibilityUtil; @@ -50,7 +50,7 @@ public class SpongeSenderFactory extends SenderFactory { if (source instanceof Player) { return source.getName(); } - return Constants.CONSOLE_NAME; + return CommandManager.CONSOLE_NAME; } @Override @@ -58,7 +58,7 @@ public class SpongeSenderFactory extends SenderFactory { if (source instanceof Player) { return ((Player) source).getUniqueId(); } - return Constants.CONSOLE_UUID; + return CommandManager.CONSOLE_UUID; } @Override diff --git a/sponge/src/main/java/me/lucko/luckperms/sponge/commands/OptionClear.java b/sponge/src/main/java/me/lucko/luckperms/sponge/commands/OptionClear.java index 24900010..1690842d 100644 --- a/sponge/src/main/java/me/lucko/luckperms/sponge/commands/OptionClear.java +++ b/sponge/src/main/java/me/lucko/luckperms/sponge/commands/OptionClear.java @@ -27,12 +27,12 @@ package me.lucko.luckperms.sponge.commands; import me.lucko.luckperms.api.context.ImmutableContextSet; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; diff --git a/sponge/src/main/java/me/lucko/luckperms/sponge/commands/OptionInfo.java b/sponge/src/main/java/me/lucko/luckperms/sponge/commands/OptionInfo.java index 2d9e11c5..9d66e6e7 100644 --- a/sponge/src/main/java/me/lucko/luckperms/sponge/commands/OptionInfo.java +++ b/sponge/src/main/java/me/lucko/luckperms/sponge/commands/OptionInfo.java @@ -29,12 +29,12 @@ import com.google.common.collect.ImmutableMap; import me.lucko.luckperms.api.context.ImmutableContextSet; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; diff --git a/sponge/src/main/java/me/lucko/luckperms/sponge/commands/OptionSet.java b/sponge/src/main/java/me/lucko/luckperms/sponge/commands/OptionSet.java index 24d995c1..f3ce26da 100644 --- a/sponge/src/main/java/me/lucko/luckperms/sponge/commands/OptionSet.java +++ b/sponge/src/main/java/me/lucko/luckperms/sponge/commands/OptionSet.java @@ -27,12 +27,12 @@ package me.lucko.luckperms.sponge.commands; import me.lucko.luckperms.api.context.ImmutableContextSet; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; diff --git a/sponge/src/main/java/me/lucko/luckperms/sponge/commands/OptionUnset.java b/sponge/src/main/java/me/lucko/luckperms/sponge/commands/OptionUnset.java index 59531f48..149fc388 100644 --- a/sponge/src/main/java/me/lucko/luckperms/sponge/commands/OptionUnset.java +++ b/sponge/src/main/java/me/lucko/luckperms/sponge/commands/OptionUnset.java @@ -27,12 +27,12 @@ package me.lucko.luckperms.sponge.commands; import me.lucko.luckperms.api.context.ImmutableContextSet; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; diff --git a/sponge/src/main/java/me/lucko/luckperms/sponge/commands/ParentAdd.java b/sponge/src/main/java/me/lucko/luckperms/sponge/commands/ParentAdd.java index 48ea04d2..470ade61 100644 --- a/sponge/src/main/java/me/lucko/luckperms/sponge/commands/ParentAdd.java +++ b/sponge/src/main/java/me/lucko/luckperms/sponge/commands/ParentAdd.java @@ -27,12 +27,12 @@ package me.lucko.luckperms.sponge.commands; import me.lucko.luckperms.api.context.ImmutableContextSet; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; diff --git a/sponge/src/main/java/me/lucko/luckperms/sponge/commands/ParentClear.java b/sponge/src/main/java/me/lucko/luckperms/sponge/commands/ParentClear.java index 7389d8c2..2b50590a 100644 --- a/sponge/src/main/java/me/lucko/luckperms/sponge/commands/ParentClear.java +++ b/sponge/src/main/java/me/lucko/luckperms/sponge/commands/ParentClear.java @@ -27,12 +27,12 @@ package me.lucko.luckperms.sponge.commands; import me.lucko.luckperms.api.context.ImmutableContextSet; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; diff --git a/sponge/src/main/java/me/lucko/luckperms/sponge/commands/ParentInfo.java b/sponge/src/main/java/me/lucko/luckperms/sponge/commands/ParentInfo.java index f96c2f83..8cbc0e6b 100644 --- a/sponge/src/main/java/me/lucko/luckperms/sponge/commands/ParentInfo.java +++ b/sponge/src/main/java/me/lucko/luckperms/sponge/commands/ParentInfo.java @@ -29,12 +29,12 @@ import com.google.common.collect.ImmutableList; import me.lucko.luckperms.api.context.ImmutableContextSet; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; diff --git a/sponge/src/main/java/me/lucko/luckperms/sponge/commands/ParentRemove.java b/sponge/src/main/java/me/lucko/luckperms/sponge/commands/ParentRemove.java index d8d3ff0a..054ee05d 100644 --- a/sponge/src/main/java/me/lucko/luckperms/sponge/commands/ParentRemove.java +++ b/sponge/src/main/java/me/lucko/luckperms/sponge/commands/ParentRemove.java @@ -27,12 +27,12 @@ package me.lucko.luckperms.sponge.commands; import me.lucko.luckperms.api.context.ImmutableContextSet; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; diff --git a/sponge/src/main/java/me/lucko/luckperms/sponge/commands/PermissionClear.java b/sponge/src/main/java/me/lucko/luckperms/sponge/commands/PermissionClear.java index 86f77914..264c38b9 100644 --- a/sponge/src/main/java/me/lucko/luckperms/sponge/commands/PermissionClear.java +++ b/sponge/src/main/java/me/lucko/luckperms/sponge/commands/PermissionClear.java @@ -27,12 +27,12 @@ package me.lucko.luckperms.sponge.commands; import me.lucko.luckperms.api.context.ImmutableContextSet; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; diff --git a/sponge/src/main/java/me/lucko/luckperms/sponge/commands/PermissionInfo.java b/sponge/src/main/java/me/lucko/luckperms/sponge/commands/PermissionInfo.java index 812c7280..3acf875e 100644 --- a/sponge/src/main/java/me/lucko/luckperms/sponge/commands/PermissionInfo.java +++ b/sponge/src/main/java/me/lucko/luckperms/sponge/commands/PermissionInfo.java @@ -29,12 +29,12 @@ import com.google.common.collect.ImmutableMap; import me.lucko.luckperms.api.context.ImmutableContextSet; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; diff --git a/sponge/src/main/java/me/lucko/luckperms/sponge/commands/PermissionSet.java b/sponge/src/main/java/me/lucko/luckperms/sponge/commands/PermissionSet.java index ee3b70c4..4aad7793 100644 --- a/sponge/src/main/java/me/lucko/luckperms/sponge/commands/PermissionSet.java +++ b/sponge/src/main/java/me/lucko/luckperms/sponge/commands/PermissionSet.java @@ -28,12 +28,12 @@ package me.lucko.luckperms.sponge.commands; import me.lucko.luckperms.api.Tristate; import me.lucko.luckperms.api.context.ImmutableContextSet; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.ArgumentUtils; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; diff --git a/sponge/src/main/java/me/lucko/luckperms/sponge/contexts/WorldCalculator.java b/sponge/src/main/java/me/lucko/luckperms/sponge/contexts/WorldCalculator.java index 0ccc4c93..4109eee2 100644 --- a/sponge/src/main/java/me/lucko/luckperms/sponge/contexts/WorldCalculator.java +++ b/sponge/src/main/java/me/lucko/luckperms/sponge/contexts/WorldCalculator.java @@ -27,6 +27,7 @@ package me.lucko.luckperms.sponge.contexts; import lombok.RequiredArgsConstructor; +import me.lucko.luckperms.api.Contexts; import me.lucko.luckperms.api.context.ContextCalculator; import me.lucko.luckperms.api.context.MutableContextSet; import me.lucko.luckperms.common.config.ConfigKeys; @@ -38,8 +39,6 @@ import org.spongepowered.api.service.permission.Subject; @RequiredArgsConstructor public class WorldCalculator implements ContextCalculator { - private static final String WORLD_KEY = "world"; - private final LuckPermsPlugin plugin; @Override @@ -51,8 +50,8 @@ public class WorldCalculator implements ContextCalculator { Player p = ((Player) source); String world = p.getWorld().getName().toLowerCase(); - while (!accumulator.has(WORLD_KEY, world)) { - accumulator.add(WORLD_KEY, world); + while (!accumulator.has(Contexts.WORLD_KEY, world)) { + accumulator.add(Contexts.WORLD_KEY, world); world = plugin.getConfiguration().get(ConfigKeys.WORLD_REWRITES).getOrDefault(world, world).toLowerCase(); } diff --git a/sponge/src/main/java/me/lucko/luckperms/sponge/managers/SpongeGroupManager.java b/sponge/src/main/java/me/lucko/luckperms/sponge/managers/SpongeGroupManager.java index 3af69645..4be19363 100644 --- a/sponge/src/main/java/me/lucko/luckperms/sponge/managers/SpongeGroupManager.java +++ b/sponge/src/main/java/me/lucko/luckperms/sponge/managers/SpongeGroupManager.java @@ -39,9 +39,9 @@ import me.lucko.luckperms.api.HeldPermission; import me.lucko.luckperms.api.Tristate; import me.lucko.luckperms.api.context.ImmutableContextSet; import me.lucko.luckperms.api.event.cause.CreationCause; -import me.lucko.luckperms.common.constants.DataConstraints; import me.lucko.luckperms.common.managers.GroupManager; import me.lucko.luckperms.common.model.Group; +import me.lucko.luckperms.common.storage.DataConstraints; import me.lucko.luckperms.common.utils.ImmutableCollectors; import me.lucko.luckperms.sponge.LPSpongePlugin; import me.lucko.luckperms.sponge.model.SpongeGroup; diff --git a/sponge/src/main/java/me/lucko/luckperms/sponge/migration/MigrationPermissionManager.java b/sponge/src/main/java/me/lucko/luckperms/sponge/migration/MigrationPermissionManager.java index 088c44dd..06ece8ca 100644 --- a/sponge/src/main/java/me/lucko/luckperms/sponge/migration/MigrationPermissionManager.java +++ b/sponge/src/main/java/me/lucko/luckperms/sponge/migration/MigrationPermissionManager.java @@ -27,12 +27,12 @@ package me.lucko.luckperms.sponge.migration; import me.lucko.luckperms.api.event.cause.CreationCause; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.impl.migration.MigrationUtils; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.logging.ProgressLogger; diff --git a/sponge/src/main/java/me/lucko/luckperms/sponge/migration/MigrationPermissionsEx.java b/sponge/src/main/java/me/lucko/luckperms/sponge/migration/MigrationPermissionsEx.java index 74ad548b..f39e78eb 100644 --- a/sponge/src/main/java/me/lucko/luckperms/sponge/migration/MigrationPermissionsEx.java +++ b/sponge/src/main/java/me/lucko/luckperms/sponge/migration/MigrationPermissionsEx.java @@ -27,12 +27,12 @@ package me.lucko.luckperms.sponge.migration; import me.lucko.luckperms.api.event.cause.CreationCause; import me.lucko.luckperms.common.commands.CommandException; +import me.lucko.luckperms.common.commands.CommandPermission; import me.lucko.luckperms.common.commands.CommandResult; import me.lucko.luckperms.common.commands.abstraction.SubCommand; import me.lucko.luckperms.common.commands.impl.migration.MigrationUtils; import me.lucko.luckperms.common.commands.sender.Sender; import me.lucko.luckperms.common.commands.utils.CommandUtils; -import me.lucko.luckperms.common.constants.CommandPermission; import me.lucko.luckperms.common.locale.CommandSpec; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.logging.ProgressLogger; diff --git a/sponge/src/main/java/me/lucko/luckperms/sponge/migration/SpongeMigrationUtils.java b/sponge/src/main/java/me/lucko/luckperms/sponge/migration/SpongeMigrationUtils.java index 841e0f9c..6611e0cf 100644 --- a/sponge/src/main/java/me/lucko/luckperms/sponge/migration/SpongeMigrationUtils.java +++ b/sponge/src/main/java/me/lucko/luckperms/sponge/migration/SpongeMigrationUtils.java @@ -62,7 +62,7 @@ public class SpongeMigrationUtils { continue; } - to.setPermission(NodeFactory.newBuilder(perm.getKey()).withExtraContext(context).setValue(perm.getValue()).build()); + to.setPermission(NodeFactory.builder(perm.getKey()).withExtraContext(context).setValue(perm.getValue()).build()); } } @@ -76,12 +76,12 @@ public class SpongeMigrationUtils { continue; } - if (opt.getKey().equalsIgnoreCase("prefix")) { - to.setPermission(NodeFactory.makePrefixNode(priority, opt.getValue()).withExtraContext(context).setValue(true).build()); - } else if (opt.getKey().equalsIgnoreCase("suffix")) { - to.setPermission(NodeFactory.makeSuffixNode(priority, opt.getValue()).withExtraContext(context).setValue(true).build()); + if (opt.getKey().equalsIgnoreCase(NodeFactory.PREFIX_KEY)) { + to.setPermission(NodeFactory.buildPrefixNode(priority, opt.getValue()).withExtraContext(context).setValue(true).build()); + } else if (opt.getKey().equalsIgnoreCase(NodeFactory.SUFFIX_KEY)) { + to.setPermission(NodeFactory.buildSuffixNode(priority, opt.getValue()).withExtraContext(context).setValue(true).build()); } else { - to.setPermission(NodeFactory.makeMetaNode(opt.getKey(), opt.getValue()).withExtraContext(context).setValue(true).build()); + to.setPermission(NodeFactory.buildMetaNode(opt.getKey(), opt.getValue()).withExtraContext(context).setValue(true).build()); } } } @@ -96,7 +96,7 @@ public class SpongeMigrationUtils { continue; // LuckPerms does not support persisting other subject types. } - to.setPermission(NodeFactory.newBuilder("group." + MigrationUtils.standardizeName(s.getIdentifier())).withExtraContext(context).setValue(true).build()); + to.setPermission(NodeFactory.buildGroupNode(MigrationUtils.standardizeName(s.getIdentifier())).withExtraContext(context).setValue(true).build()); } } } diff --git a/sponge/src/main/java/me/lucko/luckperms/sponge/model/SpongeGroup.java b/sponge/src/main/java/me/lucko/luckperms/sponge/model/SpongeGroup.java index 930cc688..c7d2e4ac 100644 --- a/sponge/src/main/java/me/lucko/luckperms/sponge/model/SpongeGroup.java +++ b/sponge/src/main/java/me/lucko/luckperms/sponge/model/SpongeGroup.java @@ -34,6 +34,7 @@ import me.lucko.luckperms.api.Tristate; import me.lucko.luckperms.api.caching.MetaData; import me.lucko.luckperms.api.context.ImmutableContextSet; import me.lucko.luckperms.common.model.Group; +import me.lucko.luckperms.common.node.NodeFactory; import me.lucko.luckperms.common.verbose.CheckOrigin; import me.lucko.luckperms.sponge.LPSpongePlugin; import me.lucko.luckperms.sponge.service.LuckPermsService; @@ -117,7 +118,7 @@ public class SpongeGroup extends Group { @Override public boolean isChildOf(ImmutableContextSet contexts, SubjectReference parent) { - return parent.getCollectionIdentifier().equals(PermissionService.SUBJECTS_GROUP) && getPermissionValue(contexts, "group." + parent.getSubjectIdentifier()).asBoolean(); + return parent.getCollectionIdentifier().equals(PermissionService.SUBJECTS_GROUP) && getPermissionValue(contexts, NodeFactory.groupNode(parent.getSubjectIdentifier())).asBoolean(); } @Override @@ -129,11 +130,11 @@ public class SpongeGroup extends Group { continue; } - if (!entry.getKey().startsWith("group.")) { + String groupName = NodeFactory.parseGroupNode(entry.getKey()); + if (groupName == null) { continue; } - String groupName = entry.getKey().substring("group.".length()); if (plugin.getGroupManager().isLoaded(groupName)) { subjects.add(plugin.getService().getGroupSubjects().loadSubject(groupName).join().toReference()); } @@ -148,13 +149,13 @@ public class SpongeGroup extends Group { @Override public Optional getOption(ImmutableContextSet contexts, String s) { MetaData data = parent.getCachedData().getMetaData(plugin.getContextManager().formContexts(contexts)); - if (s.equalsIgnoreCase("prefix")) { + if (s.equalsIgnoreCase(NodeFactory.PREFIX_KEY)) { if (data.getPrefix() != null) { return Optional.of(data.getPrefix()); } } - if (s.equalsIgnoreCase("suffix")) { + if (s.equalsIgnoreCase(NodeFactory.SUFFIX_KEY)) { if (data.getSuffix() != null) { return Optional.of(data.getSuffix()); } diff --git a/sponge/src/main/java/me/lucko/luckperms/sponge/model/SpongeUser.java b/sponge/src/main/java/me/lucko/luckperms/sponge/model/SpongeUser.java index 9b082459..0a2f139d 100644 --- a/sponge/src/main/java/me/lucko/luckperms/sponge/model/SpongeUser.java +++ b/sponge/src/main/java/me/lucko/luckperms/sponge/model/SpongeUser.java @@ -34,6 +34,7 @@ import me.lucko.luckperms.api.Tristate; import me.lucko.luckperms.api.caching.MetaData; import me.lucko.luckperms.api.context.ImmutableContextSet; import me.lucko.luckperms.common.model.User; +import me.lucko.luckperms.common.node.NodeFactory; import me.lucko.luckperms.common.verbose.CheckOrigin; import me.lucko.luckperms.sponge.LPSpongePlugin; import me.lucko.luckperms.sponge.service.LuckPermsService; @@ -126,7 +127,7 @@ public class SpongeUser extends User { @Override public boolean isChildOf(ImmutableContextSet contexts, SubjectReference parent) { - return parent.getCollectionIdentifier().equals(PermissionService.SUBJECTS_GROUP) && getPermissionValue(contexts, "group." + parent.getSubjectIdentifier()).asBoolean(); + return parent.getCollectionIdentifier().equals(PermissionService.SUBJECTS_GROUP) && getPermissionValue(contexts, NodeFactory.groupNode(parent.getSubjectIdentifier())).asBoolean(); } @Override @@ -138,11 +139,11 @@ public class SpongeUser extends User { continue; } - if (!entry.getKey().startsWith("group.")) { + String groupName = NodeFactory.parseGroupNode(entry.getKey()); + if (groupName == null) { continue; } - String groupName = entry.getKey().substring("group.".length()); if (plugin.getGroupManager().isLoaded(groupName)) { subjects.add(plugin.getService().getGroupSubjects().loadSubject(groupName).join().toReference()); } @@ -157,13 +158,13 @@ public class SpongeUser extends User { @Override public Optional getOption(ImmutableContextSet contexts, String s) { MetaData data = parent.getCachedData().getMetaData(plugin.getContextManager().formContexts(contexts)); - if (s.equalsIgnoreCase("prefix")) { + if (s.equalsIgnoreCase(NodeFactory.PREFIX_KEY)) { if (data.getPrefix() != null) { return Optional.of(data.getPrefix()); } } - if (s.equalsIgnoreCase("suffix")) { + if (s.equalsIgnoreCase(NodeFactory.SUFFIX_KEY)) { if (data.getSuffix() != null) { return Optional.of(data.getSuffix()); } diff --git a/sponge/src/main/java/me/lucko/luckperms/sponge/processors/SpongeWildcardProcessor.java b/sponge/src/main/java/me/lucko/luckperms/sponge/processors/SpongeWildcardProcessor.java index 7a9f2a3d..8836a535 100644 --- a/sponge/src/main/java/me/lucko/luckperms/sponge/processors/SpongeWildcardProcessor.java +++ b/sponge/src/main/java/me/lucko/luckperms/sponge/processors/SpongeWildcardProcessor.java @@ -26,6 +26,7 @@ package me.lucko.luckperms.sponge.processors; import me.lucko.luckperms.api.Tristate; +import me.lucko.luckperms.common.node.ImmutableNode; import me.lucko.luckperms.common.processors.PermissionProcessor; import java.util.Map; @@ -38,16 +39,16 @@ public class SpongeWildcardProcessor implements PermissionProcessor { String node = permission; while (true) { - int endIndex = node.lastIndexOf('.'); + int endIndex = node.lastIndexOf(ImmutableNode.NODE_SEPARATOR); if (endIndex == -1) { break; } node = node.substring(0, endIndex); if (!node.isEmpty()) { - Boolean b = map.get(node); - if (b != null) { - return Tristate.fromBoolean(b); + Tristate t = Tristate.fromNullableBoolean(map.get(node)); + if (t != Tristate.UNDEFINED) { + return t; } } } diff --git a/sponge/src/main/java/me/lucko/luckperms/sponge/service/LuckPermsService.java b/sponge/src/main/java/me/lucko/luckperms/sponge/service/LuckPermsService.java index 797bbfff..e42c2768 100644 --- a/sponge/src/main/java/me/lucko/luckperms/sponge/service/LuckPermsService.java +++ b/sponge/src/main/java/me/lucko/luckperms/sponge/service/LuckPermsService.java @@ -72,7 +72,6 @@ import java.util.function.Predicate; */ @Getter public class LuckPermsService implements LPPermissionService { - public static final String SERVER_CONTEXT = "server"; private final LPSpongePlugin plugin; diff --git a/sponge/src/main/java/me/lucko/luckperms/sponge/service/LuckPermsSubjectData.java b/sponge/src/main/java/me/lucko/luckperms/sponge/service/LuckPermsSubjectData.java index 79dde053..9c825a69 100644 --- a/sponge/src/main/java/me/lucko/luckperms/sponge/service/LuckPermsSubjectData.java +++ b/sponge/src/main/java/me/lucko/luckperms/sponge/service/LuckPermsSubjectData.java @@ -91,7 +91,7 @@ public class LuckPermsSubjectData implements LPSubjectData { public CompletableFuture setPermission(@NonNull ImmutableContextSet contexts, @NonNull String permission, @NonNull Tristate tristate) { if (tristate == Tristate.UNDEFINED) { // Unset - Node node = NodeFactory.newBuilder(permission).withExtraContext(contexts).build(); + Node node = NodeFactory.builder(permission).withExtraContext(contexts).build(); if (enduring) { holder.unsetPermission(node); @@ -102,7 +102,7 @@ public class LuckPermsSubjectData implements LPSubjectData { return objectSave(holder).thenApply(v -> true); } - Node node = NodeFactory.newBuilder(permission).setValue(tristate.asBoolean()).withExtraContext(contexts).build(); + Node node = NodeFactory.builder(permission).setValue(tristate.asBoolean()).withExtraContext(contexts).build(); // Workaround: unset the inverse, to allow false -> true, true -> false overrides. if (enduring) { @@ -193,11 +193,11 @@ public class LuckPermsSubjectData implements LPSubjectData { DataMutateResult result; if (enduring) { - result = holder.setPermission(NodeFactory.newBuilder("group." + sub.getIdentifier()) + result = holder.setPermission(NodeFactory.buildGroupNode(sub.getIdentifier()) .withExtraContext(contexts) .build()); } else { - result = holder.setTransientPermission(NodeFactory.newBuilder("group." + sub.getIdentifier()) + result = holder.setTransientPermission(NodeFactory.buildGroupNode(sub.getIdentifier()) .withExtraContext(contexts) .build()); } @@ -219,11 +219,11 @@ public class LuckPermsSubjectData implements LPSubjectData { DataMutateResult result; if (enduring) { - result = holder.unsetPermission(NodeFactory.newBuilder("group." + sub.getIdentifier()) + result = holder.unsetPermission(NodeFactory.buildGroupNode(sub.getIdentifier()) .withExtraContext(contexts) .build()); } else { - result = holder.unsetTransientPermission(NodeFactory.newBuilder("group." + sub.getIdentifier()) + result = holder.unsetTransientPermission(NodeFactory.buildGroupNode(sub.getIdentifier()) .withExtraContext(contexts) .build()); } @@ -310,7 +310,7 @@ public class LuckPermsSubjectData implements LPSubjectData { if (n.isPrefix()) { Map.Entry value = n.getPrefix(); if (value.getKey() > minPrefixPriority.get(immutableContexts)) { - options.get(immutableContexts).put("prefix", value.getValue()); + options.get(immutableContexts).put(NodeFactory.PREFIX_KEY, value.getValue()); minPrefixPriority.put(immutableContexts, value.getKey()); } continue; @@ -319,7 +319,7 @@ public class LuckPermsSubjectData implements LPSubjectData { if (n.isSuffix()) { Map.Entry value = n.getSuffix(); if (value.getKey() > minSuffixPriority.get(immutableContexts)) { - options.get(immutableContexts).put("suffix", value.getValue()); + options.get(immutableContexts).put(NodeFactory.SUFFIX_KEY, value.getValue()); minSuffixPriority.put(immutableContexts, value.getKey()); } continue; @@ -340,7 +340,7 @@ public class LuckPermsSubjectData implements LPSubjectData { @Override public CompletableFuture setOption(@NonNull ImmutableContextSet context, @NonNull String key, @NonNull String value) { - if (key.equalsIgnoreCase("prefix") || key.equalsIgnoreCase("suffix")) { + if (key.equalsIgnoreCase(NodeFactory.PREFIX_KEY) || key.equalsIgnoreCase(NodeFactory.SUFFIX_KEY)) { // special handling. ChatMetaType type = ChatMetaType.valueOf(key.toUpperCase()); @@ -357,9 +357,9 @@ public class LuckPermsSubjectData implements LPSubjectData { priority += 10; if (enduring) { - holder.setPermission(NodeFactory.makeChatMetaNode(type, priority, value).withExtraContext(context).build()); + holder.setPermission(NodeFactory.buildChatMetaNode(type, priority, value).withExtraContext(context).build()); } else { - holder.setTransientPermission(NodeFactory.makeChatMetaNode(type, priority, value).withExtraContext(context).build()); + holder.setTransientPermission(NodeFactory.buildChatMetaNode(type, priority, value).withExtraContext(context).build()); } } else { @@ -372,9 +372,9 @@ public class LuckPermsSubjectData implements LPSubjectData { toRemove.forEach(makeUnsetConsumer(enduring)); if (enduring) { - holder.setPermission(NodeFactory.makeMetaNode(key, value).withExtraContext(context).build()); + holder.setPermission(NodeFactory.buildMetaNode(key, value).withExtraContext(context).build()); } else { - holder.setTransientPermission(NodeFactory.makeMetaNode(key, value).withExtraContext(context).build()); + holder.setTransientPermission(NodeFactory.buildMetaNode(key, value).withExtraContext(context).build()); } } @@ -385,9 +385,9 @@ public class LuckPermsSubjectData implements LPSubjectData { public CompletableFuture unsetOption(ImmutableContextSet set, String key) { List toRemove = streamNodes(enduring) .filter(n -> { - if (key.equalsIgnoreCase("prefix")) { + if (key.equalsIgnoreCase(NodeFactory.PREFIX_KEY)) { return n.isPrefix(); - } else if (key.equalsIgnoreCase("suffix")) { + } else if (key.equalsIgnoreCase(NodeFactory.SUFFIX_KEY)) { return n.isSuffix(); } else { return n.isMeta() && n.getMeta().getKey().equals(key);