[FEAT] Expose Adventure JSON Serializer to mods

This commit is contained in:
2025-03-14 22:00:42 +02:00
parent 152bc94e27
commit 9da963f3c8
38 changed files with 79 additions and 52 deletions

View File

@@ -1,6 +1,7 @@
package com.hypherionmc.craterlib.utils;
import com.hypherionmc.craterlib.nojang.resources.ResourceIdentifier;
import lombok.Getter;
import me.hypherionmc.mcdiscordformatter.discord.DiscordSerializer;
import me.hypherionmc.mcdiscordformatter.minecraft.MinecraftSerializer;
import net.kyori.adventure.text.format.NamedTextColor;
@@ -17,6 +18,7 @@ import net.minecraft.network.chat.TranslatableComponent;
public class ChatUtils {
@Getter
private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().options(
JSONOptions.byDataVersion().at(SharedConstants.getCurrentVersion().getDataVersion().getVersion())
).build();

View File

@@ -6,7 +6,8 @@
**New Features**:
- Added Nojang API to allow mods to access GameRules (SDLink)
- Exposed Adventure JSON serializer to mods
**Dev Changes**:
- Bumped MoonConfig - `1.0.10` -> `1.0.11`
- Bumped MoonConfig - `1.0.10` -> `1.0.12`

View File

@@ -2,7 +2,7 @@
version_major=2
version_minor=1
version_patch=4
version_build=1
version_build=2
#Mod
mod_author=HypherionSA
@@ -21,7 +21,7 @@ fabric_api=0.76.0+1.18.2
forge_version=40.2.0
# Dependencies
moon_config=1.0.11
moon_config=1.0.12
lombok=1.18.32
adventure=4.17.0
rpc_sdk=1.0

View File

@@ -1,6 +1,7 @@
package com.hypherionmc.craterlib.utils;
import com.hypherionmc.craterlib.nojang.resources.ResourceIdentifier;
import lombok.Getter;
import me.hypherionmc.mcdiscordformatter.discord.DiscordSerializer;
import me.hypherionmc.mcdiscordformatter.minecraft.MinecraftSerializer;
import net.kyori.adventure.text.format.NamedTextColor;
@@ -15,6 +16,7 @@ import net.minecraft.network.chat.Style;
public class ChatUtils {
@Getter
private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().options(
JSONOptions.byDataVersion().at(SharedConstants.getCurrentVersion().getDataVersion().getVersion())
).build();

View File

@@ -6,7 +6,8 @@
**New Features**:
- Added Nojang API to allow mods to access GameRules (SDLink)
- Exposed Adventure JSON serializer to mods
**Dev Changes**:
- Bumped MoonConfig - `1.0.10` -> `1.0.11`
- Bumped MoonConfig - `1.0.10` -> `1.0.12`

View File

@@ -2,7 +2,7 @@
version_major=2
version_minor=1
version_patch=4
version_build=1
version_build=2
#Mod
mod_author=HypherionSA
@@ -21,7 +21,7 @@ fabric_api=0.76.0+1.19.2
forge_version=43.4.0
# Dependencies
moon_config=1.0.11
moon_config=1.0.12
lombok=1.18.32
adventure=4.17.0
rpc_sdk=1.0

View File

@@ -3,6 +3,7 @@ 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 lombok.Getter;
import me.hypherionmc.mcdiscordformatter.discord.DiscordSerializer;
import me.hypherionmc.mcdiscordformatter.minecraft.MinecraftSerializer;
import net.kyori.adventure.text.format.NamedTextColor;
@@ -17,6 +18,7 @@ import net.minecraft.network.chat.Style;
public class ChatUtils {
@Getter
private static final GsonComponentSerializer adventureSerializer = (ModloaderEnvironment.INSTANCE.getLoaderType() == LoaderType.PAPER) ? GsonComponentSerializer.builder().build() : GsonComponentSerializer.builder().options(
JSONOptions.byDataVersion().at(SharedConstants.getCurrentVersion().getDataVersion().getVersion())
).build();

View File

@@ -6,7 +6,8 @@
**New Features**:
- Added Nojang API to allow mods to access GameRules (SDLink)
- Exposed Adventure JSON serializer to mods
**Dev Changes**:
- Bumped MoonConfig - `1.0.10` -> `1.0.11`
- Bumped MoonConfig - `1.0.10` -> `1.0.12`

View File

@@ -2,7 +2,7 @@
version_major=2
version_minor=1
version_patch=4
version_build=1
version_build=2
#Mod
mod_author=HypherionSA
@@ -21,7 +21,7 @@ fabric_api=0.87.2+1.19.4
forge_version=45.3.0
# Dependencies
moon_config=1.0.11
moon_config=1.0.12
lombok=1.18.32
adventure=4.17.0
rpc_sdk=1.0

View File

@@ -3,6 +3,7 @@ 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 lombok.Getter;
import me.hypherionmc.mcdiscordformatter.discord.DiscordSerializer;
import me.hypherionmc.mcdiscordformatter.minecraft.MinecraftSerializer;
import net.kyori.adventure.text.format.NamedTextColor;
@@ -17,6 +18,7 @@ import net.minecraft.network.chat.Style;
public class ChatUtils {
@Getter
private static final GsonComponentSerializer adventureSerializer = (ModloaderEnvironment.INSTANCE.getLoaderType() == LoaderType.PAPER) ? GsonComponentSerializer.builder().build() : GsonComponentSerializer.builder().options(
JSONOptions.byDataVersion().at(SharedConstants.getCurrentVersion().getDataVersion().getVersion())
).build();

View File

@@ -6,7 +6,8 @@
**New Features**:
- Added Nojang API to allow mods to access GameRules (SDLink)
- Exposed Adventure JSON serializer to mods
**Dev Changes**:
- Bumped MoonConfig - `1.0.10` -> `1.0.11`
- Bumped MoonConfig - `1.0.10` -> `1.0.12`

View File

@@ -2,7 +2,7 @@
version_major=2
version_minor=1
version_patch=4
version_build=1
version_build=2
#Mod
mod_author=HypherionSA
@@ -21,7 +21,7 @@ fabric_api=0.91.6+1.20.2
forge_version=48.1.0
# Dependencies
moon_config=1.0.11
moon_config=1.0.12
lombok=1.18.32
adventure=4.17.0
rpc_sdk=1.0

View File

@@ -1,6 +1,7 @@
package com.hypherionmc.craterlib.utils;
import com.hypherionmc.craterlib.nojang.resources.ResourceIdentifier;
import lombok.Getter;
import me.hypherionmc.mcdiscordformatter.discord.DiscordSerializer;
import me.hypherionmc.mcdiscordformatter.minecraft.MinecraftSerializer;
import net.kyori.adventure.text.format.NamedTextColor;
@@ -15,6 +16,7 @@ import net.minecraft.network.chat.Style;
public class ChatUtils {
@Getter
private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().options(
JSONOptions.byDataVersion().at(SharedConstants.getCurrentVersion().getDataVersion().getVersion())
).build();

View File

@@ -6,7 +6,8 @@
**New Features**:
- Added Nojang API to allow mods to access GameRules (SDLink)
- Exposed Adventure JSON serializer to mods
**Dev Changes**:
- Bumped MoonConfig - `1.0.10` -> `1.0.11`
- Bumped MoonConfig - `1.0.10` -> `1.0.12`

View File

@@ -2,7 +2,7 @@
version_major=2
version_minor=1
version_patch=4
version_build=1
version_build=2
#Mod
mod_author=HypherionSA
@@ -24,7 +24,7 @@ forge_version=49.0.49
neoforge_version=234
# Dependencies
moon_config=1.0.11
moon_config=1.0.12
lombok=1.18.32
adventure=4.17.0
rpc_sdk=1.0

View File

@@ -3,6 +3,7 @@ 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 lombok.Getter;
import me.hypherionmc.mcdiscordformatter.discord.DiscordSerializer;
import me.hypherionmc.mcdiscordformatter.minecraft.MinecraftSerializer;
import net.kyori.adventure.text.format.NamedTextColor;
@@ -17,6 +18,7 @@ import net.minecraft.network.chat.Style;
public class ChatUtils {
@Getter
private static final GsonComponentSerializer adventureSerializer = (ModloaderEnvironment.INSTANCE.getLoaderType() == LoaderType.PAPER) ? GsonComponentSerializer.builder().build() : GsonComponentSerializer.builder().options(
JSONOptions.byDataVersion().at(SharedConstants.getCurrentVersion().getDataVersion().getVersion())
).build();

View File

@@ -7,7 +7,8 @@
**New Features**:
- Added Nojang API to allow mods to access GameRules (SDLink)
- Exposed Adventure JSON serializer to mods
**Dev Changes**:
- Bumped MoonConfig - `1.0.10` -> `1.0.11`
- Bumped MoonConfig - `1.0.10` -> `1.0.12`

View File

@@ -2,7 +2,7 @@
version_major=2
version_minor=1
version_patch=4
version_build=1
version_build=2
#Mod
mod_author=HypherionSA
@@ -21,7 +21,7 @@ fabric_api=0.83.0+1.20
forge_version=46.0.14
# Dependencies
moon_config=1.0.11
moon_config=1.0.12
lombok=1.18.32
adventure=4.17.0
rpc_sdk=1.0

View File

@@ -3,6 +3,7 @@ package com.hypherionmc.craterlib.utils;
import com.hypherionmc.craterlib.core.platform.CommonPlatform;
import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment;
import com.hypherionmc.craterlib.nojang.resources.ResourceIdentifier;
import lombok.Getter;
import me.hypherionmc.mcdiscordformatter.discord.DiscordSerializer;
import me.hypherionmc.mcdiscordformatter.minecraft.MinecraftSerializer;
import net.kyori.adventure.text.format.NamedTextColor;
@@ -22,6 +23,7 @@ import net.minecraft.network.chat.Style;
public class ChatUtils {
@Getter
private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().options(
JSONOptions.byDataVersion().at(SharedConstants.getCurrentVersion().getDataVersion().getVersion())
).build();

View File

@@ -6,7 +6,8 @@
**New Features**:
- Added Nojang API to allow mods to access GameRules (SDLink)
- Exposed Adventure JSON serializer to mods
**Dev Changes**:
- Bumped MoonConfig - `1.0.10` -> `1.0.11`
- Bumped MoonConfig - `1.0.10` -> `1.0.12`

View File

@@ -2,7 +2,7 @@
version_major=2
version_minor=1
version_patch=4
version_build=1
version_build=2
#Mod
mod_author=HypherionSA
@@ -24,7 +24,7 @@ forge_version=50.0.6
neoforge_version=16-beta
# Dependencies
moon_config=1.0.11
moon_config=1.0.12
lombok=1.18.32
adventure=4.17.0
rpc_sdk=1.0

View File

@@ -3,6 +3,7 @@ package com.hypherionmc.craterlib.utils;
import com.hypherionmc.craterlib.core.platform.CommonPlatform;
import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment;
import com.hypherionmc.craterlib.nojang.resources.ResourceIdentifier;
import lombok.Getter;
import me.hypherionmc.mcdiscordformatter.discord.DiscordSerializer;
import me.hypherionmc.mcdiscordformatter.minecraft.MinecraftSerializer;
import net.kyori.adventure.text.format.NamedTextColor;
@@ -22,6 +23,7 @@ import net.minecraft.network.chat.Style;
public class ChatUtils {
@Getter
private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().options(
JSONOptions.byDataVersion().at(SharedConstants.getCurrentVersion().getDataVersion().getVersion())
).build();

View File

@@ -6,7 +6,8 @@
**New Features**:
- Added Nojang API to allow mods to access GameRules (SDLink)
- Exposed Adventure JSON serializer to mods
**Dev Changes**:
- Bumped MoonConfig - `1.0.10` -> `1.0.11`
- Bumped MoonConfig - `1.0.10` -> `1.0.12`

View File

@@ -2,7 +2,7 @@
version_major=2
version_minor=1
version_patch=4
version_build=1
version_build=2
#Mod
mod_author=HypherionSA
@@ -24,7 +24,7 @@ forge_version=50.0.6
neoforge_version=167
# Dependencies
moon_config=1.0.11
moon_config=1.0.12
lombok=1.18.32
adventure=4.17.0
rpc_sdk=1.0

View File

@@ -1 +1 @@
b800a4ea78e2eae9b5d66af9d8c33f186b09eb26
771d43853358f76b0df6a1ce0956501c3d7a7649

View File

@@ -6,9 +6,9 @@
-import com.hypherionmc.craterlib.core.platform.CommonPlatform;
-import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment;
import com.hypherionmc.craterlib.nojang.resources.ResourceIdentifier;
import lombok.Getter;
import me.hypherionmc.mcdiscordformatter.discord.DiscordSerializer;
import me.hypherionmc.mcdiscordformatter.minecraft.MinecraftSerializer;
@@ -12,13 +10,10 @@
@@ -13,13 +11,10 @@
import net.minecraft.ChatFormatting;
import net.minecraft.SharedConstants;
import net.minecraft.Util;
@@ -24,7 +24,7 @@
public class ChatUtils {
@@ -30,32 +25,20 @@
@@ -32,32 +27,20 @@
public static Component adventureToMojang(net.kyori.adventure.text.Component inComponent) {
final String serialised = adventureSerializer.serialize(inComponent);
@@ -60,7 +60,7 @@
}
public static String strip(String inString, String... toStrip) {
@@ -84,7 +67,7 @@
@@ -86,7 +69,7 @@
}
public static net.kyori.adventure.text.Component resolve(String component, boolean formatted) {
@@ -69,7 +69,7 @@
if (formatted) {
returnVal = MinecraftSerializer.INSTANCE.serialize(component);
}
@@ -112,7 +95,7 @@
@@ -114,7 +97,7 @@
if (identifier == null)
return net.kyori.adventure.text.Component.text("Unknown");

View File

@@ -22,7 +22,7 @@
+forge_version=40.2.0
# Dependencies
moon_config=1.0.11
moon_config=1.0.12
@@ -29,23 +26,22 @@
adventure=4.17.0
rpc_sdk=1.0

View File

@@ -6,9 +6,9 @@
-import com.hypherionmc.craterlib.core.platform.CommonPlatform;
-import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment;
import com.hypherionmc.craterlib.nojang.resources.ResourceIdentifier;
import lombok.Getter;
import me.hypherionmc.mcdiscordformatter.discord.DiscordSerializer;
import me.hypherionmc.mcdiscordformatter.minecraft.MinecraftSerializer;
@@ -12,11 +10,6 @@
@@ -13,11 +11,6 @@
import net.minecraft.ChatFormatting;
import net.minecraft.SharedConstants;
import net.minecraft.Util;
@@ -20,7 +20,7 @@
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.Style;
@@ -30,24 +23,12 @@
@@ -32,24 +25,12 @@
public static Component adventureToMojang(net.kyori.adventure.text.Component inComponent) {
final String serialised = adventureSerializer.serialize(inComponent);

View File

@@ -22,7 +22,7 @@
+forge_version=43.4.0
# Dependencies
moon_config=1.0.11
moon_config=1.0.12
@@ -29,23 +26,22 @@
adventure=4.17.0
rpc_sdk=1.0

View File

@@ -7,8 +7,8 @@
+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;
@@ -9,20 +9,15 @@
import lombok.Getter;
@@ -10,21 +10,16 @@
import net.kyori.adventure.text.minimessage.MiniMessage;
import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer;
import net.kyori.adventure.text.serializer.json.JSONOptions;
@@ -26,12 +26,13 @@
public class ChatUtils {
@Getter
- private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().options(
+ private static final GsonComponentSerializer adventureSerializer = (ModloaderEnvironment.INSTANCE.getLoaderType() == LoaderType.PAPER) ? GsonComponentSerializer.builder().build() : GsonComponentSerializer.builder().options(
JSONOptions.byDataVersion().at(SharedConstants.getCurrentVersion().getDataVersion().getVersion())
).build();
@@ -30,24 +25,12 @@
@@ -32,24 +27,12 @@
public static Component adventureToMojang(net.kyori.adventure.text.Component inComponent) {
final String serialised = adventureSerializer.serialize(inComponent);

View File

@@ -22,7 +22,7 @@
+forge_version=45.3.0
# Dependencies
moon_config=1.0.11
moon_config=1.0.12
@@ -29,23 +26,22 @@
adventure=4.17.0
rpc_sdk=1.0

View File

@@ -7,8 +7,8 @@
+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;
@@ -9,20 +9,15 @@
import lombok.Getter;
@@ -10,21 +10,16 @@
import net.kyori.adventure.text.minimessage.MiniMessage;
import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer;
import net.kyori.adventure.text.serializer.json.JSONOptions;
@@ -26,12 +26,13 @@
public class ChatUtils {
@Getter
- private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().options(
+ private static final GsonComponentSerializer adventureSerializer = (ModloaderEnvironment.INSTANCE.getLoaderType() == LoaderType.PAPER) ? GsonComponentSerializer.builder().build() : GsonComponentSerializer.builder().options(
JSONOptions.byDataVersion().at(SharedConstants.getCurrentVersion().getDataVersion().getVersion())
).build();
@@ -30,24 +25,12 @@
@@ -32,24 +27,12 @@
public static Component adventureToMojang(net.kyori.adventure.text.Component inComponent) {
final String serialised = adventureSerializer.serialize(inComponent);

View File

@@ -22,7 +22,7 @@
+forge_version=48.1.0
# Dependencies
moon_config=1.0.11
moon_config=1.0.12
@@ -29,23 +26,22 @@
adventure=4.17.0
rpc_sdk=1.0

View File

@@ -6,9 +6,9 @@
-import com.hypherionmc.craterlib.core.platform.CommonPlatform;
-import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment;
import com.hypherionmc.craterlib.nojang.resources.ResourceIdentifier;
import lombok.Getter;
import me.hypherionmc.mcdiscordformatter.discord.DiscordSerializer;
import me.hypherionmc.mcdiscordformatter.minecraft.MinecraftSerializer;
@@ -12,11 +10,6 @@
@@ -13,11 +11,6 @@
import net.minecraft.ChatFormatting;
import net.minecraft.SharedConstants;
import net.minecraft.Util;
@@ -20,7 +20,7 @@
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.Style;
@@ -30,24 +23,12 @@
@@ -32,24 +25,12 @@
public static Component adventureToMojang(net.kyori.adventure.text.Component inComponent) {
final String serialised = adventureSerializer.serialize(inComponent);

View File

@@ -23,7 +23,7 @@
+neoforge_version=234
# Dependencies
moon_config=1.0.11
moon_config=1.0.12
@@ -29,23 +29,23 @@
adventure=4.17.0
rpc_sdk=1.0

View File

@@ -7,8 +7,8 @@
+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;
@@ -9,20 +9,15 @@
import lombok.Getter;
@@ -10,21 +10,16 @@
import net.kyori.adventure.text.minimessage.MiniMessage;
import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer;
import net.kyori.adventure.text.serializer.json.JSONOptions;
@@ -26,12 +26,13 @@
public class ChatUtils {
@Getter
- private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().options(
+ private static final GsonComponentSerializer adventureSerializer = (ModloaderEnvironment.INSTANCE.getLoaderType() == LoaderType.PAPER) ? GsonComponentSerializer.builder().build() : GsonComponentSerializer.builder().options(
JSONOptions.byDataVersion().at(SharedConstants.getCurrentVersion().getDataVersion().getVersion())
).build();
@@ -30,24 +25,12 @@
@@ -32,24 +27,12 @@
public static Component adventureToMojang(net.kyori.adventure.text.Component inComponent) {
final String serialised = adventureSerializer.serialize(inComponent);

View File

@@ -22,7 +22,7 @@
+forge_version=46.0.14
# Dependencies
moon_config=1.0.11
moon_config=1.0.12
@@ -29,23 +26,22 @@
adventure=4.17.0
rpc_sdk=1.0

View File

@@ -22,7 +22,7 @@
+neoforge_version=167
# Dependencies
moon_config=1.0.11
moon_config=1.0.12
@@ -29,7 +29,7 @@
adventure=4.17.0
rpc_sdk=1.0