AmbleKit
AmbleKit is a support modification for developers built on the Fabric platform. It significantly simplifies the process of programming Minecraft mods by offering ready-made solutions for standard tasks.
Main Functionality
Automatic Registration
The library eliminates the need to manually register every in-game object. Instead, your class only needs to inherit or implement one of the special RegistryContainer classes. The system automatically recognizes such interfaces when adding RegistryContainer.register(ClassName.class, MOD_ID) to your mod's #onInitialize method.
Datapack Workflow
Provides the SimpleDatapackRegistry class, which easily loads and registers custom classes directly from datapacks. To activate registration, you need to call the register method on the instance or use AmbleRegistries.register(MyRegistry.getInstance()) in the #onInitialize method.
Data Generation
The library uses annotations and the registry container system to automatically create various elements. For example, you can automatically generate English translations for blocks - just create an instance of AmbleLanguageProvider, pass BlockContainer through the #withBlocks method, and during the next data generation run, all blocks will receive localization based on their identifiers.
Additional Features
The library contains many other useful tools for developers that simplify standard mod creation processes.
Getting Started
To start working, use the ready-made template:
If you're starting a new project, use the ready-made template for Fabric 1.20.1.
Integration with Existing Project
If you already have a mod in development, add the following lines to your build.gradle file:
repositories {
maven {
url "https://jitpack.io"
metadataSources {
artifact() // Look directly for artifact
}
}
}
dependencies {
modImplementation("com.github.amblelabs:modkit:${project.modkit_version}") {
exclude(group: "net.fabricmc.fabric-api")
}
}
Or for Kotlin users:
repositories {
maven {
url = uri("https://jitpack.io")
metadataSources {
artifact() // Look directly for artifact
}
}
mavenCentral()
}
dependencies {
modImplementation("com.github.amblelabs:modkit:${project.property(\"modkit_version\")}")
}