Merge pull request #36 from Xyntexx/feature/Luckperms
feat: Added support for LuckPerms
This commit is contained in:
commit
0d6ad6705d
|
@ -480,9 +480,14 @@ public class DiscordClient extends ListenerAdapter
|
||||||
channel.sendMessage(embedBuilderSuccess.build()).queue();
|
channel.sendMessage(embedBuilderSuccess.build()).queue();
|
||||||
TempRemoveOriginalMessageAfterSeconds(messageReceivedEvent);
|
TempRemoveOriginalMessageAfterSeconds(messageReceivedEvent);
|
||||||
|
|
||||||
|
if(DiscordWhitelister.useLuckPerms)
|
||||||
|
{
|
||||||
|
LpRemovePermsFromUser(finalNameToRemove, PermissionsConfig.getPermissionsConfig().getStringList("perms-on-whitelist"));
|
||||||
|
}
|
||||||
|
|
||||||
if(DiscordWhitelister.useUltraPerms)
|
if(DiscordWhitelister.useUltraPerms)
|
||||||
{
|
{
|
||||||
RemovePermsFromUser(finalNameToRemove, PermissionsConfig.getPermissionsConfig().getStringList("perms-on-whitelist"));
|
UpRemovePermsFromUser(finalNameToRemove, PermissionsConfig.getPermissionsConfig().getStringList("perms-on-whitelist"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(whitelistedRoleAutoRemove)
|
if(whitelistedRoleAutoRemove)
|
||||||
|
@ -730,8 +735,11 @@ public class DiscordClient extends ListenerAdapter
|
||||||
}
|
}
|
||||||
|
|
||||||
// Clear permissions
|
// Clear permissions
|
||||||
|
// Clear permissions
|
||||||
|
if(DiscordWhitelister.useLuckPerms)
|
||||||
|
DiscordClient.LpRemovePermsFromUser(splitMessage[userNameIndex], PermissionsConfig.getPermissionsConfig().getStringList("perms-on-whitelist"));
|
||||||
if(DiscordWhitelister.useUltraPerms)
|
if(DiscordWhitelister.useUltraPerms)
|
||||||
DiscordClient.RemovePermsFromUser(splitMessage[userNameIndex], PermissionsConfig.getPermissionsConfig().getStringList("perms-on-whitelist"));
|
DiscordClient.UpRemovePermsFromUser(splitMessage[userNameIndex], PermissionsConfig.getPermissionsConfig().getStringList("perms-on-whitelist"));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Success message
|
// Success message
|
||||||
|
@ -1425,6 +1433,23 @@ public class DiscordClient extends ListenerAdapter
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// TODO: improve, not go through console commands
|
||||||
|
// For ultra perms
|
||||||
|
public static void LpAssignPermsToUser(String targetPlayerName, List<String> permsToAssign)
|
||||||
|
{
|
||||||
|
for(int i = 0; i < permsToAssign.size(); i++)
|
||||||
|
{
|
||||||
|
DiscordClient.ExecuteServerCommand("lp user " + targetPlayerName + " permission set " + permsToAssign.get(i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void LpRemovePermsFromUser(String targetPlayerName, List<String> permsToRemove)
|
||||||
|
{
|
||||||
|
for(int i = 0; i < permsToRemove.size(); i++)
|
||||||
|
{
|
||||||
|
DiscordClient.ExecuteServerCommand("lp user " + targetPlayerName + " permission unset " + permsToRemove.get(i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static void RemoveMessageAfterSeconds(MessageReceivedEvent messageReceivedEvent, Integer timeToWait)
|
public static void RemoveMessageAfterSeconds(MessageReceivedEvent messageReceivedEvent, Integer timeToWait)
|
||||||
{
|
{
|
||||||
|
@ -1460,7 +1485,7 @@ public class DiscordClient extends ListenerAdapter
|
||||||
|
|
||||||
// TODO: improve, not go through console commands
|
// TODO: improve, not go through console commands
|
||||||
// For ultra perms
|
// For ultra perms
|
||||||
public static void AssignPermsToUser(String targetPlayerName, List<String> permsToAssign)
|
public static void UpAssignPermsToUser(String targetPlayerName, List<String> permsToAssign)
|
||||||
{
|
{
|
||||||
for(int i = 0; i < permsToAssign.size(); i++)
|
for(int i = 0; i < permsToAssign.size(); i++)
|
||||||
{
|
{
|
||||||
|
@ -1468,7 +1493,7 @@ public class DiscordClient extends ListenerAdapter
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void RemovePermsFromUser(String targetPlayerName, List<String> permsToRemove)
|
public static void UpRemovePermsFromUser(String targetPlayerName, List<String> permsToRemove)
|
||||||
{
|
{
|
||||||
for(int i = 0; i < permsToRemove.size(); i++)
|
for(int i = 0; i < permsToRemove.size(); i++)
|
||||||
{
|
{
|
||||||
|
|
|
@ -33,6 +33,7 @@ public class DiscordWhitelister extends JavaPlugin
|
||||||
public static boolean useInGameAddRemoves = true;
|
public static boolean useInGameAddRemoves = true;
|
||||||
public static boolean useOnBanEvents = true;
|
public static boolean useOnBanEvents = true;
|
||||||
public static boolean useUltraPerms = false;
|
public static boolean useUltraPerms = false;
|
||||||
|
public static boolean useLuckPerms = false;
|
||||||
public static boolean useOnWhitelistCommands = false;
|
public static boolean useOnWhitelistCommands = false;
|
||||||
public static boolean removeUnnecessaryMessages = false;
|
public static boolean removeUnnecessaryMessages = false;
|
||||||
|
|
||||||
|
@ -128,7 +129,20 @@ public class DiscordWhitelister extends JavaPlugin
|
||||||
|
|
||||||
removeMessageWaitTime = MainConfig.getMainConfig().getInt("seconds-to-remove-message-from-whitelist-channel");
|
removeMessageWaitTime = MainConfig.getMainConfig().getInt("seconds-to-remove-message-from-whitelist-channel");
|
||||||
|
|
||||||
// Check for UltraPerms first
|
// Check for LuckPerms first
|
||||||
|
if(MainConfig.getMainConfig().getBoolean("assign-perms-with-luck-perms"))
|
||||||
|
{
|
||||||
|
if(DiscordWhitelister.getPlugin().getServer().getPluginManager().getPlugin("LuckPerms") != null)
|
||||||
|
{
|
||||||
|
useLuckPerms = true;
|
||||||
|
DiscordWhitelister.getPluginLogger().info("LuckPerms found!");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
DiscordWhitelister.getPluginLogger().warning("LuckPerms was not found but is enabled in the config. Doing nothing...");
|
||||||
|
useLuckPerms = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
if(MainConfig.getMainConfig().getBoolean("assign-perms-with-ultra-perms"))
|
if(MainConfig.getMainConfig().getBoolean("assign-perms-with-ultra-perms"))
|
||||||
{
|
{
|
||||||
if(DiscordWhitelister.getPlugin().getServer().getPluginManager().getPlugin("UltraPermissions") != null)
|
if(DiscordWhitelister.getPlugin().getServer().getPluginManager().getPlugin("UltraPermissions") != null)
|
||||||
|
|
|
@ -488,8 +488,11 @@ public class CommandAdd
|
||||||
// For instructional message
|
// For instructional message
|
||||||
successfulWhitelist.set(true);
|
successfulWhitelist.set(true);
|
||||||
|
|
||||||
|
if(DiscordWhitelister.useLuckPerms)
|
||||||
|
DiscordClient.LpAssignPermsToUser(finalNameToAdd, PermissionsConfig.getPermissionsConfig().getStringList("perms-on-whitelist"));
|
||||||
|
|
||||||
if(DiscordWhitelister.useUltraPerms)
|
if(DiscordWhitelister.useUltraPerms)
|
||||||
DiscordClient.AssignPermsToUser(finalNameToAdd, PermissionsConfig.getPermissionsConfig().getStringList("perms-on-whitelist"));
|
DiscordClient.UpAssignPermsToUser(finalNameToAdd, PermissionsConfig.getPermissionsConfig().getStringList("perms-on-whitelist"));
|
||||||
|
|
||||||
if(DiscordWhitelister.useOnWhitelistCommands)
|
if(DiscordWhitelister.useOnWhitelistCommands)
|
||||||
{
|
{
|
||||||
|
|
|
@ -133,6 +133,8 @@ public class MainConfig
|
||||||
|
|
||||||
CheckEntry("assign-perms-with-ultra-perms", false);
|
CheckEntry("assign-perms-with-ultra-perms", false);
|
||||||
|
|
||||||
|
CheckEntry("assign-perms-with-luck-perms", false);
|
||||||
|
|
||||||
CheckEntry("use-on-whitelist-commands", false);
|
CheckEntry("use-on-whitelist-commands", false);
|
||||||
|
|
||||||
CheckEntry("send-instructional-message-on-whitelist", false);
|
CheckEntry("send-instructional-message-on-whitelist", false);
|
||||||
|
|
|
@ -145,8 +145,11 @@ public class OnBanEvent implements Listener
|
||||||
UserList.getUserList().set(targetDiscordId, null);
|
UserList.getUserList().set(targetDiscordId, null);
|
||||||
|
|
||||||
// Remove perms on ban if enabled
|
// Remove perms on ban if enabled
|
||||||
|
if(DiscordWhitelister.useLuckPerms)
|
||||||
|
DiscordClient.LpRemovePermsFromUser(banTarget, PermissionsConfig.getPermissionsConfig().getStringList("perms-on-whitelist"));
|
||||||
|
|
||||||
if(DiscordWhitelister.useUltraPerms)
|
if(DiscordWhitelister.useUltraPerms)
|
||||||
DiscordClient.RemovePermsFromUser(banTarget, PermissionsConfig.getPermissionsConfig().getStringList("perms-on-whitelist"));
|
DiscordClient.UpRemovePermsFromUser(banTarget, PermissionsConfig.getPermissionsConfig().getStringList("perms-on-whitelist"));
|
||||||
|
|
||||||
UserList.SaveStore();
|
UserList.SaveStore();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue