parent
a2266f4b07
commit
82ca20eca0
|
@ -8,16 +8,11 @@ import net.dv8tion.jda.api.entities.*;
|
|||
import net.dv8tion.jda.api.events.guild.member.GuildMemberLeaveEvent;
|
||||
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
|
||||
import net.dv8tion.jda.api.hooks.ListenerAdapter;
|
||||
import org.bukkit.configuration.InvalidConfigurationException;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.json.simple.JSONArray;
|
||||
import org.json.simple.JSONObject;
|
||||
import org.json.simple.JSONValue;
|
||||
import org.json.simple.parser.JSONParser;
|
||||
import org.json.simple.parser.ParseException;
|
||||
import uk.co.angrybee.joe.Configs.CustomPrefixConfig;
|
||||
import uk.co.angrybee.joe.Stores.InGameRemovedList;
|
||||
import uk.co.angrybee.joe.Stores.RemovedList;
|
||||
import uk.co.angrybee.joe.Stores.WhitelistedPlayers;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
@ -455,7 +450,7 @@ public class DiscordClient extends ListenerAdapter
|
|||
return;
|
||||
}
|
||||
|
||||
if (DiscordWhitelister.getRemovedList().get(finalNameToAdd) != null) // If the user has been removed before
|
||||
if (RemovedList.CheckStoreForPlayer(finalNameToAdd)) // If the user has been removed before
|
||||
{
|
||||
if (onlyHasLimitedAdd)
|
||||
{
|
||||
|
@ -464,7 +459,7 @@ public class DiscordClient extends ListenerAdapter
|
|||
|
||||
if(!DiscordWhitelister.useCustomMessages)
|
||||
{
|
||||
embedBuilderRemovedByStaff.addField("This user was previously removed by a staff member", (author.getAsMention() + ", this user was previously removed by a staff member (<@" + DiscordWhitelister.getRemovedList().get(finalNameToAdd) + ">)."
|
||||
embedBuilderRemovedByStaff.addField("This user was previously removed by a staff member", (author.getAsMention() + ", this user was previously removed by a staff member (<@" + RemovedList.getRemovedPlayers().get(finalNameToAdd) + ">)."
|
||||
+ System.lineSeparator() + "Please ask a user with higher permissions to add this user." + System.lineSeparator()), false);
|
||||
embedBuilderRemovedByStaff.addField("Whitelists Remaining", ("You have **" + (maxWhitelistAmount - timesWhitelisted)
|
||||
+ " out of " + DiscordWhitelister.getWhitelisterBotConfig().getString("max-whitelist-amount") + "** whitelists remaining."), false);
|
||||
|
@ -474,7 +469,7 @@ public class DiscordClient extends ListenerAdapter
|
|||
String customTitle = DiscordWhitelister.getCustomMessagesConfig().getString("user-was-removed-title");
|
||||
String customMessage = DiscordWhitelister.getCustomMessagesConfig().getString("user-was-removed");
|
||||
String customWhitelistsRemaining = DiscordWhitelister.getCustomMessagesConfig().getString("whitelists-remaining");
|
||||
String staffMemberMention = "<@" + DiscordWhitelister.getRemovedList().get(finalNameToAdd) + ">";
|
||||
String staffMemberMention = "<@" + RemovedList.getRemovedPlayers().get(finalNameToAdd) + ">";
|
||||
|
||||
customMessage = customMessage.replaceAll("\\{Sender}", author.getAsMention());
|
||||
customMessage = customMessage.replaceAll("\\{StaffMember}", staffMemberMention);
|
||||
|
@ -490,15 +485,8 @@ public class DiscordClient extends ListenerAdapter
|
|||
}
|
||||
else // Remove from removed list
|
||||
{
|
||||
DiscordWhitelister.getRemovedList().set(finalNameToAdd, null);
|
||||
|
||||
try
|
||||
{
|
||||
DiscordWhitelister.getRemovedList().save(DiscordWhitelister.getRemovedListFile().getPath());
|
||||
} catch (IOException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
RemovedList.getRemovedPlayers().set(finalNameToAdd, null);
|
||||
RemovedList.SaveStore();
|
||||
|
||||
DiscordWhitelister.getPlugin().getLogger().info(finalNameToAdd + " has been removed from the removed list by " + author.getName()
|
||||
+ "(" + author.getId() + ")");
|
||||
|
@ -951,10 +939,10 @@ public class DiscordClient extends ListenerAdapter
|
|||
}
|
||||
|
||||
// if the name is not on the list
|
||||
if (DiscordWhitelister.getRemovedList().get(finalNameToRemove) == null)
|
||||
if (RemovedList.getRemovedPlayers().get(finalNameToRemove) == null)
|
||||
{
|
||||
DiscordWhitelister.getRemovedList().set(finalNameToRemove, author.getId());
|
||||
DiscordWhitelister.getRemovedList().save(DiscordWhitelister.getRemovedListFile().getPath());
|
||||
RemovedList.getRemovedPlayers().set(finalNameToRemove, author.getId());
|
||||
RemovedList.SaveStore();
|
||||
}
|
||||
} else {
|
||||
channel.sendMessage(embedBuilderFailure.build()).queue();
|
||||
|
@ -1007,9 +995,10 @@ public class DiscordClient extends ListenerAdapter
|
|||
}
|
||||
|
||||
// if the name is not on the list
|
||||
if (DiscordWhitelister.getRemovedList().get(finalNameToRemove) == null) {
|
||||
DiscordWhitelister.getRemovedList().set(finalNameToRemove, author.getId());
|
||||
DiscordWhitelister.getRemovedList().save(DiscordWhitelister.getRemovedListFile().getPath());
|
||||
if (RemovedList.CheckStoreForPlayer(finalNameToRemove))
|
||||
{
|
||||
RemovedList.getRemovedPlayers().set(finalNameToRemove, author.getId());
|
||||
RemovedList.SaveStore();
|
||||
}
|
||||
} else {
|
||||
channel.sendMessage(embedBuilderFailure.build()).queue();
|
||||
|
|
|
@ -4,7 +4,6 @@ import org.bukkit.Server;
|
|||
import org.bukkit.configuration.InvalidConfigurationException;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import uk.co.angrybee.joe.Commands.CommandAbout;
|
||||
import uk.co.angrybee.joe.Commands.CommandReload;
|
||||
|
@ -15,6 +14,7 @@ import uk.co.angrybee.joe.Configs.MainConfig;
|
|||
import uk.co.angrybee.joe.Events.JoinLeaveEvents;
|
||||
import uk.co.angrybee.joe.Events.OnWhitelistEvents;
|
||||
import uk.co.angrybee.joe.Stores.InGameRemovedList;
|
||||
import uk.co.angrybee.joe.Stores.RemovedList;
|
||||
import uk.co.angrybee.joe.Stores.WhitelistedPlayers;
|
||||
|
||||
import java.io.File;
|
||||
|
@ -25,16 +25,13 @@ import java.util.logging.Logger;
|
|||
public class DiscordWhitelister extends JavaPlugin
|
||||
{
|
||||
private static File userListFile;
|
||||
private static File removedListFile;
|
||||
|
||||
private static FileConfiguration userList;
|
||||
private static FileConfiguration removedList;
|
||||
|
||||
public static String botToken;
|
||||
|
||||
private static boolean configCreated = false;
|
||||
private static boolean userListCreated = false;
|
||||
private static boolean removedListCreated = false;
|
||||
|
||||
public static boolean useCustomMessages = false;
|
||||
public static boolean useIdForRoles = false;
|
||||
|
@ -98,13 +95,6 @@ public class DiscordWhitelister extends JavaPlugin
|
|||
return userListFile;
|
||||
}
|
||||
|
||||
public static FileConfiguration getRemovedList() { return removedList; }
|
||||
|
||||
public static File getRemovedListFile()
|
||||
{
|
||||
return removedListFile;
|
||||
}
|
||||
|
||||
public static FileConfiguration getCustomMessagesConfig() { return CustomMessagesConfig.getCustomMessagesConfig(); }
|
||||
|
||||
public static Logger getPluginLogger() { return pluginLogger; }
|
||||
|
@ -148,7 +138,6 @@ public class DiscordWhitelister extends JavaPlugin
|
|||
public static int InitBot(boolean firstInit)
|
||||
{
|
||||
userList = new YamlConfiguration();
|
||||
removedList = new YamlConfiguration();
|
||||
|
||||
if(firstInit)
|
||||
vanishedPlayersCount = 0;
|
||||
|
@ -201,23 +190,6 @@ public class DiscordWhitelister extends JavaPlugin
|
|||
DiscordClient.allowedToAddLimitedRoles[roles] = getWhitelisterBotConfig().getList("limited-add-roles").get(roles).toString();
|
||||
}
|
||||
|
||||
// // easy whitelist check
|
||||
// if(getWhitelisterBotConfig().getBoolean("use-easy-whitelist"))
|
||||
// {
|
||||
// pluginLogger.info("Checking for Easy Whitelist...");
|
||||
// if(thisServer.getPluginManager().getPlugin("EasyWhitelist") != null)
|
||||
// {
|
||||
// pluginLogger.info("Easy Whitelist found! Will use over default whitelist command.");
|
||||
// easyWhitelist = thisServer.getPluginManager().getPlugin("EasyWhitelist");
|
||||
// useEasyWhitelist = true;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// pluginLogger.warning("Easy Whitelist was not found but is enabled in the config. " +
|
||||
// "Falling back to default whitelist command");
|
||||
// }
|
||||
// }
|
||||
|
||||
// Custom messages check
|
||||
useCustomMessages = getWhitelisterBotConfig().getBoolean("use-custom-messages");
|
||||
useCustomPrefixes = getWhitelisterBotConfig().getBoolean("use-custom-prefixes");
|
||||
|
@ -261,11 +233,11 @@ public class DiscordWhitelister extends JavaPlugin
|
|||
|
||||
// Init Stores
|
||||
InGameRemovedList.StoreSetup();
|
||||
RemovedList.StoreSetup();
|
||||
|
||||
WhitelistedPlayers.Setup();
|
||||
|
||||
userListFile = new File(dataFolder, "user-list.yml");
|
||||
removedListFile = new File(dataFolder, "removed-list.yml");
|
||||
|
||||
if(!userListFile.exists())
|
||||
{
|
||||
|
@ -291,30 +263,6 @@ public class DiscordWhitelister extends JavaPlugin
|
|||
e.printStackTrace();
|
||||
}
|
||||
|
||||
if(!removedListFile.exists())
|
||||
{
|
||||
try
|
||||
{
|
||||
removedListFile.createNewFile();
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
pluginLogger.info("Removed list created at: " + removedListFile.getPath());
|
||||
removedListCreated = true;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
getRemovedList().load(removedListFile);
|
||||
}
|
||||
catch (IOException | InvalidConfigurationException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
if(userListCreated)
|
||||
{
|
||||
try
|
||||
|
@ -326,18 +274,5 @@ public class DiscordWhitelister extends JavaPlugin
|
|||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
if(removedListCreated)
|
||||
{
|
||||
//getRemovedList().set("minecraftUsername", "discordRemoverID");
|
||||
try
|
||||
{
|
||||
getRemovedList().save(removedListFile.getPath());
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,10 +4,9 @@ import org.bukkit.entity.Player;
|
|||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import uk.co.angrybee.joe.DiscordClient;
|
||||
import uk.co.angrybee.joe.DiscordWhitelister;
|
||||
import uk.co.angrybee.joe.Stores.InGameRemovedList;
|
||||
import uk.co.angrybee.joe.Stores.RemovedList;
|
||||
import uk.co.angrybee.joe.Stores.WhitelistedPlayers;
|
||||
|
||||
import java.io.File;
|
||||
|
@ -89,23 +88,14 @@ public class OnWhitelistEvents implements Listener
|
|||
|
||||
private static void ClearPlayerFromRemovedLists(String playerName, Player commandCaller)
|
||||
{
|
||||
// TODO: change when removed list is moved to stores folder
|
||||
if(DiscordWhitelister.getRemovedList().get(playerName) != null)
|
||||
if(RemovedList.CheckStoreForPlayer(playerName))
|
||||
{
|
||||
DiscordWhitelister.getPluginLogger().info(commandCaller.getName() + " is attempting to add " + playerName + ". Removing " + playerName +
|
||||
" from removed-list.yml");
|
||||
DiscordWhitelister.getRemovedList().set(playerName, null);
|
||||
RemovedList.getRemovedPlayers().set(playerName, null);
|
||||
|
||||
// Save changes
|
||||
// TODO: call save function when created instead of doing it again here
|
||||
try
|
||||
{
|
||||
DiscordWhitelister.getRemovedList().save(DiscordWhitelister.getRemovedListFile().getPath());
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
RemovedList.SaveStore();
|
||||
}
|
||||
|
||||
if(InGameRemovedList.CheckStoreForPlayer(playerName))
|
||||
|
|
|
@ -7,9 +7,6 @@ import uk.co.angrybee.joe.DiscordWhitelister;
|
|||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
// Stores removed players that were removed in-game
|
||||
// in-game-removed-list.yml
|
||||
|
@ -101,6 +98,7 @@ public class InGameRemovedList
|
|||
// Returns true if the player is in the store/list
|
||||
public static boolean CheckStoreForPlayer(String nameToCheck)
|
||||
{
|
||||
LoadStore();
|
||||
return removedPlayersConfig.get(nameToCheck) != null;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,76 @@
|
|||
package uk.co.angrybee.joe.Stores;
|
||||
|
||||
import org.bukkit.configuration.InvalidConfigurationException;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import uk.co.angrybee.joe.DiscordWhitelister;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
//getRemovedList().set("minecraftUsername", "discordRemoverID");
|
||||
|
||||
// Stores removed players that were removed through Discord
|
||||
// removed-list.yml
|
||||
public class RemovedList
|
||||
{
|
||||
private static File removePlayersFile;
|
||||
private static FileConfiguration removedPlayersConfig;
|
||||
|
||||
public static FileConfiguration getRemovedPlayers() { return removedPlayersConfig; }
|
||||
|
||||
public static void StoreSetup()
|
||||
{
|
||||
removePlayersFile = new File(DiscordWhitelister.getPlugin().getDataFolder(), "removed-list.yml");
|
||||
removedPlayersConfig = new YamlConfiguration();
|
||||
|
||||
if(!removePlayersFile.exists())
|
||||
CreateStore();
|
||||
|
||||
LoadStore();
|
||||
SaveStore();
|
||||
}
|
||||
|
||||
private static void CreateStore()
|
||||
{
|
||||
try
|
||||
{
|
||||
removePlayersFile.createNewFile();
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private static void LoadStore()
|
||||
{
|
||||
try
|
||||
{
|
||||
removedPlayersConfig.load(removePlayersFile);
|
||||
}
|
||||
catch (IOException | InvalidConfigurationException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public static void SaveStore()
|
||||
{
|
||||
try
|
||||
{
|
||||
removedPlayersConfig.save(removePlayersFile.getPath());
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
// Returns true if the player is in the store/list
|
||||
public static boolean CheckStoreForPlayer(String nameToCheck)
|
||||
{
|
||||
LoadStore();
|
||||
return removedPlayersConfig.get(nameToCheck) != null;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
package uk.co.angrybee.joe.Stores;
|
||||
|
||||
// user-list.yml
|
||||
public class UserList
|
||||
{
|
||||
|
||||
}
|
|
@ -12,10 +12,9 @@ import uk.co.angrybee.joe.DiscordWhitelister;
|
|||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
// TODO: 1 File to access Vanilla & EWhitelist whitelisted players
|
||||
// For accessing whitelisted players
|
||||
public class WhitelistedPlayers
|
||||
{
|
||||
private static Plugin easyWhitelist;
|
||||
|
|
Loading…
Reference in New Issue