From c09338abd046dc353c693ce8204c0c503d12ec64 Mon Sep 17 00:00:00 2001 From: hypherionmc Date: Thu, 5 Dec 2024 09:50:02 +0200 Subject: [PATCH] [BUG] Fix almost all chat events not working on Forge/Fabric --- .../craterlib/utils/ChatUtils.java | 8 ++++++- .../craterlib/utils/ChatUtils.java | 8 ++++++- .../craterlib/utils/ChatUtils.java | 8 ++++++- .../craterlib/utils/ChatUtils.java.patch | 23 ++++++++++--------- .../craterlib/utils/ChatUtils.java.patch | 23 ++++++++++--------- .../craterlib/utils/ChatUtils.java.patch | 23 ++++++++++--------- 6 files changed, 57 insertions(+), 36 deletions(-) diff --git a/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java b/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java index 2bf9275..b6662b2 100644 --- a/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java +++ b/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java @@ -1,11 +1,15 @@ package com.hypherionmc.craterlib.utils; +import com.hypherionmc.craterlib.core.platform.LoaderType; +import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.resources.ResourceIdentifier; import me.hypherionmc.mcdiscordformatter.discord.DiscordSerializer; import me.hypherionmc.mcdiscordformatter.minecraft.MinecraftSerializer; import net.kyori.adventure.text.format.NamedTextColor; import net.kyori.adventure.text.minimessage.MiniMessage; import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer; +import net.kyori.adventure.text.serializer.json.JSONOptions; +import net.minecraft.SharedConstants; import net.minecraft.ChatFormatting; import net.minecraft.Util; import net.minecraft.network.chat.Component; @@ -13,7 +17,9 @@ import net.minecraft.network.chat.Style; public class ChatUtils { - private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().build(); + private static final GsonComponentSerializer adventureSerializer = (ModloaderEnvironment.INSTANCE.getLoaderType() == LoaderType.PAPER) ? GsonComponentSerializer.builder().build() : GsonComponentSerializer.builder().options( + JSONOptions.byDataVersion().at(SharedConstants.getCurrentVersion().getDataVersion().getVersion()) + ).build(); private static final MiniMessage miniMessage = MiniMessage.miniMessage(); diff --git a/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java b/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java index 2bf9275..b6662b2 100644 --- a/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java +++ b/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java @@ -1,11 +1,15 @@ package com.hypherionmc.craterlib.utils; +import com.hypherionmc.craterlib.core.platform.LoaderType; +import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.resources.ResourceIdentifier; import me.hypherionmc.mcdiscordformatter.discord.DiscordSerializer; import me.hypherionmc.mcdiscordformatter.minecraft.MinecraftSerializer; import net.kyori.adventure.text.format.NamedTextColor; import net.kyori.adventure.text.minimessage.MiniMessage; import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer; +import net.kyori.adventure.text.serializer.json.JSONOptions; +import net.minecraft.SharedConstants; import net.minecraft.ChatFormatting; import net.minecraft.Util; import net.minecraft.network.chat.Component; @@ -13,7 +17,9 @@ import net.minecraft.network.chat.Style; public class ChatUtils { - private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().build(); + private static final GsonComponentSerializer adventureSerializer = (ModloaderEnvironment.INSTANCE.getLoaderType() == LoaderType.PAPER) ? GsonComponentSerializer.builder().build() : GsonComponentSerializer.builder().options( + JSONOptions.byDataVersion().at(SharedConstants.getCurrentVersion().getDataVersion().getVersion()) + ).build(); private static final MiniMessage miniMessage = MiniMessage.miniMessage(); diff --git a/1.20/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java b/1.20/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java index 2bf9275..b6662b2 100644 --- a/1.20/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java +++ b/1.20/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java @@ -1,11 +1,15 @@ package com.hypherionmc.craterlib.utils; +import com.hypherionmc.craterlib.core.platform.LoaderType; +import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.resources.ResourceIdentifier; import me.hypherionmc.mcdiscordformatter.discord.DiscordSerializer; import me.hypherionmc.mcdiscordformatter.minecraft.MinecraftSerializer; import net.kyori.adventure.text.format.NamedTextColor; import net.kyori.adventure.text.minimessage.MiniMessage; import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer; +import net.kyori.adventure.text.serializer.json.JSONOptions; +import net.minecraft.SharedConstants; import net.minecraft.ChatFormatting; import net.minecraft.Util; import net.minecraft.network.chat.Component; @@ -13,7 +17,9 @@ import net.minecraft.network.chat.Style; public class ChatUtils { - private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().build(); + private static final GsonComponentSerializer adventureSerializer = (ModloaderEnvironment.INSTANCE.getLoaderType() == LoaderType.PAPER) ? GsonComponentSerializer.builder().build() : GsonComponentSerializer.builder().options( + JSONOptions.byDataVersion().at(SharedConstants.getCurrentVersion().getDataVersion().getVersion()) + ).build(); private static final MiniMessage miniMessage = MiniMessage.miniMessage(); diff --git a/patches/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch b/patches/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch index 44be8a3..e4f25e3 100644 --- a/patches/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch +++ b/patches/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch @@ -1,19 +1,20 @@ --- a/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java +++ b/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java -@@ -1,53 +1,30 @@ +@@ -1,6 +1,6 @@ package com.hypherionmc.craterlib.utils; -import com.hypherionmc.craterlib.core.platform.CommonPlatform; --import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; ++import com.hypherionmc.craterlib.core.platform.LoaderType; + import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.resources.ResourceIdentifier; import me.hypherionmc.mcdiscordformatter.discord.DiscordSerializer; - import me.hypherionmc.mcdiscordformatter.minecraft.MinecraftSerializer; - import net.kyori.adventure.text.format.NamedTextColor; +@@ -9,20 +9,15 @@ import net.kyori.adventure.text.minimessage.MiniMessage; import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer; --import net.kyori.adventure.text.serializer.json.JSONOptions; - import net.minecraft.ChatFormatting; --import net.minecraft.SharedConstants; + import net.kyori.adventure.text.serializer.json.JSONOptions; +-import net.minecraft.ChatFormatting; + import net.minecraft.SharedConstants; ++import net.minecraft.ChatFormatting; import net.minecraft.Util; -// @noplugin -import net.minecraft.client.Minecraft; @@ -26,11 +27,11 @@ public class ChatUtils { - private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().options( -- JSONOptions.byDataVersion().at(SharedConstants.getCurrentVersion().getDataVersion().getVersion()) -- ).build(); -+ private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().build(); ++ private static final GsonComponentSerializer adventureSerializer = (ModloaderEnvironment.INSTANCE.getLoaderType() == LoaderType.PAPER) ? GsonComponentSerializer.builder().build() : GsonComponentSerializer.builder().options( + JSONOptions.byDataVersion().at(SharedConstants.getCurrentVersion().getDataVersion().getVersion()) + ).build(); - private static final MiniMessage miniMessage = MiniMessage.miniMessage(); +@@ -30,24 +25,12 @@ public static Component adventureToMojang(net.kyori.adventure.text.Component inComponent) { final String serialised = adventureSerializer.serialize(inComponent); diff --git a/patches/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch b/patches/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch index 44be8a3..e4f25e3 100644 --- a/patches/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch +++ b/patches/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch @@ -1,19 +1,20 @@ --- a/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java +++ b/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java -@@ -1,53 +1,30 @@ +@@ -1,6 +1,6 @@ package com.hypherionmc.craterlib.utils; -import com.hypherionmc.craterlib.core.platform.CommonPlatform; --import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; ++import com.hypherionmc.craterlib.core.platform.LoaderType; + import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.resources.ResourceIdentifier; import me.hypherionmc.mcdiscordformatter.discord.DiscordSerializer; - import me.hypherionmc.mcdiscordformatter.minecraft.MinecraftSerializer; - import net.kyori.adventure.text.format.NamedTextColor; +@@ -9,20 +9,15 @@ import net.kyori.adventure.text.minimessage.MiniMessage; import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer; --import net.kyori.adventure.text.serializer.json.JSONOptions; - import net.minecraft.ChatFormatting; --import net.minecraft.SharedConstants; + import net.kyori.adventure.text.serializer.json.JSONOptions; +-import net.minecraft.ChatFormatting; + import net.minecraft.SharedConstants; ++import net.minecraft.ChatFormatting; import net.minecraft.Util; -// @noplugin -import net.minecraft.client.Minecraft; @@ -26,11 +27,11 @@ public class ChatUtils { - private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().options( -- JSONOptions.byDataVersion().at(SharedConstants.getCurrentVersion().getDataVersion().getVersion()) -- ).build(); -+ private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().build(); ++ private static final GsonComponentSerializer adventureSerializer = (ModloaderEnvironment.INSTANCE.getLoaderType() == LoaderType.PAPER) ? GsonComponentSerializer.builder().build() : GsonComponentSerializer.builder().options( + JSONOptions.byDataVersion().at(SharedConstants.getCurrentVersion().getDataVersion().getVersion()) + ).build(); - private static final MiniMessage miniMessage = MiniMessage.miniMessage(); +@@ -30,24 +25,12 @@ public static Component adventureToMojang(net.kyori.adventure.text.Component inComponent) { final String serialised = adventureSerializer.serialize(inComponent); diff --git a/patches/1.20/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch b/patches/1.20/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch index 44be8a3..e4f25e3 100644 --- a/patches/1.20/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch +++ b/patches/1.20/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch @@ -1,19 +1,20 @@ --- a/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java +++ b/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java -@@ -1,53 +1,30 @@ +@@ -1,6 +1,6 @@ package com.hypherionmc.craterlib.utils; -import com.hypherionmc.craterlib.core.platform.CommonPlatform; --import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; ++import com.hypherionmc.craterlib.core.platform.LoaderType; + import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.resources.ResourceIdentifier; import me.hypherionmc.mcdiscordformatter.discord.DiscordSerializer; - import me.hypherionmc.mcdiscordformatter.minecraft.MinecraftSerializer; - import net.kyori.adventure.text.format.NamedTextColor; +@@ -9,20 +9,15 @@ import net.kyori.adventure.text.minimessage.MiniMessage; import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer; --import net.kyori.adventure.text.serializer.json.JSONOptions; - import net.minecraft.ChatFormatting; --import net.minecraft.SharedConstants; + import net.kyori.adventure.text.serializer.json.JSONOptions; +-import net.minecraft.ChatFormatting; + import net.minecraft.SharedConstants; ++import net.minecraft.ChatFormatting; import net.minecraft.Util; -// @noplugin -import net.minecraft.client.Minecraft; @@ -26,11 +27,11 @@ public class ChatUtils { - private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().options( -- JSONOptions.byDataVersion().at(SharedConstants.getCurrentVersion().getDataVersion().getVersion()) -- ).build(); -+ private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().build(); ++ private static final GsonComponentSerializer adventureSerializer = (ModloaderEnvironment.INSTANCE.getLoaderType() == LoaderType.PAPER) ? GsonComponentSerializer.builder().build() : GsonComponentSerializer.builder().options( + JSONOptions.byDataVersion().at(SharedConstants.getCurrentVersion().getDataVersion().getVersion()) + ).build(); - private static final MiniMessage miniMessage = MiniMessage.miniMessage(); +@@ -30,24 +25,12 @@ public static Component adventureToMojang(net.kyori.adventure.text.Component inComponent) { final String serialised = adventureSerializer.serialize(inComponent);