0.2.0-alpha.1+1.21.11
Compatibility
Required content
Changes
🧰 DevKit API 0.2.0-alpha.1
A major maintenance and compatibility update focused on reliability, safer networking, and a more complete developer experience.
DevKit API is a lightweight library for Fabric mod developers. It provides reusable tools for registries, networking, Data Components, synchronized configuration, and data generation—without adding gameplay content of its own.
✨ Highlights
Expanded 1.21.x Compatibility
DevKit API now provides dedicated builds for the actively used Minecraft 1.21.x releases.
The shared API remains consistent while version-specific implementations handle changes introduced by newer Minecraft versions, including registry-key-aware item construction and the updated client model system.
Improved Registry Kit
Registry declarations are now safer and more flexible:
- added key-aware factories for blocks and items on newer Minecraft versions;
- preserved ordered, type-safe registration;
- improved duplicate identifier detection;
- added clearer errors when entries are accessed before registration;
- made partial bootstrap failures safely retryable;
- prevented already successful entries from being registered twice.
More Reliable Networking
The networking module received a substantial reliability pass:
- improved separation between common and client-only code;
- added automatic client receiver setup;
- added support for packets registered after client initialization;
- added validation for packet identifiers and directions;
- added protection against duplicate packet registration;
- corrected main-thread task scheduling;
- improved dedicated-server safety;
- retained S2C, C2S, and bidirectional payload support through Fabric's Payload API.
Restored and Expanded Config Sync
The synchronized configuration system is now fully functional and more resilient:
- loads existing JSON configs or creates defaults automatically;
- synchronizes server-authoritative values when a player joins;
- supports manual broadcasts after config reloads;
- supports multiple named configs from the same mod;
- updates live config objects without breaking existing references;
- uses safer file replacement where supported;
- validates synchronized payload size;
- handles malformed config files without silently overwriting user data.
Updated Data Components and Datagen
Data Component helpers remain available throughout the supported 1.21.x line.
Datagen support has been updated for the newer client model system and includes reusable foundations for:
- item and block models;
- block and item tags;
- common convention tags;
- block loot tables.
The previous placeholder loot helper has been replaced with a functional implementation.
🐛 Fixes
- Fixed client networking classes being absent from the final all-in-one JAR.
- Fixed potential client-class loading failures on dedicated servers.
- Fixed client packet receivers not being initialized correctly.
- Fixed late packet registrations being ignored on the client.
- Fixed synchronized configs failing to update live config instances.
- Fixed multiple configs from one mod replacing each other's registrations.
- Fixed unsafe direct replacement of config files.
- Fixed duplicate packet identifiers being silently accepted.
- Fixed mismatches between declared packet IDs and actual payload IDs.
- Fixed registry containers becoming unusable after a partial bootstrap failure.
- Fixed item registration requirements introduced in newer Minecraft 1.21.x releases.
- Fixed outdated model datagen integration on later 1.21.x versions.
- Fixed the incomplete loot-table helper from the previous alpha.
⚠️ Alpha Notice
DevKit API is still in active development.
The core systems are operational, but public API signatures may continue to evolve before the stable release. Mod developers should pin the exact DevKit version used by their projects.
DevKit API does not add gameplay content on its own. Install it only when another mod requires it.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:1Fq0uOtL:ld68FBso"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:1Fq0uOtL:ld68FBso"
}

