Skip to content

Commit

Permalink
Merge pull request #10 from Mineaurion/luckperms-api5
Browse files Browse the repository at this point in the history
Passage luckperms api 5 et classe commune luckperms
  • Loading branch information
Yann151924 authored May 16, 2020
2 parents b7fcdb5 + f7b9f3f commit 16b16f3
Show file tree
Hide file tree
Showing 7 changed files with 62 additions and 113 deletions.
4 changes: 2 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ subprojects {
apply plugin: 'maven'
apply plugin: 'com.github.johnrengelman.shadow'
dependencies {
compile 'com.rabbitmq:amqp-client:5.4.0'
compile 'me.lucko.luckperms:luckperms-api:4.2'
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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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> 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(){

}
Expand All @@ -61,9 +56,12 @@ public void onEnable(){
if(chatProvider != null){
chat = (Chat)chatProvider.getProvider();
}
RegisteredServiceProvider<LuckPermsApi> LuckPermsprovider = Bukkit.getServicesManager().getRegistration(LuckPermsApi.class);
Optional<LuckPermsApi> luckPermsApi = Optional.ofNullable(LuckPermsprovider.getProvider());
luckPermsApi.ifPresent(api -> luckPermsUtils = Optional.of(new LuckPermsUtils(api)));
RegisteredServiceProvider<LuckPerms> 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);
Expand All @@ -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
Expand Down Expand Up @@ -124,7 +119,7 @@ public AurionChatPlayers getAurionChatPlayers(){
return this.aurionChatPlayers;
}

public Optional<LuckPermsUtils> getLuckPermsUtils(){
public LuckPermsUtils getLuckPermsUtils(){
return luckPermsUtils;
}

Expand Down
26 changes: 3 additions & 23 deletions bukkit/src/main/java/com/mineaurion/aurionchat/bukkit/Utils.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -21,7 +15,7 @@ public class Utils {
private AurionChat plugin;
private Config config;
private AurionChatPlayers aurionChatPlayers;
private Optional<LuckPermsUtils> luckPermsUtils;
private LuckPermsUtils luckPermsUtils;

public Utils(AurionChat plugin){
this.plugin = plugin;
Expand All @@ -43,25 +37,11 @@ public String processMessage(String channel, String message, Player player){
}

public Optional<String> getPlayerPrefix(Player player){
Optional<String> 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<String> getPlayerSuffix(Player player){
Optional<String> 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));
}


Expand Down
Original file line number Diff line number Diff line change
@@ -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<MetaData> getPlayerMetaData(Object player, UUID uuid){
Optional<User> user = api.getUserSafe(uuid);
Optional<MetaData> metaData = Optional.empty();
if(user.isPresent()){
Contexts contexts = api.getContextsForPlayer(player);
UserData userData = user.get().getCachedData();
metaData = Optional.of(userData.getMetaData(contexts));

private Optional<CachedMetaData> getMetaData(UUID uuid){
Optional<CachedMetaData> cachedMetaData = Optional.empty();
if(this.api != null){
User user = this.api.getUserManager().getUser(uuid);
if(user != null){
Optional<QueryOptions> context = api.getContextManager().getQueryOptions(user);
if(context.isPresent()){
cachedMetaData = Optional.of(user.getCachedData().getMetaData(context.get()));
}
}
}
return metaData;
return cachedMetaData;
}

public Optional<String> getPlayerPrefix(Object player, UUID uuid){
Optional<MetaData> metaData = getPlayerMetaData(player, uuid);
Optional<String> prefix = Optional.empty();
if(metaData.isPresent()){
prefix = Optional.ofNullable(metaData.get().getPrefix());
}
return prefix;
public Optional<String> getPlayerPrefix(UUID uuid){
Optional<CachedMetaData> cachedMetaData = getMetaData(uuid);
return Optional.ofNullable(cachedMetaData.get().getPrefix());
}

public Optional<String> getPlayerSuffix(Object player, UUID uuid){
Optional<MetaData> metaData = getPlayerMetaData(player, uuid);
Optional<String> suffix = Optional.empty();
if(metaData.isPresent()){
suffix = Optional.ofNullable(metaData.get().getSuffix());
}
return suffix;
public Optional<String> getPlayerSuffix(UUID uuid) {
Optional<CachedMetaData> cachedMetaData = getMetaData(uuid);
return Optional.ofNullable(cachedMetaData.get().getSuffix());
}
}
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
pluginGroup=com.mineaurion
pluginId=aurionchat
pluginVersion=0.7.1
pluginVersion=0.8
jarName=AurionChat
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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;
Expand Down Expand Up @@ -64,8 +66,9 @@ public class AurionChat {
private AurionChatPlayers aurionChatPlayers;
private Utils utils;
private ChatService chatService;
private LuckPermsUtils luckPermsUtils = null;

public static Optional<LuckPermsApi> luckPermsApi;
public static LuckPerms luckPermsApi = null;

@Listener
public void Init(GamePreInitializationEvent event) throws IOException, ObjectMappingException {
Expand All @@ -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<ProviderRegistration<LuckPerms>> provider = Sponge.getServiceManager().getRegistration(LuckPerms.class);
provider.ifPresent(luckPermsProviderRegistration -> luckPermsUtils = new LuckPermsUtils(luckPermsProviderRegistration.getProvider()));
loadCommands(this);
sendConsoleMessage("&8[&eAurionChat&8]&e - Commands Loaded.");
}
Expand Down Expand Up @@ -137,6 +141,8 @@ public Utils getUtils(){
return this.utils;
}

public LuckPermsUtils getLuckPermsUtils() { return this.luckPermsUtils; }

public AurionChatPlayers getAurionChatPlayers(){
return this.aurionChatPlayers;
}
Expand Down
45 changes: 9 additions & 36 deletions sponge/src/main/java/com/mineaurion/aurionchat/sponge/Utils.java
Original file line number Diff line number Diff line change
@@ -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;
Expand All @@ -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){
Expand All @@ -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);
}
Expand All @@ -59,36 +62,6 @@ public void sendMessageToPlayer(String channelName, String message){
}
}

private Optional<String> getPrefixLuckPerms(Player player){
Optional<LuckPermsApi> api = AurionChat.luckPermsApi;
Optional<String> prefix = Optional.empty();
if(api.isPresent()){
Optional<User> 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<String> getSuffixLuckPerms(Player player){
Optional<LuckPermsApi> api = AurionChat.luckPermsApi;
Optional<String> prefix = Optional.empty();
if(api.isPresent()){
Optional<User> 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());
}
Expand Down

0 comments on commit 16b16f3

Please sign in to comment.