diff --git a/pom.xml b/pom.xml
index 3db9190..44e3528 100644
--- a/pom.xml
+++ b/pom.xml
@@ -109,7 +109,7 @@
io.papermc.paper
paper-api
- 1.20.1-R0.1-SNAPSHOT
+ 1.19.1-R0.1-SNAPSHOT
provided
@@ -189,6 +189,12 @@
1.0.500
provided
+
+ com.github.seeseemelk
+ MockBukkit-v1.19
+ 2.29.0
+ test
+
Chroma-Chat
diff --git a/src/main/java/buttondevteam/chat/components/formatter/ChatProcessing.java b/src/main/java/buttondevteam/chat/components/formatter/ChatProcessing.java
index 13a4c17..2d2b373 100644
--- a/src/main/java/buttondevteam/chat/components/formatter/ChatProcessing.java
+++ b/src/main/java/buttondevteam/chat/components/formatter/ChatProcessing.java
@@ -233,12 +233,14 @@ public class ChatProcessing {
val channelHover = (ChatUtils.MCORIGIN.equals(origin) ? "" : "From " + origin + "\n") + "Copy message";
json.append(text(channelidentifier)
.hoverEvent(hoverEvent(SHOW_TEXT, text(channelHover).color(BLUE))).clickEvent(suggestCommand(message)));
- if (PluginMain.permission.has(player, "tbmc.badge.diamond")) // TODO: Cross-platform permissions
- json.append(text("[P]").color(AQUA).decorate(TextDecoration.BOLD)
- .hoverEvent(hoverEvent(SHOW_TEXT, text("Diamond Patreon supporter"))));
- else if (PluginMain.permission.has(player, "tbmc.badge.gold"))
- json.append(text("[P]").color(GOLD).decorate(TextDecoration.BOLD)
- .hoverEvent(hoverEvent(SHOW_TEXT, text("Gold Patreon supporter"))));
+ if (player != null) {
+ if (PluginMain.permission.has(player, "tbmc.badge.diamond")) // TODO: Cross-platform permissions
+ json.append(text("[P]").color(AQUA).decorate(TextDecoration.BOLD)
+ .hoverEvent(hoverEvent(SHOW_TEXT, text("Diamond Patreon supporter"))));
+ else if (PluginMain.permission.has(player, "tbmc.badge.gold"))
+ json.append(text("[P]").color(GOLD).decorate(TextDecoration.BOLD)
+ .hoverEvent(hoverEvent(SHOW_TEXT, text("Gold Patreon supporter"))));
+ }
json.append(text(" <"));
json.append(text(user.getName()).hoverEvent(hoverEvent(SHOW_TEXT, text(user.getInfo(ChromaGamerBase.InfoTarget.MCHover)))));
json.append(text("> "));
diff --git a/src/test/java/buttondevteam/chat/components/formatter/ChatFormatIT.java b/src/test/java/buttondevteam/chat/components/formatter/ChatFormatIT.java
index 46436e5..2343a5b 100644
--- a/src/test/java/buttondevteam/chat/components/formatter/ChatFormatIT.java
+++ b/src/test/java/buttondevteam/chat/components/formatter/ChatFormatIT.java
@@ -9,24 +9,23 @@ import buttondevteam.chat.commands.ucmds.admin.DebugCommand;
import buttondevteam.chat.components.formatter.formatting.ChatFormatter;
import buttondevteam.chat.components.formatter.formatting.FormatSettings;
import buttondevteam.chat.components.formatter.formatting.MatchProviderBase;
-import buttondevteam.core.TestPrepare;
+import buttondevteam.core.MainPlugin;
import buttondevteam.core.component.channel.Channel;
-import buttondevteam.lib.TBMCCoreAPI;
import buttondevteam.lib.player.ChromaGamerBase;
-import buttondevteam.lib.player.TBMCPlayer;
-import buttondevteam.lib.player.TBMCPlayerBase;
+import buttondevteam.lib.test.TestPermissions;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.TextComponent;
-import net.milkbowl.vault.permission.Permission;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.mockito.Mockito;
import java.util.ArrayList;
import java.util.List;
+import java.util.UUID;
import java.util.function.Function;
+import static be.seeseemelk.mockbukkit.MockBukkit.load;
+import static be.seeseemelk.mockbukkit.MockBukkit.mock;
import static net.kyori.adventure.text.Component.text;
import static net.kyori.adventure.text.event.ClickEvent.Action.OPEN_URL;
import static net.kyori.adventure.text.event.ClickEvent.clickEvent;
@@ -39,11 +38,11 @@ import static net.kyori.adventure.text.format.TextDecoration.*;
public class ChatFormatIT {
@Objects
public static List