Skip to content

Create Horse Power - CE v1.2.7

Choose a tag to compare

@github-actions github-actions released this 27 Sep 13:01
· 112 commits to main since this release
195da8d

Create Horse Power CE 1.2.7

Animal-power data/runtime foundation

  • Added cross-loader data-driven attachment profiles with exact item/tag selectors, worker/machine restrictions, backend-safe persistence/recovery, radius limits, consumption/drop policy, and output multipliers.
  • Attachment ownership now rejects cross-machine steals before mutating leashes, vanilla-leash profiles bind only the selected worker instead of batch-moving unrelated leashables, and consumed attachments preserve their full per-stack NBT/data-component state when returned.
  • Extracted the Horse Crank's single-worker lifecycle behind a reusable animal-power engine and added bounded assignment persistence/migration groundwork while preserving legacy Horse Crank NBT/runtime behavior. Multi-worker lifecycle/output semantics remain follow-up work.
  • Added exact per-machine worker-stat overrides with field inheritance and deterministic profile-source precedence, including loader-neutral worker-profile datapack JSON on Forge/NeoForge and the NeoForge KubeJS startup-profile map API.
  • Ported Forge recipes/tags datagen, switched Forge shared datapack resources from hand-maintained JSON to generated output, and added generated-output parity/drift gates.

Release-readiness and packmaker surfaces

  • Fresh 1.2+ server configs now leave legacy path lists empty so bundled path profiles are not shadowed (dirt 0.70, gravel 1.10); upgraded 1.1 files keep their stored path entries.
  • Added shared createhorsepower/worker_profiles datapack JSON on both loaders, including machine overrides and deterministic priority/tie handling.
  • Attachment JSON parsing, shared worker JSON, fresh-default path behavior, and NeoForge KubeJS machine overrides now have parser/source-boundary regression coverage.
  • KubeJS worker-profile maps reject unknown top-level or machine-override keys instead of silently ignoring snake_case keys; public docs now show the exact camelCase scripting schema.
  • README/CurseForge/packmaker docs now distinguish bundled vanilla-lead gameplay from pack-supplied harness, yoke, and virtual_tether framework modes and use the unified changelog path.