From 35d02f70a366113ea9c89f66f0cb74826175762d Mon Sep 17 00:00:00 2001 From: Yann B Date: Sat, 22 Feb 2020 21:33:15 +0100 Subject: [PATCH 1/2] Passage luckperms api 5 et classe commune luckperms --- build.gradle | 2 +- .../aurionchat/bukkit/AurionChat.java | 31 +++++------ .../mineaurion/aurionchat/bukkit/Utils.java | 26 ++------- .../aurionchat/common/LuckPermsUtils.java | 53 +++++++++---------- .../aurionchat/sponge/AurionChat.java | 14 +++-- .../mineaurion/aurionchat/sponge/Utils.java | 45 ++++------------ 6 files changed, 60 insertions(+), 111 deletions(-) diff --git a/build.gradle b/build.gradle index 8354b56..3999eb8 100644 --- a/build.gradle +++ b/build.gradle @@ -14,7 +14,7 @@ subprojects { apply plugin: 'com.github.johnrengelman.shadow' dependencies { compile 'com.rabbitmq:amqp-client:5.4.0' - compile 'me.lucko.luckperms:luckperms-api:4.2' + compile 'net.luckperms:api:5.0' implementation 'com.google.code.gson:gson:2.8.5' } group = project.pluginGroup diff --git a/bukkit/src/main/java/com/mineaurion/aurionchat/bukkit/AurionChat.java b/bukkit/src/main/java/com/mineaurion/aurionchat/bukkit/AurionChat.java index e9241e7..83b8ce0 100644 --- a/bukkit/src/main/java/com/mineaurion/aurionchat/bukkit/AurionChat.java +++ b/bukkit/src/main/java/com/mineaurion/aurionchat/bukkit/AurionChat.java @@ -5,8 +5,7 @@ import com.mineaurion.aurionchat.bukkit.listeners.CommandListener; import com.mineaurion.aurionchat.common.AurionChatPlayers; import com.mineaurion.aurionchat.common.LuckPermsUtils; -import me.lucko.luckperms.LuckPerms; -import me.lucko.luckperms.api.LuckPermsApi; +import net.luckperms.api.LuckPerms; import net.milkbowl.vault.chat.Chat; import net.milkbowl.vault.permission.Permission; @@ -30,16 +29,12 @@ public class AurionChat extends JavaPlugin { private AurionChatPlayers aurionChatPlayers; private Utils utils; private ChatService chatService; - private LoginListener loginListener; - private ChatListener chatListener; - private CommandListener commandListener; - private Optional luckPermsUtils = Optional.empty(); + private LuckPerms luckPermsApi; + private LuckPermsUtils luckPermsUtils = null; public static Chat chat = null; public static Permission permission = null; - public CommandMap commandmap; - public AurionChat(){ } @@ -61,9 +56,12 @@ public void onEnable(){ if(chatProvider != null){ chat = (Chat)chatProvider.getProvider(); } - RegisteredServiceProvider LuckPermsprovider = Bukkit.getServicesManager().getRegistration(LuckPermsApi.class); - Optional luckPermsApi = Optional.ofNullable(LuckPermsprovider.getProvider()); - luckPermsApi.ifPresent(api -> luckPermsUtils = Optional.of(new LuckPermsUtils(api))); + RegisteredServiceProvider luckPermsprovider = Bukkit.getServicesManager().getRegistration(LuckPerms.class); + if(luckPermsprovider != null) { + luckPermsApi = luckPermsprovider.getProvider(); + luckPermsUtils = new LuckPermsUtils(luckPermsApi); + } + sendConsoleMessage("&8[&eAurionChat&8]&e - Enabled Successfully"); sendConsoleMessage("&8[&eAurionChat&8]&e - Registering Listeners"); setupListener(this); @@ -88,12 +86,9 @@ private boolean setupPermissions(){ private void setupListener(AurionChat plugin){ PluginManager pluginManager = getServer().getPluginManager(); - this.loginListener = new LoginListener(plugin); - this.chatListener = new ChatListener(plugin); - this.commandListener = new CommandListener(plugin); - pluginManager.registerEvents(this.loginListener, this); - pluginManager.registerEvents(this.chatListener, this); - pluginManager.registerEvents(this.commandListener, this); + pluginManager.registerEvents(new LoginListener(plugin), this); + pluginManager.registerEvents(new ChatListener(plugin), this); + pluginManager.registerEvents(new CommandListener(plugin), this); } @Override @@ -124,7 +119,7 @@ public AurionChatPlayers getAurionChatPlayers(){ return this.aurionChatPlayers; } - public Optional getLuckPermsUtils(){ + public LuckPermsUtils getLuckPermsUtils(){ return luckPermsUtils; } diff --git a/bukkit/src/main/java/com/mineaurion/aurionchat/bukkit/Utils.java b/bukkit/src/main/java/com/mineaurion/aurionchat/bukkit/Utils.java index 165c193..02fafed 100644 --- a/bukkit/src/main/java/com/mineaurion/aurionchat/bukkit/Utils.java +++ b/bukkit/src/main/java/com/mineaurion/aurionchat/bukkit/Utils.java @@ -2,12 +2,6 @@ import com.mineaurion.aurionchat.common.AurionChatPlayers; import com.mineaurion.aurionchat.common.LuckPermsUtils; -import me.lucko.luckperms.LuckPerms; -import me.lucko.luckperms.api.Contexts; -import me.lucko.luckperms.api.LuckPermsApi; -import me.lucko.luckperms.api.User; -import me.lucko.luckperms.api.caching.MetaData; -import me.lucko.luckperms.api.caching.UserData; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.entity.Player; @@ -21,7 +15,7 @@ public class Utils { private AurionChat plugin; private Config config; private AurionChatPlayers aurionChatPlayers; - private Optional luckPermsUtils; + private LuckPermsUtils luckPermsUtils; public Utils(AurionChat plugin){ this.plugin = plugin; @@ -43,25 +37,11 @@ public String processMessage(String channel, String message, Player player){ } public Optional getPlayerPrefix(Player player){ - Optional prefix; - if(luckPermsUtils.isPresent()){ - prefix = luckPermsUtils.get().getPlayerPrefix(player, player.getUniqueId()); - } - else{ - prefix = Optional.ofNullable(AurionChat.chat.getPlayerPrefix(player)); - } - return prefix; + return luckPermsUtils != null ? luckPermsUtils.getPlayerPrefix(player.getUniqueId()) : Optional.ofNullable(AurionChat.chat.getPlayerPrefix(player)); } public Optional getPlayerSuffix(Player player){ - Optional suffix; - if(luckPermsUtils.isPresent()){ - suffix = luckPermsUtils.get().getPlayerSuffix(player, player.getUniqueId()); - } - else{ - suffix = Optional.ofNullable(AurionChat.chat.getPlayerSuffix(player)); - } - return suffix; + return luckPermsUtils != null ? luckPermsUtils.getPlayerSuffix(player.getUniqueId()) : Optional.ofNullable(AurionChat.chat.getPlayerSuffix(player)); } diff --git a/common/src/main/java/com/mineaurion/aurionchat/common/LuckPermsUtils.java b/common/src/main/java/com/mineaurion/aurionchat/common/LuckPermsUtils.java index 9f8c491..37192e9 100644 --- a/common/src/main/java/com/mineaurion/aurionchat/common/LuckPermsUtils.java +++ b/common/src/main/java/com/mineaurion/aurionchat/common/LuckPermsUtils.java @@ -1,48 +1,43 @@ package com.mineaurion.aurionchat.common; -import me.lucko.luckperms.api.Contexts; -import me.lucko.luckperms.api.LuckPermsApi; -import me.lucko.luckperms.api.User; -import me.lucko.luckperms.api.caching.MetaData; -import me.lucko.luckperms.api.caching.UserData; +import net.luckperms.api.LuckPerms; +import net.luckperms.api.cacheddata.CachedMetaData; +import net.luckperms.api.model.user.User; +import net.luckperms.api.query.QueryOptions; import java.util.Optional; import java.util.UUID; public class LuckPermsUtils { - private LuckPermsApi api; + private LuckPerms api; - public LuckPermsUtils(LuckPermsApi api){ + public LuckPermsUtils(LuckPerms api){ this.api = api; } - private Optional getPlayerMetaData(Object player, UUID uuid){ - Optional user = api.getUserSafe(uuid); - Optional metaData = Optional.empty(); - if(user.isPresent()){ - Contexts contexts = api.getContextsForPlayer(player); - UserData userData = user.get().getCachedData(); - metaData = Optional.of(userData.getMetaData(contexts)); + + private Optional getMetaData(UUID uuid){ + Optional cachedMetaData = Optional.empty(); + if(this.api != null){ + User user = this.api.getUserManager().getUser(uuid); + if(user != null){ + Optional context = api.getContextManager().getQueryOptions(user); + if(context.isPresent()){ + cachedMetaData = Optional.of(user.getCachedData().getMetaData(context.get())); + } + } } - return metaData; + return cachedMetaData; } - public Optional getPlayerPrefix(Object player, UUID uuid){ - Optional metaData = getPlayerMetaData(player, uuid); - Optional prefix = Optional.empty(); - if(metaData.isPresent()){ - prefix = Optional.ofNullable(metaData.get().getPrefix()); - } - return prefix; + public Optional getPlayerPrefix(UUID uuid){ + Optional cachedMetaData = getMetaData(uuid); + return Optional.ofNullable(cachedMetaData.get().getPrefix()); } - public Optional getPlayerSuffix(Object player, UUID uuid){ - Optional metaData = getPlayerMetaData(player, uuid); - Optional suffix = Optional.empty(); - if(metaData.isPresent()){ - suffix = Optional.ofNullable(metaData.get().getSuffix()); - } - return suffix; + public Optional getPlayerSuffix(UUID uuid) { + Optional cachedMetaData = getMetaData(uuid); + return Optional.ofNullable(cachedMetaData.get().getSuffix()); } } diff --git a/sponge/src/main/java/com/mineaurion/aurionchat/sponge/AurionChat.java b/sponge/src/main/java/com/mineaurion/aurionchat/sponge/AurionChat.java index 8d82629..0a1acb4 100644 --- a/sponge/src/main/java/com/mineaurion/aurionchat/sponge/AurionChat.java +++ b/sponge/src/main/java/com/mineaurion/aurionchat/sponge/AurionChat.java @@ -2,13 +2,14 @@ import com.google.inject.Inject; import com.mineaurion.aurionchat.common.AurionChatPlayers; +import com.mineaurion.aurionchat.common.LuckPermsUtils; import com.mineaurion.aurionchat.sponge.channel.ChatService; import com.mineaurion.aurionchat.sponge.command.CommandManager; import com.mineaurion.aurionchat.sponge.listeners.LoginListener; import com.mineaurion.aurionchat.sponge.listeners.ChatListener; import com.mineaurion.aurionchat.sponge.listeners.CommandListener; -import me.lucko.luckperms.LuckPerms; -import me.lucko.luckperms.api.LuckPermsApi; +import net.luckperms.api.LuckPerms; +import net.luckperms.api.LuckPermsProvider; import ninja.leaping.configurate.commented.CommentedConfigurationNode; import ninja.leaping.configurate.loader.ConfigurationLoader; import ninja.leaping.configurate.objectmapping.ObjectMappingException; @@ -23,6 +24,7 @@ import org.spongepowered.api.event.game.state.GameStoppingEvent; import org.spongepowered.api.plugin.Dependency; import org.spongepowered.api.plugin.Plugin; +import org.spongepowered.api.service.ProviderRegistration; import org.spongepowered.api.text.serializer.TextSerializers; import java.io.FileInputStream; @@ -64,8 +66,9 @@ public class AurionChat { private AurionChatPlayers aurionChatPlayers; private Utils utils; private ChatService chatService; + private LuckPermsUtils luckPermsUtils = null; - public static Optional luckPermsApi; + public static LuckPerms luckPermsApi = null; @Listener public void Init(GamePreInitializationEvent event) throws IOException, ObjectMappingException { @@ -87,7 +90,8 @@ public void Init(GamePreInitializationEvent event) throws IOException, ObjectMap getLogger().error(e.getMessage()); } sendConsoleMessage("&8[&eAurionChat&8]&e - Rabbitmq & Channels Loaded."); - luckPermsApi = Sponge.getPluginManager().getPlugin("luckperms").isPresent() ? LuckPerms.getApiSafe() : Optional.empty(); + Optional> provider = Sponge.getServiceManager().getRegistration(LuckPerms.class); + provider.ifPresent(luckPermsProviderRegistration -> luckPermsUtils = new LuckPermsUtils(luckPermsProviderRegistration.getProvider())); loadCommands(this); sendConsoleMessage("&8[&eAurionChat&8]&e - Commands Loaded."); } @@ -137,6 +141,8 @@ public Utils getUtils(){ return this.utils; } + public LuckPermsUtils getLuckPermsUtils() { return this.luckPermsUtils; } + public AurionChatPlayers getAurionChatPlayers(){ return this.aurionChatPlayers; } diff --git a/sponge/src/main/java/com/mineaurion/aurionchat/sponge/Utils.java b/sponge/src/main/java/com/mineaurion/aurionchat/sponge/Utils.java index a01c8a5..0bd18e5 100644 --- a/sponge/src/main/java/com/mineaurion/aurionchat/sponge/Utils.java +++ b/sponge/src/main/java/com/mineaurion/aurionchat/sponge/Utils.java @@ -1,11 +1,11 @@ package com.mineaurion.aurionchat.sponge; import com.mineaurion.aurionchat.common.AurionChatPlayers; -import me.lucko.luckperms.api.Contexts; -import me.lucko.luckperms.api.LuckPermsApi; -import me.lucko.luckperms.api.User; -import me.lucko.luckperms.api.caching.MetaData; -import me.lucko.luckperms.api.caching.UserData; +import com.mineaurion.aurionchat.common.LuckPermsUtils; +import net.luckperms.api.LuckPerms; +import net.luckperms.api.cacheddata.CachedMetaData; +import net.luckperms.api.model.user.User; +import net.luckperms.api.query.QueryOptions; import org.spongepowered.api.Sponge; import org.spongepowered.api.entity.living.player.Player; import org.spongepowered.api.text.Text; @@ -21,11 +21,13 @@ public class Utils { private AurionChat plugin; private Config config; private AurionChatPlayers aurionChatPlayers; + private LuckPermsUtils luckPermsUtils; public Utils(AurionChat plugin){ this.plugin = plugin; this.config = plugin.getConfig(); this.aurionChatPlayers = plugin.getAurionChatPlayers(); + this.luckPermsUtils = plugin.getLuckPermsUtils(); } public String processMessage(String channel, Text message, Player player){ @@ -38,7 +40,8 @@ public String processMessage(String channel, Text message, Player player){ messageColors = TextSerializers.formattingCode('&').stripCodes(TextSerializers.FORMATTING_CODE.serialize(message)); } return channelFormat - .replace("{prefix}", getPrefixLuckPerms(player).orElse("")) + .replace("{prefix}", this.luckPermsUtils.getPlayerPrefix(player.getUniqueId()).orElse("")) + .replace("{suffix}", this.luckPermsUtils.getPlayerSuffix(player.getUniqueId()).orElse("")) .replace("{display_name}", getDisplayName(player)) .replace("{message}", messageColors); } @@ -59,36 +62,6 @@ public void sendMessageToPlayer(String channelName, String message){ } } - private Optional getPrefixLuckPerms(Player player){ - Optional api = AurionChat.luckPermsApi; - Optional prefix = Optional.empty(); - if(api.isPresent()){ - Optional user = api.get().getUserSafe(player.getUniqueId()); - if(user.isPresent()){ - Contexts contexts = api.get().getContextsForPlayer(player); - UserData userData = user.get().getCachedData(); - MetaData metaData = userData.getMetaData(contexts); - prefix = Optional.ofNullable(metaData.getPrefix()); - } - } - return prefix; - } - - private Optional getSuffixLuckPerms(Player player){ - Optional api = AurionChat.luckPermsApi; - Optional prefix = Optional.empty(); - if(api.isPresent()){ - Optional user = api.get().getUserSafe(player.getUniqueId()); - if(user.isPresent()){ - Contexts contexts = api.get().getContextsForPlayer(player); - UserData userData = user.get().getCachedData(); - MetaData metaData = userData.getMetaData(contexts); - prefix = Optional.ofNullable(metaData.getSuffix()); - } - } - return prefix; - } - private String getDisplayName(Player player){ return TextSerializers.FORMATTING_CODE.serialize(player.getDisplayNameData().displayName().get()); } From f7b9f3fc836f09bdcaebdacfb0fae35a087a39d2 Mon Sep 17 00:00:00 2001 From: Yann B Date: Sat, 16 May 2020 10:27:10 +0200 Subject: [PATCH 2/2] Bump 0.8 --- build.gradle | 4 ++-- gradle.properties | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build.gradle b/build.gradle index 3999eb8..1265b81 100644 --- a/build.gradle +++ b/build.gradle @@ -13,8 +13,8 @@ subprojects { apply plugin: 'maven' apply plugin: 'com.github.johnrengelman.shadow' dependencies { - compile 'com.rabbitmq:amqp-client:5.4.0' - compile 'net.luckperms:api:5.0' + compile 'com.rabbitmq:amqp-client:5.8.0' + compile 'net.luckperms:api:5.1' implementation 'com.google.code.gson:gson:2.8.5' } group = project.pluginGroup diff --git a/gradle.properties b/gradle.properties index a3930bd..1b941b9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ pluginGroup=com.mineaurion pluginId=aurionchat -pluginVersion=0.7.1 +pluginVersion=0.8 jarName=AurionChat