Compatibility
Minecraft: Java Edition
1.21.1
Platforms
Supported environments
Client and server
Tags
Creators
Details
Licensed LGPL-3.0-or-later
Published 7 months ago
Changelog
v0.3.0-alpha: Global update
🚀 Major Architectural Rework
- Rewritten Complexity Solver: The core
IterativeSolverhas been replaced with anEnhancedIterativeSolverto support multi-layered resource analysis. The new engine now calculates complexity across three distinct layers: Items -> Fluids -> Chemicals. - Full Fluid & Chemical Support:
- Added
FluidIngredientSlotandChemicalIngredientSlotto represent non-item resources in recipes. RecipeGraphnow includes methods for analyzing fluid and chemical production chains (e.g.,getRecipesProducingFluid,getItemsUsingFluid).- The entire analysis pipeline, from recipe parsing to tree visualization, is now aware of these new resource types.
- Added
✨ New Features
- Machine Infrastructure Cost ("Machine Tax"):
- Implemented a new configurable system to factor in the cost of machinery into recipe complexity.
- By default, adds 7.5% of a machine's own complexity to each craft it performs.
- This feature can be enabled/disabled and its percentage can be configured.
- Automatic Machine Detection:
- The engine now automatically discovers which machine (catalyst) is used for each recipe type by hooking into JEI's plugin data. This eliminates the need for manual configuration files.
- Redesigned Crafting Tree System:
- The
/complexity treecommand now uses a newCraftingTreeBuilderthat correctly visualizes multi-resource type recipes. - Fluids (💧) and chemicals (🧪) are now displayed in the crafting tree alongside items.
- Added detailed hover-tips with information about recipes and the machines used.
- The
📈 Improvements
- JEI Integration Overhaul:
- The
AdaptiveRecipeConverterhas been completely rewritten for improved robustness and extensibility. - Enhanced reflection-based parser can now dynamically extract item, fluid, and chemical inputs/outputs from a wide range of modded recipes, including those using modern Java records.
- Improved sandboxing ensures server stability when parsing JEI plugins that contain client-side code.
- The
- Performance Optimizations:
- Implemented batch processing and intelligent queue management in the solver's refinement phase, resulting in a performance increase of up to 160x on large modpacks.
- Improved caching strategies for recipe costs.
- Dynamic Recipe Reclassification:
- The engine now performs a post-analysis pass to dynamically reclassify "reverse" recipes (e.g.,
Ingot -> Dust) asPROCESSING. This prevents logical paradoxes in the crafting graph and ensures the solver always prefers the most efficient production path.
- The engine now performs a post-analysis pass to dynamically reclassify "reverse" recipes (e.g.,
- Resource Source Analysis:
EmpiricalBlockSource(Geo-Scanner) now analyzes and stores data for each dimension separately, providing more accurate resource rarity values.
🐛 Bug Fixes
- Fixed Cyclic Dependencies: Resolved the core issue where the crafting tree would enter an infinite loop on certain recipe chains. The tree now correctly displays cycles as base resources.
- Fixed
NoClassDefFoundError: Improved error handling and class loading to prevent server crashes related to client-side JEI classes. - Fixed Fluid Normalization: Correctly handles flowing vs. source fluid types in recipe ingredients.
🔧 Technical & Build
- Project refactoring:
DatapackSyncHandlerrenamed toAnalysisBootstrapfor clarity. - Added
.vscode/settings to.gitignore.
Files
complexityanalyzer-0.3.0-alpha.jar(1.15 MiB) Primary
Metadata
Release channel
AlphaVersion number
0.3.0-alphaLoaders
NeoForge
Game versions
1.21.1Environment
Client and server, required on both


