code cleanup

moved removed list to its own class
This commit is contained in:
Joe 2020-07-21 22:12:38 +01:00
parent a2266f4b07
commit 82ca20eca0
7 changed files with 99 additions and 110 deletions

View File

@ -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();

View File

@ -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();
}
}
}
}

View File

@ -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))

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -0,0 +1,7 @@
package uk.co.angrybee.joe.Stores;
// user-list.yml
public class UserList
{
}

View File

@ -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;