From de496970d91f6062e90216b109d06b1f8b6cdb8f Mon Sep 17 00:00:00 2001
From: speed <43330808+speedxx@users.noreply.github.com>
Date: Thu, 24 Dec 2020 13:09:42 -0500
Subject: [PATCH] remove reddit system
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
jraw free 🦀🦀🦀
---
pom.xml | 15 +-
.../totalfreedom/totalfreedommod/Reddit.java | 217 ------------------
.../totalfreedommod/TotalFreedomMod.java | 2 -
.../command/Command_linkreddit.java | 69 ------
.../command/Command_unlinkreddit.java | 41 ----
.../totalfreedommod/config/ConfigEntry.java | 12 -
.../totalfreedommod/player/PlayerData.java | 6 -
.../totalfreedommod/rank/RankManager.java | 1 -
.../totalfreedommod/sql/SQLite.java | 3 +-
src/main/resources/config.yml | 25 --
src/main/resources/plugin.yml | 1 -
11 files changed, 5 insertions(+), 387 deletions(-)
delete mode 100644 src/main/java/me/totalfreedom/totalfreedommod/Reddit.java
delete mode 100644 src/main/java/me/totalfreedom/totalfreedommod/command/Command_linkreddit.java
delete mode 100644 src/main/java/me/totalfreedom/totalfreedommod/command/Command_unlinkreddit.java
diff --git a/pom.xml b/pom.xml
index e9e37870..04d6aeff 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
me.totalfreedom
TotalFreedomMod
- 2020.11.5
+ 2020.12
jar
@@ -18,7 +18,7 @@
TotalFreedomMod
Server modification for the TotalFreedom server
- https://github.com/TFPatches/TotalFreedomMod
+ https://github.com/AtlasMediaGroup/TotalFreedomMod
@@ -202,7 +202,7 @@
net.dv8tion
JDA
- 4.2.0_222
+ 4.2.0_223
provided
@@ -223,7 +223,7 @@
io.papermc
paperlib
- 1.0.5
+ 1.0.6
compile
@@ -275,13 +275,6 @@
3.1.1
compile
-
-
- net.dean.jraw
- JRAW
- 1.1.0
- provided
-
diff --git a/src/main/java/me/totalfreedom/totalfreedommod/Reddit.java b/src/main/java/me/totalfreedom/totalfreedommod/Reddit.java
deleted file mode 100644
index 630e6ff7..00000000
--- a/src/main/java/me/totalfreedom/totalfreedommod/Reddit.java
+++ /dev/null
@@ -1,217 +0,0 @@
-package me.totalfreedom.totalfreedommod;
-
-import com.google.common.base.Strings;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import me.totalfreedom.totalfreedommod.config.ConfigEntry;
-import me.totalfreedom.totalfreedommod.player.PlayerData;
-import me.totalfreedom.totalfreedommod.rank.Displayable;
-import me.totalfreedom.totalfreedommod.rank.Rank;
-import me.totalfreedom.totalfreedommod.rank.Title;
-import me.totalfreedom.totalfreedommod.util.FLog;
-import me.totalfreedom.totalfreedommod.util.FUtil;
-import net.dean.jraw.ApiException;
-import net.dean.jraw.RedditClient;
-import net.dean.jraw.http.OkHttpNetworkAdapter;
-import net.dean.jraw.http.UserAgent;
-import net.dean.jraw.models.CurrentFlair;
-import net.dean.jraw.models.Flair;
-import net.dean.jraw.oauth.Credentials;
-import net.dean.jraw.oauth.OAuthHelper;
-import net.dean.jraw.references.SubredditReference;
-import org.bukkit.entity.Player;
-
-public class Reddit extends FreedomService
-{
- private final String SUBREDDIT_NAME = ConfigEntry.REDDIT_SUBREDDIT_NAME.getString();
- private final String USERNAME = ConfigEntry.REDDIT_USERNAME.getString();
- private final String PASSWORD = ConfigEntry.REDDIT_PASSWORD.getString();
- private final String CLIENT_ID = ConfigEntry.REDDIT_CLIENT_ID.getString();
- private final String CLIENT_SECRET = ConfigEntry.REDDIT_CLIENT_SECRET.getString();
-
- private final UserAgent userAgent = new UserAgent("bot", "me.totalfreedom.reddit", TotalFreedomMod.build.version, USERNAME);
- private final Credentials credentials = Credentials.script(USERNAME, PASSWORD, CLIENT_ID, CLIENT_SECRET);
-
- private RedditClient reddit = null;
- private SubredditReference subreddit = null;
-
- private HashMap linkCodes = new HashMap<>();
- private HashMap pending = new HashMap<>();
-
- private Map flairList = new HashMap<>();
-
- private Map flairNameList = new HashMap<>();
-
- private List noFlairDisplays = Arrays.asList(Title.VERIFIED_ADMIN, Rank.IMPOSTOR, Rank.NON_OP, Rank.OP);
-
- public boolean enabled = false;
-
- @Override
- public void onStart()
- {
- enabled = ConfigEntry.REDDIT_CLIENT_ID.getString() == null;
- if (!enabled)
- {
- return;
- }
-
- if (reddit == null)
- {
- try
- {
- reddit = OAuthHelper.automatic(new OkHttpNetworkAdapter(userAgent), credentials);
- reddit.setLogHttp(FUtil.inDeveloperMode());
- }
- catch (NoClassDefFoundError e)
- {
- FLog.warning("The JRAW plugin is not installed, therefore the Reddit service cannot start.");
- FLog.warning("To resolve this error, please download the latest JRAW from: https://github.com/TFPatches/Minecraft-JRAW/releases");
- enabled = false;
- return;
- }
- catch (NullPointerException e)
- {
- FLog.warning("Invalid Reddit credentials specified, please double check everything in the config.");
- enabled = false;
- return;
- }
- }
-
- if (subreddit == null)
- {
- subreddit = reddit.subreddit(SUBREDDIT_NAME);
- }
-
- loadFlairList();
- }
-
- @Override
- public void onStop()
- {
- }
-
- public void setFlair(String username, String flairID)
- {
- List flairs = subreddit.userFlairOptions();
- Flair flair = null;
- for (Flair f : flairs)
- {
- if (f.getId().equals(flairID))
- {
- flair = f;
- break;
- }
- }
-
- if (flair == null)
- {
- return;
- }
-
- subreddit.otherUserFlair(username).updateToTemplate(flair.getId(), "");
- }
-
- public void removeFlair(String username)
- {
- subreddit.otherUserFlair(username).updateToTemplate("", "");
- }
-
- public void sendModMessage(String username, String subject, String body) throws ApiException
- {
- reddit.me().inbox().compose("/r/" + SUBREDDIT_NAME, username, subject, body);
- }
-
- public String addLinkCode(PlayerData data, String username)
- {
- String code = FUtil.randomAlphanumericString(10);
- linkCodes.put(code, data);
- pending.put(data, username);
- return code;
- }
-
- public String checkLinkCode(String code)
- {
- PlayerData data = linkCodes.get(code);
- String username = pending.get(data);
- if (data == null || username == null)
- {
- return null;
- }
-
- linkCodes.remove(code);
- pending.remove(data);
-
- data.setRedditUsername(username);
- plugin.pl.save(data);
-
- return username;
- }
-
- public boolean updateFlair(Player player)
- {
- if (!enabled)
- {
- return false;
- }
-
- PlayerData data = plugin.pl.getData(player);
- String username = data.getRedditUsername();
- Displayable display = plugin.rm.getDisplay(player);
- if (username == null)
- {
- FLog.debug("No Reddit account");
- return false;
- }
-
- CurrentFlair currentFlair = subreddit.otherUserFlair(username).current();
- String currentFlairName = currentFlair.getText();
- String currentFlairID = currentFlair.getId();
- String neededFlairID = flairList.get(display);
- String neededFlairName = flairNameList.get(display);
-
- FLog.debug("Current ID: " + currentFlairID);
- FLog.debug("Needed ID: " + neededFlairID);
-
- FLog.debug("Current Name: " + currentFlairName);
- FLog.debug("Needed Name: " + neededFlairName);
-
-
- // Work around
- //if (currentFlairID == null && neededFlairID != null || currentFlairID != null && neededFlairID != null && !currentFlairID.equals(neededFlairID))
- if (Strings.isNullOrEmpty(currentFlairName) && neededFlairName != null || !Strings.isNullOrEmpty(currentFlairName) && neededFlairName != null && !currentFlairName.equals(neededFlairName))
- {
- FLog.debug("Setting flair");
- setFlair(username, neededFlairID);
- return true;
- }
-
- if (noFlairDisplays.contains(display) && !Strings.isNullOrEmpty(currentFlairName))
- {
- FLog.debug("Removing flair");
- removeFlair(username);
- return true;
- }
-
- return false;
- }
-
- public void loadFlairList()
- {
- flairList.put(Title.OWNER, ConfigEntry.REDDIT_SERVER_OWNER_FLAIR_ID.getString());
- flairList.put(Title.EXECUTIVE, ConfigEntry.REDDIT_EXECUTIVE_FLAIR_ID.getString());
- flairList.put(Title.DEVELOPER, ConfigEntry.REDDIT_DEVELOPER_FLAIR_ID.getString());
- flairList.put(Rank.SENIOR_ADMIN, ConfigEntry.REDDIT_SENIOR_ADMIN_FLAIR_ID.getString());
- flairList.put(Rank.ADMIN, ConfigEntry.REDDIT_NEW_ADMIN_FLAIR_ID.getString());
- flairList.put(Title.MASTER_BUILDER, ConfigEntry.REDDIT_MASTER_BUILDER_FLAIR_ID.getString());
-
- // Work around because the current flair ID keeps returning null, either a JRAW bug or a Reddit bug
- flairNameList.put(Title.OWNER, "Server Owner");
- flairNameList.put(Title.EXECUTIVE, "Executive");
- flairNameList.put(Title.DEVELOPER, "Developer");
- flairNameList.put(Rank.SENIOR_ADMIN, "Senior Admin");
- flairNameList.put(Rank.ADMIN, "Admin");
- flairNameList.put(Title.MASTER_BUILDER, "Master Builder");
- }
-}
diff --git a/src/main/java/me/totalfreedom/totalfreedommod/TotalFreedomMod.java b/src/main/java/me/totalfreedom/totalfreedommod/TotalFreedomMod.java
index ce98db67..7cbc3b8f 100644
--- a/src/main/java/me/totalfreedom/totalfreedommod/TotalFreedomMod.java
+++ b/src/main/java/me/totalfreedom/totalfreedommod/TotalFreedomMod.java
@@ -107,7 +107,6 @@ public class TotalFreedomMod extends JavaPlugin
public BanManager bm;
public IndefiniteBanList im;
public PermissionManager pem;
- public Reddit rd;
public GameRuleHandler gr;
public CommandSpy cs;
public Cager ca;
@@ -225,7 +224,6 @@ public class TotalFreedomMod extends JavaPlugin
bm = new BanManager();
im = new IndefiniteBanList();
pem = new PermissionManager();
- rd = new Reddit();
gr = new GameRuleHandler();
snp = new SignBlocker();
ew = new EntityWiper();
diff --git a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_linkreddit.java b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_linkreddit.java
deleted file mode 100644
index f7d3cf35..00000000
--- a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_linkreddit.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package me.totalfreedom.totalfreedommod.command;
-
-import me.totalfreedom.totalfreedommod.rank.Rank;
-import net.dean.jraw.ApiException;
-import org.bukkit.ChatColor;
-import org.bukkit.command.Command;
-import org.bukkit.command.CommandSender;
-import org.bukkit.entity.Player;
-
-@CommandPermissions(level = Rank.OP, source = SourceType.ONLY_IN_GAME)
-@CommandParameters(description = "Link your reddit account", usage = "/ >")
-public class Command_linkreddit extends FreedomCommand
-{
-
- public boolean run(final CommandSender sender, final Player playerSender, final Command cmd, final String commandLabel, final String[] args, final boolean senderIsConsole)
- {
- if (!plugin.rd.enabled)
- {
- msg("The Reddit system is currently disabled.", ChatColor.RED);
- return true;
- }
-
- if (getData(playerSender).getRedditUsername() != null)
- {
- msg("Your Reddit account is already linked.");
- return true;
- }
-
- if (args.length == 0)
- {
- return false;
- }
-
- if (args.length == 1 && !args[0].equals("code"))
- {
- String username = args[0];
- String code = plugin.rd.addLinkCode(getData(playerSender), username);
-
- try
- {
- plugin.rd.sendModMessage(username, "Link Code", "Please run the following in-game to link your Reddit account: /linkreddit code " + code);
- }
- catch (ApiException e)
- {
- msg("Could not find a Reddit account by the name of " + args[0], ChatColor.RED);
- return true;
- }
-
- msg("A linking code has been sent to " + username + ". Please check your mod mail at " + ChatColor.AQUA + "https://www.reddit.com/message/moderator", ChatColor.GREEN);
- return true;
- }
-
- String code = args[1];
- String username = plugin.rd.checkLinkCode(code);
-
- if (username == null)
- {
- msg(code + " is not a valid code", ChatColor.RED);
- return true;
- }
-
- msg("Successfully linked the Reddit account " + username + " to your Minecraft account.", ChatColor.GREEN);
- if (plugin.rd.updateFlair(playerSender))
- {
- msg("Your flair has been updated.", ChatColor.GREEN);
- }
- return true;
- }
-}
diff --git a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_unlinkreddit.java b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_unlinkreddit.java
deleted file mode 100644
index b71c8636..00000000
--- a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_unlinkreddit.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package me.totalfreedom.totalfreedommod.command;
-
-import me.totalfreedom.totalfreedommod.player.PlayerData;
-import me.totalfreedom.totalfreedommod.rank.Rank;
-import org.bukkit.ChatColor;
-import org.bukkit.command.Command;
-import org.bukkit.command.CommandSender;
-import org.bukkit.entity.Player;
-
-@CommandPermissions(level = Rank.OP, source = SourceType.ONLY_IN_GAME)
-@CommandParameters(description = "Unlink your reddit account", usage = "/")
-public class Command_unlinkreddit extends FreedomCommand
-{
-
- @Override
- public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
- {
- if (!plugin.rd.enabled)
- {
- msg("The reddit system is currently disabled.", ChatColor.RED);
- return true;
- }
-
- PlayerData data = getData(playerSender);
-
- if (data.getRedditUsername() == null)
- {
- msg("You don't have a reddit account linked.", ChatColor.RED);
- return true;
- }
-
- plugin.rd.removeFlair(data.getRedditUsername());
-
- data.setRedditUsername(null);
- plugin.pl.save(data);
-
- msg("Successfully unlinked your reddit account. If you had a flair, it was removed.", ChatColor.GREEN);
-
- return true;
- }
-}
\ No newline at end of file
diff --git a/src/main/java/me/totalfreedom/totalfreedommod/config/ConfigEntry.java b/src/main/java/me/totalfreedom/totalfreedommod/config/ConfigEntry.java
index 578a0731..926aac8f 100644
--- a/src/main/java/me/totalfreedom/totalfreedommod/config/ConfigEntry.java
+++ b/src/main/java/me/totalfreedom/totalfreedommod/config/ConfigEntry.java
@@ -84,18 +84,6 @@ public enum ConfigEntry
DISCORD_EXECUTIVE_ROLE_ID(String.class, "discord.executive_role_id"),
DISCORD_SERVER_OWNER_ROLE_ID(String.class, "discord.server_owner_role_id"),
//
- REDDIT_SUBREDDIT_NAME(String.class, "reddit.subreddit_name"),
- REDDIT_USERNAME(String.class, "reddit.username"),
- REDDIT_PASSWORD(String.class, "reddit.password"),
- REDDIT_CLIENT_ID(String.class, "reddit.client_id"),
- REDDIT_CLIENT_SECRET(String.class, "reddit.client_secret"),
- REDDIT_MASTER_BUILDER_FLAIR_ID(String.class, "reddit.master_builder_flair_id"),
- REDDIT_NEW_ADMIN_FLAIR_ID(String.class, "reddit.admin_flair_id"),
- REDDIT_SENIOR_ADMIN_FLAIR_ID(String.class, "reddit.senior_admin_flair_id"),
- REDDIT_DEVELOPER_FLAIR_ID(String.class, "reddit.developer_flair_id"),
- REDDIT_EXECUTIVE_FLAIR_ID(String.class, "reddit.executive_flair_id"),
- REDDIT_SERVER_OWNER_FLAIR_ID(String.class, "reddit.server_owner_flair_id"),
- //
PTERO_URL(String.class, "ptero.url"),
PTERO_DEFAULT_EMAIL_DOMAIN(String.class, "ptero.default_email_domain"),
PTERO_SERVER_UUID(String.class, "ptero.server_uuid"),
diff --git a/src/main/java/me/totalfreedom/totalfreedommod/player/PlayerData.java b/src/main/java/me/totalfreedom/totalfreedommod/player/PlayerData.java
index 42a0138e..f780d7ac 100644
--- a/src/main/java/me/totalfreedom/totalfreedommod/player/PlayerData.java
+++ b/src/main/java/me/totalfreedom/totalfreedommod/player/PlayerData.java
@@ -49,9 +49,6 @@ public class PlayerData
private boolean displayDiscord = true;
@Getter
@Setter
- private String redditUsername;
- @Getter
- @Setter
private String loginMessage;
@Setter
private Boolean inspect = false;
@@ -77,7 +74,6 @@ public class PlayerData
items.addAll(FUtil.stringToList(resultSet.getString("items")));
totalVotes = resultSet.getInt("total_votes");
displayDiscord = resultSet.getBoolean("display_discord");
- redditUsername = resultSet.getString("reddit_username");
loginMessage = resultSet.getString("login_message");
inspect = resultSet.getBoolean("inspect");
}
@@ -115,7 +111,6 @@ public class PlayerData
.append("- Tag: ").append(FUtil.colorize(tag)).append(ChatColor.GRAY).append("\n")
.append("- Ride Mode: ").append(rideMode).append("\n")
.append("- Backup Codes: ").append(backupCodes.size()).append("/10").append("\n")
- .append("- Reddit Username: ").append(redditUsername).append("\n")
.append("- Login Message: ").append(loginMessage);
return output.toString();
@@ -256,7 +251,6 @@ public class PlayerData
put("items", FUtil.listToString(items));
put("total_votes", totalVotes);
put("display_discord", displayDiscord);
- put("reddit_username", redditUsername);
put("login_message", loginMessage);
put("inspect", inspect);
}};
diff --git a/src/main/java/me/totalfreedom/totalfreedommod/rank/RankManager.java b/src/main/java/me/totalfreedom/totalfreedommod/rank/RankManager.java
index 8866cbb8..1cc1c2af 100644
--- a/src/main/java/me/totalfreedom/totalfreedommod/rank/RankManager.java
+++ b/src/main/java/me/totalfreedom/totalfreedommod/rank/RankManager.java
@@ -181,7 +181,6 @@ public class RankManager extends FreedomService
fPlayer.setTag(getTag(player, display.getColoredTag()));
updatePlayerTeam(player);
plugin.pem.setPermissions(player);
- plugin.rd.updateFlair(player);
}
@EventHandler(priority = EventPriority.MONITOR)
diff --git a/src/main/java/me/totalfreedom/totalfreedommod/sql/SQLite.java b/src/main/java/me/totalfreedom/totalfreedommod/sql/SQLite.java
index e27bb136..786d8b84 100644
--- a/src/main/java/me/totalfreedom/totalfreedommod/sql/SQLite.java
+++ b/src/main/java/me/totalfreedom/totalfreedommod/sql/SQLite.java
@@ -93,7 +93,7 @@ public class SQLite extends FreedomService
{
try
{
- connection.createStatement().execute("CREATE TABLE `players` (`username` VARCHAR NOT NULL, `ips` VARCHAR NOT NULL, `notes` VARCHAR, `tag` VARCHAR, `discord_id` VARCHAR, `backup_codes` VARCHAR, `master_builder` BOOLEAN NOT NULL,`verification` BOOLEAN NOT NULL, `ride_mode` VARCHAR NOT NULL, `coins` INT, `items` VARCHAR, `total_votes` INT NOT NULL, `display_discord` BOOLEAN NOT NULL, `reddit_username` VARCHAR, `login_message` VARCHAR, `inspect` BOOLEAN NOT NULL);");
+ connection.createStatement().execute("CREATE TABLE `players` (`username` VARCHAR NOT NULL, `ips` VARCHAR NOT NULL, `notes` VARCHAR, `tag` VARCHAR, `discord_id` VARCHAR, `backup_codes` VARCHAR, `master_builder` BOOLEAN NOT NULL,`verification` BOOLEAN NOT NULL, `ride_mode` VARCHAR NOT NULL, `coins` INT, `items` VARCHAR, `total_votes` INT NOT NULL, `display_discord` BOOLEAN NOT NULL, `login_message` VARCHAR, `inspect` BOOLEAN NOT NULL);");
}
catch (SQLException e)
{
@@ -284,7 +284,6 @@ public class SQLite extends FreedomService
statement.setString(11, FUtil.listToString(player.getItems()));
statement.setInt(12, player.getTotalVotes());
statement.setBoolean(13, player.doesDisplayDiscord());
- statement.setString(14, player.getRedditUsername());
statement.setString(15, player.getLoginMessage());
statement.setBoolean(16, player.hasInspection());
statement.executeUpdate();
diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml
index 689f222e..6d1fb50c 100644
--- a/src/main/resources/config.yml
+++ b/src/main/resources/config.yml
@@ -80,31 +80,6 @@ discord:
# Owner role ID
server_owner_role_id: ''
-# Reddit
-reddit:
- # Name of your subreddit (the r/NAME, excluding r/)
- subreddit_name: 'TotalFreedom'
- # Username of the bot account
- username: ''
- # Bot account password
- password: ''
- # Developer app id (Make one at https://www.reddit.com/prefs/apps (make sure the type is script))
- client_id: ''
- # Developer app secret
- client_secret: ''
- # Master Builder flair ID
- master_builder_flair_id: ''
- # Admin flair ID
- admin_flair_id: ''
- # Senior Admin flair ID
- senior_admin_flair_id: ''
- # Developer flair ID
- developer_flair_id: ''
- # Executive Admin flair ID
- executive_flair_id: ''
- # Owner flair ID
- server_owner_flair_id: ''
-
# Pterodactyl
ptero:
# URL - do not leave a trailing forward slash
diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml
index e9dc98b8..d5bd702c 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -12,7 +12,6 @@ softdepend:
- WorldGuardExtraFlags
- TFGuilds
- JDA
- - JRAW
- Votifier
authors: [Madgeek1450, Prozza]
api-version: "1.16"
\ No newline at end of file