From b2cf6dce2d10c408e55f6ab4c07ebc936e67dc14 Mon Sep 17 00:00:00 2001 From: Luck Date: Sun, 28 Aug 2016 15:29:02 +0100 Subject: [PATCH] Prepare for 1.6 release --- bukkit/src/main/resources/config.yml | 3 --- bungee/src/main/resources/config.yml | 3 --- .../luckperms/commands/misc/InfoCommand.java | 1 - .../me/lucko/luckperms/constants/Message.java | 1 - .../lucko/luckperms/core/LPConfiguration.java | 19 ++++++++++--------- .../luckperms/core/PermissionHolder.java | 2 +- .../me/lucko/luckperms/LPSpongePlugin.java | 4 ++++ .../me/lucko/luckperms/SpongeListener.java | 13 ------------- .../api/sponge/LuckPermsService.java | 13 +++++-------- .../me/lucko/luckperms/users/SpongeUser.java | 10 +++++----- .../luckperms/users/SpongeUserManager.java | 7 ------- sponge/src/main/resources/luckperms.conf | 3 --- 12 files changed, 25 insertions(+), 54 deletions(-) diff --git a/bukkit/src/main/resources/config.yml b/bukkit/src/main/resources/config.yml index 5b3d720c1..821cfc54e 100644 --- a/bukkit/src/main/resources/config.yml +++ b/bukkit/src/main/resources/config.yml @@ -8,9 +8,6 @@ # The name of the server, used for server specific permissions. Set to 'global' to disable. server: global -# The default group assigned to all users on their first join. -default-group: default - # If users on this server should have their global permissions/groups applied. include-global: true diff --git a/bungee/src/main/resources/config.yml b/bungee/src/main/resources/config.yml index 2f1f846ae..64dc8db8c 100644 --- a/bungee/src/main/resources/config.yml +++ b/bungee/src/main/resources/config.yml @@ -8,9 +8,6 @@ # The name of the server, used for server specific permissions. Set to 'global' to disable. server: bungee -# The default group assigned to all users on their first join. -default-group: default - # If users on this server should have their global permissions/groups applied. include-global: false diff --git a/common/src/main/java/me/lucko/luckperms/commands/misc/InfoCommand.java b/common/src/main/java/me/lucko/luckperms/commands/misc/InfoCommand.java index 35322a555..13e661f4d 100644 --- a/common/src/main/java/me/lucko/luckperms/commands/misc/InfoCommand.java +++ b/common/src/main/java/me/lucko/luckperms/commands/misc/InfoCommand.java @@ -46,7 +46,6 @@ public class InfoCommand extends SingleMainCommand { plugin.getVersion(), plugin.getDatastore().getName(), c.getServer(), - c.getDefaultGroupName(), c.getSyncTime(), formatBoolean(c.getIncludeGlobalPerms()), formatBoolean(c.getOnlineMode()), diff --git a/common/src/main/java/me/lucko/luckperms/constants/Message.java b/common/src/main/java/me/lucko/luckperms/constants/Message.java index b7f7d4b62..8a6fe3b89 100644 --- a/common/src/main/java/me/lucko/luckperms/constants/Message.java +++ b/common/src/main/java/me/lucko/luckperms/constants/Message.java @@ -125,7 +125,6 @@ public enum Message { PREFIX + "&6Running &bLuckPerms v%s&6 by &bLuck&6." + "\n" + PREFIX + "&f-> &eStorage Method: &6%s" + "\n" + PREFIX + "&f-> &eServer Name: &6%s" + "\n" + - PREFIX + "&f-> &eDefault Group: &6%s" + "\n" + PREFIX + "&f-> &eSync Interval: &6%s minutes" + "\n" + PREFIX + "&f-> &eInclude Global Perms: &6%s" + "\n" + PREFIX + "&f-> &eOnline Mode: &6%s" + "\n" + diff --git a/common/src/main/java/me/lucko/luckperms/core/LPConfiguration.java b/common/src/main/java/me/lucko/luckperms/core/LPConfiguration.java index c1d2f40ec..74ef8bebc 100644 --- a/common/src/main/java/me/lucko/luckperms/core/LPConfiguration.java +++ b/common/src/main/java/me/lucko/luckperms/core/LPConfiguration.java @@ -50,13 +50,6 @@ public abstract class LPConfiguration { defaultServerName + "' (the default)"); set("server", defaultServerName); } - - if (Patterns.NON_ALPHA_NUMERIC.matcher(getDefaultGroupName()).find()) { - plugin.getLog().severe("Default group defined in config.yml contains invalid characters. Group names can " + - "only contain alphanumeric characters.\nDefined default group name '" + getDefaultGroupName() + - "' will be replaced with 'default' (the default)"); - set("default-group", "default"); - } } protected abstract void init(); @@ -73,12 +66,20 @@ public abstract class LPConfiguration { return getInt("data.sync-minutes", 3); } + /** + * As of 1.6, this value is a constant + * @return the default group node + */ public String getDefaultGroupNode() { - return "group." + getDefaultGroupName(); + return "group.default"; } + /** + * As of 1.6, this value is a constant + * @return the name of the default group + */ public String getDefaultGroupName() { - return getString("default-group", "default"); + return "default"; } public boolean getIncludeGlobalPerms() { diff --git a/common/src/main/java/me/lucko/luckperms/core/PermissionHolder.java b/common/src/main/java/me/lucko/luckperms/core/PermissionHolder.java index 6035180d9..3444e9f5c 100644 --- a/common/src/main/java/me/lucko/luckperms/core/PermissionHolder.java +++ b/common/src/main/java/me/lucko/luckperms/core/PermissionHolder.java @@ -85,7 +85,7 @@ public abstract class PermissionHolder { permissions.addAll(nodes); permissions.addAll(transientNodes); - Iterator iterator = permissions.descendingIterator(); // TODO check this + Iterator iterator = permissions.descendingIterator(); while (iterator.hasNext()) { Node entry = iterator.next(); diff --git a/sponge/src/main/java/me/lucko/luckperms/LPSpongePlugin.java b/sponge/src/main/java/me/lucko/luckperms/LPSpongePlugin.java index 6273681f7..086860ac5 100644 --- a/sponge/src/main/java/me/lucko/luckperms/LPSpongePlugin.java +++ b/sponge/src/main/java/me/lucko/luckperms/LPSpongePlugin.java @@ -26,6 +26,7 @@ import com.google.inject.Inject; import lombok.Getter; import me.lucko.luckperms.api.LuckPermsApi; import me.lucko.luckperms.api.implementation.ApiProvider; +import me.lucko.luckperms.api.sponge.LuckPermsService; import me.lucko.luckperms.commands.ConsecutiveExecutor; import me.lucko.luckperms.commands.Sender; import me.lucko.luckperms.constants.Message; @@ -119,6 +120,9 @@ public class LPSpongePlugin implements LuckPermsPlugin { importer = new Importer(commandManager); consecutiveExecutor = new ConsecutiveExecutor(commandManager); + getLog().info("Registering PermissionService..."); + Sponge.getServiceManager().setProvider(this, PermissionService.class, new LuckPermsService(this)); + getLog().info("Registering API..."); apiProvider = new ApiProvider(this); LuckPerms.registerProvider(apiProvider); diff --git a/sponge/src/main/java/me/lucko/luckperms/SpongeListener.java b/sponge/src/main/java/me/lucko/luckperms/SpongeListener.java index dbc4beab2..7d5043da2 100644 --- a/sponge/src/main/java/me/lucko/luckperms/SpongeListener.java +++ b/sponge/src/main/java/me/lucko/luckperms/SpongeListener.java @@ -72,19 +72,6 @@ public class SpongeListener extends AbstractListener { refreshPlayer(e.getTargetEntity().getUniqueId()); } - // TODO Use reflection/any other method to refresh on world change - /* - @Listener - public void onPlayerTeleport(DisplaceEntityEvent e) { - final Entity entity = e.getTargetEntity(); - if (!(entity instanceof Player)){ - return; - } - - refreshPlayer(entity.getUniqueId()); - } - */ - @Listener public void onClientLeave(ClientConnectionEvent.Disconnect e) { onLeave(e.getTargetEntity().getUniqueId()); diff --git a/sponge/src/main/java/me/lucko/luckperms/api/sponge/LuckPermsService.java b/sponge/src/main/java/me/lucko/luckperms/api/sponge/LuckPermsService.java index b29cb80b9..ca8456a2f 100644 --- a/sponge/src/main/java/me/lucko/luckperms/api/sponge/LuckPermsService.java +++ b/sponge/src/main/java/me/lucko/luckperms/api/sponge/LuckPermsService.java @@ -22,6 +22,7 @@ package me.lucko.luckperms.api.sponge; +import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import lombok.*; import me.lucko.luckperms.LPSpongePlugin; @@ -54,7 +55,7 @@ public class LuckPermsService implements PermissionService { private final Set descriptionSet; private final Map subjects; - private final Set> contextCalculators; + private final Set> contextCalculators; // TODO actually use context calculators, idk... public LuckPermsService(LPSpongePlugin plugin) { this.plugin = plugin; @@ -71,12 +72,12 @@ public class LuckPermsService implements PermissionService { } public SubjectData getDefaultData() { - return null; // TODO + return getDefaults().getSubjectData(); } @Override public Subject getDefaults() { - return null; // TODO + return getSubjects("defaults").get("default"); } @Override @@ -90,7 +91,7 @@ public class LuckPermsService implements PermissionService { @Override public Map getKnownSubjects() { - return subjects; + return ImmutableMap.copyOf(subjects); } @Override @@ -124,10 +125,6 @@ public class LuckPermsService implements PermissionService { contextCalculators.add(contextCalculator); } - public List getPossiblePermissions() { - return getDescriptions().stream().map(PermissionDescription::getId).collect(Collectors.toList()); - } - @RequiredArgsConstructor @EqualsAndHashCode @ToString diff --git a/sponge/src/main/java/me/lucko/luckperms/users/SpongeUser.java b/sponge/src/main/java/me/lucko/luckperms/users/SpongeUser.java index 0ad5c92f3..b4cb38e9f 100644 --- a/sponge/src/main/java/me/lucko/luckperms/users/SpongeUser.java +++ b/sponge/src/main/java/me/lucko/luckperms/users/SpongeUser.java @@ -25,12 +25,7 @@ package me.lucko.luckperms.users; import me.lucko.luckperms.LPSpongePlugin; import me.lucko.luckperms.api.event.events.UserPermissionRefreshEvent; import me.lucko.luckperms.api.implementation.internal.UserLink; -import org.spongepowered.api.entity.living.player.Player; -import org.spongepowered.api.util.Tristate; -import java.util.Collections; -import java.util.Map; -import java.util.Optional; import java.util.UUID; class SpongeUser extends User { @@ -48,6 +43,10 @@ class SpongeUser extends User { @Override public void refreshPermissions() { + plugin.getApiProvider().fireEventAsync(new UserPermissionRefreshEvent(new UserLink(this))); + + // Do nothing. Should be grabbed from PermissionService. + /* plugin.doSync(() -> { Optional p = plugin.getGame().getServer().getPlayer(plugin.getUuidCache().getExternalUUID(getUuid())); if (!p.isPresent()) return; @@ -64,5 +63,6 @@ class SpongeUser extends User { local.entrySet().forEach(e -> player.getSubjectData().setPermission(Collections.emptySet(), e.getKey(), Tristate.fromBoolean(e.getValue()))); plugin.getApiProvider().fireEventAsync(new UserPermissionRefreshEvent(new UserLink(this))); }); + */ } } diff --git a/sponge/src/main/java/me/lucko/luckperms/users/SpongeUserManager.java b/sponge/src/main/java/me/lucko/luckperms/users/SpongeUserManager.java index d787b036c..db93b9830 100644 --- a/sponge/src/main/java/me/lucko/luckperms/users/SpongeUserManager.java +++ b/sponge/src/main/java/me/lucko/luckperms/users/SpongeUserManager.java @@ -23,9 +23,7 @@ package me.lucko.luckperms.users; import me.lucko.luckperms.LPSpongePlugin; -import org.spongepowered.api.entity.living.player.Player; -import java.util.Optional; import java.util.UUID; public class SpongeUserManager extends UserManager { @@ -39,11 +37,6 @@ public class SpongeUserManager extends UserManager { @Override public void unload(User user) { if (user != null) { - Optional p = plugin.getGame().getServer().getPlayer(plugin.getUuidCache().getExternalUUID(user.getUuid())); - if (p.isPresent()) { - p.get().getSubjectData().clearParents(); - p.get().getSubjectData().clearPermissions(); - } getAll().remove(user.getUuid()); } } diff --git a/sponge/src/main/resources/luckperms.conf b/sponge/src/main/resources/luckperms.conf index 35b0ef99a..e072134d8 100644 --- a/sponge/src/main/resources/luckperms.conf +++ b/sponge/src/main/resources/luckperms.conf @@ -8,9 +8,6 @@ # The name of the server, used for server specific permissions. Set to 'global' to disable. server="global" -# The default group assigned to all users on their first join. -default-group="default" - # If users on this server should have their global permissions/groups applied. include-global=true