mirror of
https://github.com/AtlasMediaGroup/TotalFreedomMod.git
synced 2025-06-29 03:36:42 +00:00
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:
@ -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>
|
||||
|
@ -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()
|
||||
|
@ -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;
|
||||
|
@ -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");
|
||||
}
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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.
|
||||
}
|
||||
}
|
||||
|
@ -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());
|
||||
}
|
||||
}
|
||||
|
@ -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 "";
|
||||
|
@ -2,7 +2,8 @@ package me.totalfreedom.discord.util;
|
||||
|
||||
public class Utilities
|
||||
{
|
||||
private Utilities() {
|
||||
private Utilities()
|
||||
{
|
||||
throw new AssertionError();
|
||||
}
|
||||
|
||||
|
@ -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
|
Reference in New Issue
Block a user