File Details
freedom-0.5.1.jar
- R
- Jun 10, 2026
- 203.05 KB
- 5
- 1.21.1
- NeoForge
File Name
freedom-0.5.1.jar
Supported Versions
- 1.21.1
Curse Maven Snippet
Freedom v0.1.30 → v0.5.1 — Changes Writeup
Big version jump — 21 minor releases. Three major themes: (1) Freedom's first registered block, (2) two new primitives, (3) substantial API expansion for ZV's nav-rollout work. Plus safety polish across the existing primitive family.
Headline changes
A new block: freedom:climb_scaffold (v0.2.0)
For the first time, Freedom registers a real block — ClimbScaffoldBlock. Hidden, non-obtainable, no item, no recipe, no creative tab. It's a ladder-climbable, non-brittle scaffold look-alike that the ScaffoldStack primitive now places instead of vanilla scaffolding. Mobs actually climb it.
Follow-up polish:
- v0.2.1 — fixed a "bounce on column top" where the jump-drive over-fired at the top of the climb
- v0.2.2 — added an unconditional 15-second self-destruct fuse so orphaned columns never leak
The whole point: vanilla scaffolding has annoying physics (auto-breaks on non-sturdy support, has a distance property, gets targeted by mob break-obstacle AI). The custom block doesn't.
Two new primitives
ReachAssistPrimitive (v0.3.0) — caller-direct climb-to-elevated-target. Sits between JumpAssist (deltaY==2 single-cobble) and ClimbAssist (deltaY≥3 cobble column). Designed for host-controlled use cases where the host knows exactly which target to reach toward.
WallTraversePrimitive (v0.5.1) — over-the-wall traverse. The newest primitive, addressing ZV nav-rollout GAP 1. Designed for "mob on one side of a wall, target on the other" scenarios that the existing climb primitives don't handle cleanly.
API surface expansion (v0.4.0 + v0.5.0)
These are the changes consumers care about most because they alter API contracts:
DigUp/DigForwardfill-block overload (v0.4.0) — these primitives now accept a fill block (default cobble). Lets callers pick what gets placed during dig operations.ClimbAssist+JumpAssistmigrated (v0.4.0) — both now placeclimb_scaffoldinstead of cobble. Consumers see the new climbable block in the world instead of cobble columns.RescueRegistry.tryPlacementOnly+EscapePrimitive.isDestructive(v0.5.0, GAP 4) — host can now ask the registry to only consider non-destructive primitives. Used by ZV when it wants nav assistance without risking block breaks.ScaffoldColumns.countColumnsNear(v0.5.0, GAP 3) — anti-herd query so multiple stuck mobs don't pile columns on top of each other.EscapeContext.maxColumnTopY(v0.5.0, GAP 2) — caller-supplied cap on how high a column primitive will build. ScaffoldStack honors it. Useful for caves where you don't want columns punching through the ceiling.
Polish, safety, and test hardening
v0.1.31 — Bundle 2-5 + doc drift
RescueRegistry→CopyOnWriteArrayList(F-CONC-003) — concurrency-safe registry mutation. Prevents iterator-mid-modification races if a primitive ever registers from a non-main thread.- Family-uniform null guards —
Objects.requireNonNull(mob)on older primitives that didn't have it;Objects.requireNonNullfor negative cap params ontryStepfamily. StuckDetector.isStucknull-guard symmetry — both sides handle null consistently now.ClimbAssist destroyContiguousDownward isLoaded guard— family parity with the other column-tearer primitives; prevents accessing unloaded chunks during cleanup.LavaPillar ServerLevel guard— same family-parity safety.BreakBlock BE-guard— block-entity check before destroy.SuffocationDig+LavaPillarprotection-veto gametests — closes test gaps; the protection contract is now enforced and tested across all destructive primitives.- 5 legacy gametests strengthened with explicit post-state assertions.
- Doc drift fixes —
DigUpPROTECTED javadoc +SealAdjacent7-arg overload corrections.
v0.1.32 — Bundle 6 perf
MutableBlockPosin scan loops — replaces per-iterationBlockPosallocation in Scaffold + ClimbAssist tower scans. Real GC reduction in hot paths.Freedom.shouldLogActionpredicate — lazy details-string guard so telemetry doesn't pay the formatting cost when rate-limited.LiquidProbe @Nullablereturn + staticDirection[]— cuts an allocation per call.PrimitiveDefaultscentralization — pulled family-duplicated default constants into one helper.
Per-version table
| Version | Tag | Headline |
|---|---|---|
| 0.1.31 | v0.1.31-bundles-2-5 |
Safety + concurrency hardening across the family; doc drift fixes |
| 0.1.32 | v0.1.32-bundle-6-perf |
Per-tick allocation reduction in Scaffold + ClimbAssist; lazy log-formatting |
| 0.2.0 | v0.2.0-climb-scaffold |
New: freedom:climb_scaffold block. ScaffoldStack places climbable scaffold instead of vanilla scaffolding |
| 0.2.1 | v0.2.1-climb-bounce-fix |
Fix: jump-drive bounce on climb-scaffold column top |
| 0.2.2 | v0.2.2-climb-fuse |
New: unconditional 15s self-destruct fuse on climb_scaffold blocks |
| 0.3.0 | v0.3.0-reach-assist |
New primitive: ReachAssistPrimitive — caller-direct climb-to-elevated-target |
| 0.4.0 | v0.4.0-climb-scaffold-migration |
ClimbAssist + JumpAssist migrate to place climb_scaffold; DigUp/DigForward fill-block param added |
| 0.5.0 | v0.5.0-zv-nav-rollout |
API: tryPlacementOnly, isDestructive, maxColumnTopY, ScaffoldColumns.countColumnsNear (GAPs 4/3/2) |
| 0.5.1 | v0.5.1-wall-traverse |
New primitive: WallTraversePrimitive — over-the-wall traverse (GAP 1) |