Tags
Creators
Details
0.9.2-alpha-1.21.1
Compatibility
Changes
v0.9.2 delivers major under-the-hood performance optimizations, significantly cutting down memory allocation and world-scan overhead through smart loot modifier caching and leaner recipe graph structures. Expect faster startup analysis passes, zero Netty buffer leaks, and a noticeably smoother profiling experience on heavy modpacks.
๐ฅ What's New for Modpack Developers
- Smart Loot Modifier Cache (
LootOptimizer):- Adaptive Bypass: Probes loot tables during automated scans and identifies tables unmodified by modded hooks.
Once verified, it completely bypasses redundant
CommonHooks.modifyLootpasses, drastically cutting CPU overhead duringUniversalLootSourceand mob drop generation. - Configurable Sampling: Evaluates loot modifications dynamically across an initial 30-call sample threshold before marking tables as safe to skip.
- Adaptive Bypass: Probes loot tables during automated scans and identifies tables unmodified by modded hooks.
Once verified, it completely bypasses redundant
- Modernized Recipe Serialization:
- Migrated item cache serialization in
RecipeGraphCacheto vanilla'sItemStack.OPTIONAL_STREAM_CODEC(bumped cache format toVERSION = 5). - Yields faster disk serialization, cleaner cache loads, and tighter consistency with vanilla component data.
- Migrated item cache serialization in
โก Performance & Stability
- Recipe Graph Memory Optimization (
RecipeGraph): Replaced bloatedConcurrentHashMapstructures with high-performance FastUtil collections (Reference2ObjectOpenHashMap,ObjectArrayList). This optimizes item lookups and substantially reduces memory overhead when indexing massive recipe registries. - Resource Leak Prevention via RAII (
Scope): Standardized lock acquisition, thread cleanup, and NettyByteBufrelease routines acrossAnalysisEngine, cache I/O, andScanExecutorusing anAutoCloseablescope pattern, eliminating edge-case buffer leaks on cancelled tasks or crashed workers. - Context-Aware Log Silencing (
LogFilter): Unified log interception into a scoped auto-closing filter. Silences known synthetic loot simulation noise (such as unsmeltable drops, missing enchantments, andDISTXFORMmarkers) without hiding real runtime errors. - Null-Safe Component Matching (
ItemStackIdentity): Relocated identity checks to core utilities and hardened stack comparisons against null references, preventing unexpected NPE crashes during item parsing. - Internal Engine Refactoring: Streamlined reflection scanning in
MachineReflectionScanner, extracted dynamic registry argument resolution inRecipeMetadata, and simplified path resolution algorithms in the machine controller scanner.
Supplementary resources
| File | Type | Size | |
|---|---|---|---|
| complexityanalyzer-0.9.2-alpha-1.21.1-sources.jar | Unknown | 1.1 MiB |
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:RQjlpUyI:Sj9bS4jJ"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:RQjlpUyI:Sj9bS4jJ"
}

