From 8bb17f3c4c5f95ff348437d622e37c547148528d Mon Sep 17 00:00:00 2001 From: hypherionmc Date: Mon, 28 Apr 2025 14:07:53 +0200 Subject: [PATCH] [FEAT] Added Compat API for Advanced Chat --- .../craterlib/core/platform/CompatUtils.java | 3 +++ Fabric/build.gradle | 1 + .../craterlib/common/FabricCompatHelper.java | 13 +++++++++++++ .../craterlib/common/ForgeCompatHelper.java | 10 ++++++++++ .../craterlib/common/NeoForgeCompatHelper.java | 10 ++++++++++ .../craterlib/common/PaperCompatHelper.java | 10 ++++++++++ changelog.md | 3 ++- gradle.properties | 1 + 8 files changed, 50 insertions(+), 1 deletion(-) diff --git a/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java b/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java index 015cebe..08675ae 100644 --- a/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java +++ b/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java @@ -2,6 +2,7 @@ package com.hypherionmc.craterlib.core.platform; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; import com.hypherionmc.craterlib.utils.InternalServiceUtil; +import net.kyori.adventure.text.Component; public interface CompatUtils { @@ -12,5 +13,7 @@ public interface CompatUtils { boolean isPlayerBleeding(BridgedPlayer player); boolean playerBledOut(BridgedPlayer player); boolean playerRevived(BridgedPlayer player); + boolean isPrivateMessage(BridgedPlayer player); + Component getChannelPrefix(BridgedPlayer player); } diff --git a/Fabric/build.gradle b/Fabric/build.gradle index 2f955b7..a672f9a 100644 --- a/Fabric/build.gradle +++ b/Fabric/build.gradle @@ -15,6 +15,7 @@ dependencies { modImplementation("me.shedaniel.cloth:cloth-config-fabric:${cloth_config}") modImplementation "maven.modrinth:fabrictailor:${fabrictailor}" modImplementation "maven.modrinth:vanish:${vanish}" + modImplementation("unimaven.modrinth:advanced-chat:${advanced_chat}") // Do not edit or remove implementation project(":Common") diff --git a/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java b/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java index fa369b5..ccc031f 100644 --- a/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java +++ b/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java @@ -5,6 +5,8 @@ import com.hypherionmc.craterlib.compat.Vanish; import com.hypherionmc.craterlib.core.platform.CompatUtils; import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; +import me.wesley1808.advancedchat.api.AdvancedChatAPI; +import net.kyori.adventure.text.Component; public class FabricCompatHelper implements CompatUtils { @@ -35,4 +37,15 @@ public class FabricCompatHelper implements CompatUtils { public boolean playerRevived(BridgedPlayer player) { return false; } + + @Override + public boolean isPrivateMessage(BridgedPlayer player) { + return !AdvancedChatAPI.isPublicChat(player.toMojangServerPlayer()); + } + + @Override + public Component getChannelPrefix(BridgedPlayer player) { + net.minecraft.network.chat.Component c = AdvancedChatAPI.getChannelPrefix(player.toMojangServerPlayer()); + return c.getString().isBlank() ? Component.empty() : Component.text(c.getString()); + } } diff --git a/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java b/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java index 2b19079..d8ca7a1 100644 --- a/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java +++ b/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java @@ -42,4 +42,14 @@ public class ForgeCompatHelper implements CompatUtils { IBleeding bleeding = PlayerReviveServer.getBleeding(player.toMojangServerPlayer()); return bleeding != null && bleeding.revived(); } + + @Override + public boolean isPrivateMessage(BridgedPlayer player) { + return false; + } + + @Override + public Component getChannelPrefix(BridgedPlayer player) { + return Component.empty(); + } } diff --git a/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java b/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java index 268e797..df697ef 100644 --- a/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java +++ b/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java @@ -47,4 +47,14 @@ public class NeoForgeCompatHelper implements CompatUtils { IBleeding bleeding = PlayerReviveServer.getBleeding(player.toMojangServerPlayer()); return bleeding != null && bleeding.revived(); } + + @Override + public boolean isPrivateMessage(BridgedPlayer player) { + return false; + } + + @Override + public Component getChannelPrefix(BridgedPlayer player) { + return Component.empty(); + } } diff --git a/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java b/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java index bc3a2b2..d2d84da 100644 --- a/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java +++ b/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java @@ -89,4 +89,14 @@ public class PaperCompatHelper implements CompatUtils { public boolean playerRevived(BridgedPlayer player) { return false; } + + @Override + public boolean isPrivateMessage(BridgedPlayer player) { + return false; + } + + @Override + public Component getChannelPrefix(BridgedPlayer player) { + return Component.empty(); + } } diff --git a/changelog.md b/changelog.md index 57b7ad6..8410b27 100644 --- a/changelog.md +++ b/changelog.md @@ -4,4 +4,5 @@ **New Features**: -- Allow commands to send feedback as chat messages, if command feedback is disabled \ No newline at end of file +- Allow commands to send feedback as chat messages, if command feedback is disabled +- Added Compat API for Advanced Chat \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 9e34599..abd5b51 100644 --- a/gradle.properties +++ b/gradle.properties @@ -41,6 +41,7 @@ ftb_essentials=2101.1.0 ftb_ranks=2101.1.1 player_revive=6119534 creative_core=6113754 +advanced_chat=SNA4dye5 # Publishing curse_id=867099