CurseForge · Minecraft mod
FASTJSON2 Serializer for YACL
A config serializer for YetAnotherConfigLib using FASTJSON2
Quick answer
Which FASTJSON2 Serializer for YACL release should I use?
FASTJSON2 Serializer for YACL 1.0.5 Neoforge 26.1 targets 26.1, 26.1.1, 26.1.2 with NeoForge. The project page does not say whether this file belongs on the client, dedicated server, or both. All 1 required mods have matching files.
Where it goes
Is FASTJSON2 Serializer for YACL required on the client, server, or both?
The project page does not say whether this file belongs on the client, dedicated server, or both.
The source does not explicitly classify this release as client-only or server-only.
What else does FASTJSON2 Serializer for YACL 1.0.5 Neoforge 26.1 need?
FASTJSON2 Serializer for YACL 1.0.5 Neoforge 26.1. Change the file and its required mods may change too.
Install YetAnotherConfigLib first. We found matching files for this game-version and loader setup.
We only count dependency files that match this setup. A file for another loader does not fill the gap.
Before you install it
Add FASTJSON2 Serializer for YACL without breaking your instance.
Built for FASTJSON2 Serializer for YACL 1.0.5 Neoforge 26.1. Pick another file and the loader, install side or required mods may change.
- 01
Stick to this file
Use FASTJSON2 Serializer for YACL 1.0.5 Neoforge 26.1. It targets 26.1, 26.1.1, 26.1.2 with NeoForge; another release may have different loader, side or dependency requirements.
- 02
Bring the mods it needs
Install YetAnotherConfigLib first. We found matching files for this game-version and loader setup.
- 03
Put it on the correct side
The project page does not say whether this file belongs on the client, dedicated server, or both.
- 04
Pick the file you checked
Use the “Get this file” button beside FASTJSON2 Serializer for YACL 1.0.5 Neoforge 26.1. It opens that exact file at the source.
About this project
What does FASTJSON2 Serializer for YACL add?
A serializer for YetAnotherConfigLib made using FASTJSON2.
Useage
Add as a dependancy as outlined on the version page*
// >= 1.21.11
public static ConfigClassHandler<Config> HANDLER = ConfigClassHandler.createBuilder(Config.class)
.id(Identifier.fromNamespaceAndPath(MOD_ID, "config"))
.serializer(config -> FastJsonConfigSerializerBuilder.create(config)
.setPath(YACLPlatform.getConfigDir().resolve("modid.json"))
.build())
.build();
// <= 1.21.10
public static ConfigClassHandler<Config> HANDLER = ConfigClassHandler.createBuilder(Config.class)
.id(ResourceLoccation.fromNamespaceAndPath(MOD_ID, "config"))
.serializer(config -> FastJsonConfigSerializerBuilder.create(config)
.setPath(YACLPlatform.getConfigDir().resolve("modid.json"))
.build())
.build();
JSON5
FastJSON2 doesn't offer any support for JSON5. If you need/want JSON5 for any reason, I would suggest continuing to use YACL's built-in Gson serializer. If you are migrating from a Json5 config back to a regular Json here is an example of how to auto migrate your user's configs from my mod Am I Up To Date?:
// Replace file & field names with your mod's
public class ConfigMigration {
public static void migrate(){
try {
if (Files.exists(Path.of(YACLPlatform.getConfigDir() + "/aiutd.json5"))){
AIUTD.LOG.info("Pre-2.5.0 config found. Migrating...!");
String JSONContent = Files.readString(Path.of(YACLPlatform.getConfigDir() + "/aiutd.json5"));
JSONObject oldConfig = JSON.parseObject(JSONContent, JSONReader.Feature.AllowUnQuotedFieldNames);
Config.HANDLER.load();
Config.menuAlert = Boolean.parseBoolean(oldConfig.getString("menuAlert"));
Config.chatAlert = Boolean.parseBoolean(oldConfig.getString("chatAlert"));
Config.multiLoaderBool = Boolean.parseBoolean(oldConfig.getString("multiLoaderBool"));
Config.multiLoader = Config.LoaderEnum.valueOf(oldConfig.getString("multiLoader"));
Config.localVersion = oldConfig.getString("localVersion");
Config.modpackId = oldConfig.getString("versionAPI");
Config.multiVersion = Boolean.parseBoolean(oldConfig.getString("multiVersion"));
Config.useModpackName = Boolean.parseBoolean(oldConfig.getString("useModpackName"));
Config.modpackName = oldConfig.getString("modpackName");
Config.useCustomMessage = Boolean.parseBoolean(oldConfig.getString("useCustomMessage"));
Config.customMessage = oldConfig.getString("customMessage");
Config.linkChangelog = Boolean.parseBoolean(oldConfig.getString("linkChangelog"));
Config.ignoreColor = Config.colorEnum.valueOf(oldConfig.getString("ignoreColor"));
Config.messageColor = Config.colorEnum.valueOf(oldConfig.getString("messageColor"));
Config.changelogColor = Config.colorEnum.valueOf(oldConfig.getString("changelogColor"));
Config.HANDLER.save();
AIUTD.LOG.info("Config migrated, please double check it for accuracy!");
Files.deleteIfExists(Path.of(YACLPlatform.getConfigDir() + "/aiutd.json5"));
AIUTD.LOG.info("Old config has been deleted");
}
} catch (IOException e) {
AIUTD.LOG.error("Failed to migrate config! Please do so manually!", e);
}
try {
if (Files.exists(Path.of(YACLPlatform.getConfigDir() + "/aiutd-enduser.json5"))){
AIUTD.LOG.info("Pre-2.5.0 end user config found. Migrating...!");
String JSONContent = Files.readString(Path.of(YACLPlatform.getConfigDir() + "/aiutd-enduser.json5"));
JSONObject oldUserConfig = JSON.parseObject(JSONContent, JSONReader.Feature.AllowUnQuotedFieldNames);
EndUserConfig.USERCONFIG.load();
EndUserConfig.shouldIgnore = Boolean.parseBoolean(oldUserConfig.getString("shouldIgnore"));
AIUTD.LOG.info("End user config migrated, please double check it for accuracy!");
Files.deleteIfExists(Path.of(YACLPlatform.getConfigDir() + "/aiutd.json5"));
AIUTD.LOG.info("Old end user config has been deleted");
}
} catch (IOException e) {
AIUTD.LOG.error("Failed to migrate end user config! Please do so manually!", e);
}
}
}
FAQ
- Is this faster than using the built-in Gson serializer?
- In a word, yes. In a few more words, based on pure library performance, yes. In practice it's a bit harder to say and will likely depend on the size of the config in question. Will it make a massive difference in anything when used in a single mod? Not noticeably; if you get several using it, you may start to see something a bit more tangible.
- Why make it if it wont improve performance much?
- IDK, becuse I can? Free will and what not.
- WAST has a better score on 3/4 of the tests, why not use it?†
- Becuse I am already familiar with FastJSON and didn't need to learn anything new to make it. If I need (or want) to learn WAST one day maybe I'll make something for it then.
*Until I set up another maven
†As of June 28th, 2026
Project description from CurseForge.
Pick your setup
FASTJSON2 Serializer for YACL by Minecraft version and loader
Choose the version and loader you play, then open the matching release.
26.3-snapshot-7
1 loader build26.2
2 loader builds26.1.2
2 loader builds26.1.1
2 loader builds26.1
2 loader builds1.21.11
3 loader builds1.21.10
3 loader builds1.21.9
3 loader builds1.21.8
3 loader builds1.21.7
3 loader builds1.21.6
3 loader builds1.21.5
3 loader buildsShowing the newest 12 of 17 game versions. Older files are in the list below.
Check the dependencies, then try the file in a copied instance before changing a world you care about.
Recent files
FASTJSON2 Serializer for YACL versions and loaders
FASTJSON2 Serializer for YACL 1.0.5 Neoforge 26.1
fastjson4yacl-1.0.5-neoforge+26.1.jar
5 Aug 2026
FASTJSON2 Serializer for YACL 1.0.5 Fabric 26.1
fastjson4yacl-1.0.5-fabric+26.1.jar
5 Aug 2026
FASTJSON2 Serializer for YACL 1.0.5 Neoforge 1.21.5
fastjson4yacl-1.0.5-neoforge+1.21.5.jar
5 Aug 2026
FASTJSON2 Serializer for YACL 1.0.5 Fabric 1.21.5
fastjson4yacl-1.0.5-fabric+1.21.5.jar
5 Aug 2026
FASTJSON2 Serializer for YACL 1.0.5 Neoforge 1.21.1
fastjson4yacl-1.0.5-neoforge+1.21.1.jar
5 Aug 2026
FASTJSON2 Serializer for YACL 1.0.5 Fabric 1.21.1
fastjson4yacl-1.0.5-fabric+1.21.1.jar
5 Aug 2026
FASTJSON2 Serializer for YACL 1.0.5 Forge 1.20.1
fastjson4yacl-1.0.5-forge+1.20.1.jar
5 Aug 2026
FASTJSON2 Serializer for YACL 1.0.5 Fabric 1.20.1
fastjson4yacl-1.0.5-fabric+1.20.1.jar
5 Aug 2026
FASTJSON2 Serializer for YACL 1.0.4 Fabric 26.1
fastjson4yacl-1.0.4-fabric+26.1.jar
30 Jul 2026
FASTJSON2 Serializer for YACL 1.0.4 Neoforge 26.1
fastjson4yacl-1.0.4-neoforge+26.1.jar
30 Jul 2026
FASTJSON2 Serializer for YACL 1.0.4 Neoforge 1.21.5
fastjson4yacl-1.0.4-neoforge+1.21.5.jar
30 Jul 2026
FASTJSON2 Serializer for YACL 1.0.4 Fabric 1.21.5
fastjson4yacl-1.0.4-fabric+1.21.5.jar
30 Jul 2026
Looking for an older file? The official CurseForge project page is in Resources.