Keep on trying i guess.

Build has a critical error where sql data is being interpreted incorrectly which is odd considering no sql changes were made.
This commit is contained in:
Paul Reilly
2023-05-03 20:38:51 -05:00
parent 618eb669b2
commit a8a2651fd9
173 changed files with 1226 additions and 1435 deletions

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>

View File

@ -2,19 +2,12 @@ package me.totalfreedom.discord;
import discord4j.core.DiscordClientBuilder;
import discord4j.core.GatewayDiscordClient;
import discord4j.core.event.domain.interaction.ChatInputInteractionEvent;
import discord4j.core.object.entity.Guild;
import me.totalfreedom.discord.command.HelpCommand;
import me.totalfreedom.discord.command.ListCommand;
import me.totalfreedom.discord.command.TPSCommand;
import me.totalfreedom.discord.handling.CommandHandler;
import me.totalfreedom.discord.react.ReactiveBukkitScheduler;
import me.totalfreedom.discord.util.SnowflakeEntry;
import me.totalfreedom.discord.util.TFM_Bridge;
import me.totalfreedom.totalfreedommod.config.ConfigEntry;
import me.totalfreedom.totalfreedommod.player.PlayerData;
import me.totalfreedom.totalfreedommod.util.FLog;
import org.bukkit.Bukkit;
import reactor.core.publisher.Mono;
import java.util.HashMap;
@ -25,6 +18,7 @@ public class Bot
private final GatewayDiscordClient client;
private final TFM_Bridge tfm;
private final HashMap<String, PlayerData> LINK_CODES = new HashMap<>();
public Bot()
{
//Creates the gateway client and connects to the gateway
@ -36,11 +30,13 @@ public class Bot
this.tfm = new TFM_Bridge(this);
}
public void initialize() {
public void initialize()
{
if (client == null) throw new IllegalStateException();
}
public String formatBotTag() {
public String formatBotTag()
{
return client.getSelf()
.blockOptional()
.orElseThrow()

View File

@ -12,11 +12,11 @@ import discord4j.core.spec.EmbedCreateSpec;
import discord4j.core.spec.MessageCreateSpec;
import me.totalfreedom.discord.util.SnowflakeEntry;
import me.totalfreedom.discord.util.Utilities;
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
import me.totalfreedom.totalfreedommod.admin.Admin;
import me.totalfreedom.totalfreedommod.api.TFD4JCommons;
import me.totalfreedom.totalfreedommod.config.ConfigEntry;
import me.totalfreedom.totalfreedommod.player.PlayerData;
import me.totalfreedom.totalfreedommod.rank.GroupProvider;
import me.totalfreedom.totalfreedommod.util.FLog;
import org.apache.commons.lang.RandomStringUtils;
import org.apache.commons.lang.WordUtils;
@ -173,11 +173,11 @@ public class TFD4JCommonsImpl implements TFD4JCommons
return true;
}
if (admin.getRank().equals(GroupProvider.ADMIN.getGroup()))
if (admin.getRank().equals(TotalFreedomMod.getPlugin().getHierarchy().groups().getAdmin()))
{
syncRolesAdminAssignment(member, adminRole, senioradminRole);
return true;
} else if (admin.getRank().equals(GroupProvider.SENIOR_ADMIN.getGroup()))
} else if (admin.getRank().equals(TotalFreedomMod.getPlugin().getHierarchy().groups().getSeniorAdmin()))
{
syncRolesSeniorAssignment(member, adminRole, senioradminRole);
return true;

View File

@ -31,9 +31,11 @@ public class ListCommand implements SlashCommand
StringBuilder sb = new StringBuilder();
Iterator<String> iterator = playerNames.iterator();
while (iterator.hasNext()) {
while (iterator.hasNext())
{
sb.append(iterator.next());
if (iterator.hasNext()) {
if (iterator.hasNext())
{
sb.append(", \n");
}
}

View File

@ -3,7 +3,8 @@ package me.totalfreedom.discord.handling;
import discord4j.core.event.domain.interaction.ChatInputInteractionEvent;
import reactor.core.publisher.Mono;
public interface SlashCommand {
public interface SlashCommand
{
String getName();
Mono<Void> handle(ChatInputInteractionEvent event);

View File

@ -1,6 +1,5 @@
package me.totalfreedom.discord.listener;
import com.google.common.base.Strings;
import discord4j.core.event.domain.message.MessageCreateEvent;
import discord4j.core.object.entity.Attachment;
import discord4j.core.object.entity.Guild;
@ -10,10 +9,7 @@ import me.totalfreedom.discord.Bot;
import me.totalfreedom.discord.TFD4J;
import me.totalfreedom.discord.util.SnowflakeEntry;
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
import me.totalfreedom.totalfreedommod.admin.Admin;
import me.totalfreedom.totalfreedommod.api.event.AdminChatEvent;
import me.totalfreedom.totalfreedommod.rank.Displayable;
import me.totalfreedom.totalfreedommod.rank.GroupProvider;
import me.totalfreedom.totalfreedommod.rank.Title;
import me.totalfreedom.totalfreedommod.util.FLog;
import me.totalfreedom.totalfreedommod.util.FUtil;
@ -23,10 +19,6 @@ import net.kyori.adventure.text.TextComponent;
import net.kyori.adventure.text.event.ClickEvent;
import net.kyori.adventure.text.event.HoverEvent;
import net.kyori.adventure.text.format.NamedTextColor;
import net.kyori.adventure.text.format.TextColor;
import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
public class AdminChatListener
{
@ -41,6 +33,11 @@ public class AdminChatListener
this.bot = tfd4j.getBot();
}
public static Key getIdentifier()
{
return identifier;
}
public void adminChatBound()
{
tfd4j.getBot()
@ -104,22 +101,17 @@ public class AdminChatListener
return Title.ASST_EXEC;
} else if (role.getId().equals(SnowflakeEntry.SENIOR_ADMIN_ROLE_ID.getSnowflake()))
{
return GroupProvider.SENIOR_ADMIN.getGroup();
return TotalFreedomMod.getPlugin().getHierarchy().groups().getSeniorAdmin();
} else if (role.getId().equals(SnowflakeEntry.ADMIN_ROLE_ID.getSnowflake()))
{
return GroupProvider.ADMIN.getGroup();
return TotalFreedomMod.getPlugin().getHierarchy().groups().getAdmin();
} else if (role.getId().equals(SnowflakeEntry.MASTERBUILDER_ROLE_ID.getSnowflake()))
{
return GroupProvider.MASTER_BUILDER.getGroup();
return TotalFreedomMod.getPlugin().getHierarchy().groups().getMasterBuilder();
} else
{
return GroupProvider.OP.getGroup(); // This should never be reached.
return TotalFreedomMod.getPlugin().getHierarchy().groups().getNonOp(); // This should never be reached.
}
}).blockFirst();
}
public static Key getIdentifier()
{
return identifier;
}
}

View File

@ -8,17 +8,14 @@ import me.totalfreedom.totalfreedommod.TotalFreedomMod;
import me.totalfreedom.totalfreedommod.api.event.AdminChatEvent;
import me.totalfreedom.totalfreedommod.config.ConfigEntry;
import me.totalfreedom.totalfreedommod.util.FUtil;
import net.kyori.adventure.key.Key;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer;
import net.md_5.bungee.api.ChatColor;
import org.bukkit.GameRule;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.event.player.AsyncPlayerChatEvent;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerQuitEvent;

View File

@ -4,7 +4,6 @@ import discord4j.core.event.domain.message.MessageCreateEvent;
import discord4j.core.object.entity.Attachment;
import discord4j.core.object.entity.Member;
import discord4j.core.object.entity.Message;
import discord4j.core.object.entity.channel.TextChannel;
import me.totalfreedom.discord.Bot;
import me.totalfreedom.discord.TFD4J;
import me.totalfreedom.discord.util.SnowflakeEntry;

View File

@ -1,6 +1,5 @@
package me.totalfreedom.discord.react;
import java.util.concurrent.TimeUnit;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitScheduler;
import org.jetbrains.annotations.NotNull;
@ -8,6 +7,8 @@ import org.jetbrains.annotations.Nullable;
import reactor.core.Disposable;
import reactor.core.scheduler.Scheduler;
import java.util.concurrent.TimeUnit;
/**
* An abstraction layer over the {@link BukkitScheduler} to allow for the use as a {@link Scheduler}.
* This will allow us to perform non-blocking operations on the main server thread.
@ -15,7 +16,8 @@ import reactor.core.scheduler.Scheduler;
* @author SimplexDevelopment
*/
public final class ReactiveBukkitScheduler
implements Scheduler, Scheduler.Worker {
implements Scheduler, Scheduler.Worker
{
/**
* The plugin instance.
*/
@ -25,7 +27,8 @@ public final class ReactiveBukkitScheduler
*/
private final BukkitScheduler scheduler;
public ReactiveBukkitScheduler(JavaPlugin plugin) {
public ReactiveBukkitScheduler(JavaPlugin plugin)
{
this.plugin = plugin;
this.scheduler = plugin.getServer().getScheduler();
}
@ -37,7 +40,8 @@ public final class ReactiveBukkitScheduler
* @return A disposable that can be used to cancel the task.
*/
@Override
public @NotNull Disposable schedule(@NotNull Runnable task) {
public @NotNull Disposable schedule(@NotNull Runnable task)
{
return new DisposableBukkitTask(scheduler.runTask(plugin, task));
}
@ -51,7 +55,8 @@ public final class ReactiveBukkitScheduler
* @return A disposable that can be used to cancel the task.
*/
@Override
public @NotNull Disposable schedule(@NotNull Runnable task, long delay, @Deprecated @Nullable TimeUnit unit) {
public @NotNull Disposable schedule(@NotNull Runnable task, long delay, @Deprecated @Nullable TimeUnit unit)
{
return new DisposableBukkitTask(scheduler.runTaskLater(plugin, task, delay));
}
@ -67,8 +72,10 @@ public final class ReactiveBukkitScheduler
* @return A disposable that can be used to cancel the task.
*/
@Override
public @NotNull Disposable schedulePeriodically(@NotNull Runnable task, long initialDelay, long period, @Deprecated @Nullable TimeUnit unit) {
if (period <= 0L) {
public @NotNull Disposable schedulePeriodically(@NotNull Runnable task, long initialDelay, long period, @Deprecated @Nullable TimeUnit unit)
{
if (period <= 0L)
{
throw new IllegalArgumentException("Period must be greater than 0L");
}
@ -81,7 +88,8 @@ public final class ReactiveBukkitScheduler
* @return This class instance, as it implements {@link Worker}.
*/
@Override
public @NotNull Scheduler.Worker createWorker() {
public @NotNull Scheduler.Worker createWorker()
{
return this;
}
@ -90,7 +98,8 @@ public final class ReactiveBukkitScheduler
*/
@Override
@Deprecated
public void dispose() {
public void dispose()
{
// This method does nothing and is only here because it's being overridden from a parent.
}
}

View File

@ -31,11 +31,6 @@ public enum SnowflakeEntry
this.entry = entry;
}
public Snowflake getSnowflake()
{
return Snowflake.of(entry.getString());
}
public static Set<Snowflake> acceptableRoleIDs()
{
Set<Snowflake> acceptableRoleIDs = new HashSet<>();
@ -48,4 +43,9 @@ public enum SnowflakeEntry
acceptableRoleIDs.add(SnowflakeEntry.MASTERBUILDER_ROLE_ID.getSnowflake());
return acceptableRoleIDs;
}
public Snowflake getSnowflake()
{
return Snowflake.of(entry.getString());
}
}

View File

@ -4,7 +4,6 @@ import discord4j.core.object.entity.Guild;
import discord4j.core.object.entity.Member;
import me.totalfreedom.discord.Bot;
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
import me.totalfreedom.totalfreedommod.rank.GroupProvider;
import me.totalfreedom.totalfreedommod.rank.Title;
import me.totalfreedom.totalfreedommod.util.FUtil;
import org.bukkit.Bukkit;
@ -43,13 +42,25 @@ public class TFM_Bridge
return FUtil.miniMessage(Title.ASST_EXEC.getColoredTag());
} else if (role.getId().equals(SnowflakeEntry.SENIOR_ADMIN_ROLE_ID.getSnowflake()))
{
return FUtil.miniMessage(GroupProvider.SENIOR_ADMIN.getGroup().getColoredTag());
return FUtil.miniMessage(TotalFreedomMod.getPlugin()
.getHierarchy()
.groups()
.getSeniorAdmin()
.getColoredTag());
} else if (role.getId().equals(SnowflakeEntry.ADMIN_ROLE_ID.getSnowflake()))
{
return FUtil.miniMessage(GroupProvider.ADMIN.getGroup().getColoredTag());
return FUtil.miniMessage(TotalFreedomMod.getPlugin()
.getHierarchy()
.groups()
.getAdmin()
.getColoredTag());
} else if (role.getId().equals(SnowflakeEntry.MASTERBUILDER_ROLE_ID.getSnowflake()))
{
return FUtil.miniMessage(GroupProvider.MASTER_BUILDER.getGroup().getColoredTag());
return FUtil.miniMessage(TotalFreedomMod.getPlugin()
.getHierarchy()
.groups()
.getMasterBuilder()
.getColoredTag());
} else
{
return "";

View File

@ -2,7 +2,8 @@ package me.totalfreedom.discord.util;
public class Utilities
{
private Utilities() {
private Utilities()
{
throw new AssertionError();
}

View File

@ -2,7 +2,7 @@ name: TFD4J
main: me.totalfreedom.discord.TFD4J
version: 2023.03
api-version: 1.19
depend: [TotalFreedomMod]
depend: [ TotalFreedomMod ]
libraries:
- com.discord4j:discord4j-core:3.2.0
- io.projectreactor:reactor-core:3.4.9