Tags
Creators
Details
2.0.0
Compatibility
Changes
π Slipstream Engine v2.0.0: The Type-Safe & Zero-Allocation Update
We are thrilled to announce Slipstream v2.0.0, our biggest architectural update yet. This release completely transforms how developers interact with NMS packets, introducing an elegant, 100% type-safe API with absolutely zero runtime overhead.
β¨ Key Features & Major Changes
- ποΈ Multi-Module Architecture & Code Generation
Slipstream now dynamically scans NMS classes during compilation to generate over 500+ highly optimized
@JvmInline value classwrappers. This isolates the core logic from Minecraft internals and guarantees compatibility. - π‘οΈ The
wrapAs<T>()Revolution We replaced the globalAny.isPacket()extensions with a single, elegantwrapAs<T>()inline function. It uses Kotlin'sreifiedtypes to cast packets safely in one line:Zero overhead, zero global namespace pollution.packet.wrapAs<WrapperServerboundMovePlayerPacket>()?.let { move -> println("Player moved to ${move.pos.x}") } - π¦ Zero-Allocation Nested Structures
Our value-class wrappers now extend to internal NMS types! Methods returning
BlockPos,Vec3, orItemStacknow return generatedWrapperBlockPosandWrapperVec3instead of rawAny. No heap allocations, maximum speed. - πΎ Java Records Support (1.20+)
Modern Minecraft packets are heavily based on Java Records. Slipstream now natively supports them. Instead of setters, immutable packets now receive a
.copy()method (just like Kotlin data classes) powered by cachedMethodHandles. - πͺ Mutable Setters
For legacy/mutable packets, we automatically generate high-performance setters using
MethodHandles.lookup().unreflectSetter().
π Documentation Update
The entire project documentation has been rewritten from scratch. Check out the updated API Guide and Architecture Breakdown on our GitHub repository.
π οΈ For Plugin Developers (JitPack)
Using Slipstream as an API has never been easier. Thanks to the multi-module setup, you only need to depend on the core module; all generated wrappers are pulled automatically:
implementation("com.github.ClCody.Slipstream:slipstream-core:2.0.0")
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:OFTR3qou:nb1WLDLg"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:OFTR3qou:nb1WLDLg"
}

