Create Horse Power - CE 1.20.1-1.2.6 - Forge 1.20.1
Curse Maven Snippet
What's new
Create Horse Power - CE 1.2.6
Fixes
- Fixed NeoForge path output being applied twice after the
pathEvaluatedKubeJS hook. With KubeJS installed and no listener registered, a Great path could incorrectly turn a2.0xRPM multiplier into4.0x, and non-neutral stress multipliers could likewise be squared. - Defined
pathEvaluatedspeed/stress values as final absolute path multipliers. Scripts may still replace them withsetSpeedMultiplier()/setStressMultiplier(), but the crank now assigns the returned final values instead of multiplying them again. - Fixed NeoForge path effects being lost when KubeJS is not installed. The no-KubeJS
firePathEvaluatedfallback now preserves the evaluator's absolute speed/stress multipliers instead of replacing them with neutral1.0xvalues. - Preserved Forge behavior by keeping the common no-op script hook aligned with the evaluator's existing path multipliers.
Regression coverage
- Added discriminating evaluator coverage for
LEGACY,WORST_BLOCK, andWEIGHTED_AVERAGEusing a mixed custom path whose expected speed and stress outputs differ by mode. - Added coverage proving disabling path stress scaling leaves RPM, validity, coverage accounting, and efficiency unchanged while neutralizing only the final path stress multiplier.
- Added coverage proving the stress toggle cannot bypass minimum path coverage.
- Added Forge 1.20.1 and NeoForge 1.21.1 crank GameTests for the production-shaped case: 16 base RPM / 32 base SU on a Great path keeps the
2.0xRPM path bonus while final stress remains exactly 32 SU. - Added a NeoForge no-KubeJS regression verifying
OptionalIntegrations.firePathEvaluated()preserves a2.0xspeed /1.10xstress result unchanged. - Retained the NeoForge KubeJS-present runtime regression so both optional-integration branches are covered.
This mod has no additional files