Tags
Creators
Details
All versions
1.0.0
Alpha
KrepAPI 1.0.07 months ago 14
Compatibility
Minecraft: Java Edition
1.21.4–1.21.11
Platform
Fabric
Supported environments
Client-side
Changes
KrepAPI 1.0.0
Added
- Initial release of KrepAPI: shared wire protocol plus a Fabric client mod and a reference Paper plugin for server-driven key bindings, raw key events (with optional vanilla blocking), and an optional handshake (e.g. requiring the mod on dedicated servers).
:protocolmodule: channel IDs, protocol version, capability bits, kick reasons, andProtocolMessagesencode/decode without a Minecraft dependency.- Fabric mod: custom payloads (
s2c_hello,c2s_client_info,s2c_bindings,c2s_key_action), Fabric Networking registration, client API (KrepApi/ listeners), mixin integration for keyboard input. - Reference
:paper-plugin: plugin messages, handshake flow, sampleconfig.yml. - Docs in-repo/wiki: protocol, client API, Paper plugin (including security notes for
c2s_key_action).
Compatibility
- Minecraft (Fabric): declared support for
>=1.21.4through<=1.21.11; Loom build targets 1.21.11 (Yarn) with Java 21 bytecode for typical runtimes. - Key bindings: runtime compatibility between the older API (category as
String) and 1.21.11+ (KeyBinding.CategoryviaIdentifier). - Networking / Minecraft 1.21.11: updates for current Yarn (e.g.
RegistryByteBuf,PacketCodec.ofStatic,readString/writeString,CustomPayload.Idfor registration,MinecraftServer.isDedicated()).
Notes
- Install a Fabric API build that matches the Minecraft version.
KrepAPI (for developers)
- Build version (Fabric mod release /
c2s_client_info.modVersion,gradle.properties→mod_version): 1.0.0 - Wire protocol version (
KrepapiProtocolVersion.CURRENT,protocolVersionins2c_hello/c2s_client_info): 1 — increment only when the binary packet layout or semantics change
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:uRt7iUC0:9UQDia5W"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:uRt7iUC0:9UQDia5W"
}

