promotional bannermobile promotional banner

World Engine

Optimizes Sable for world-scale physics with adaptive spatial indexing, large-body handling, and zero-loss simulation fidelity.
Back to Files

World Engine 0.1.1 - Fabric 1.21.1

File nameworld-engine-fabric-0.1.1.jar
Uploader
NsTutNsTut
Uploaded
Oct 4, 2026
Downloads
6
Size
10.1 MB
Mod Loaders
Fabric
File ID
9054848
Type
R
Release
Supported game versions
  • 1.21.1

Curse Maven Snippet

Fabric

modImplementation "curse.maven:world-engine-1671915:9054848"

Learn more about Curse Maven

What's new

World Engine 0.1.1

Fixes and optimizations

  • Retain sleeping bodies' terrain support and wake them after support changes.
  • Refresh exact query memberships when Sable updates a body's bounding box, including ballistic and sleeping bodies. Reproduce the ballistic query miss before the fix and retain it as a runtime regression.
  • Preserve dimension-wide terrain coverage when one region releases its local copy, and check residency bounds relative to the region origin. Add a runtime regression for interacting bodies across a region boundary.
  • Reuse terrain footprints, spatial cells, interaction edges, and traversal buffers.
  • Avoid per-body interaction-graph iterator allocations by reusing primitive traversal buffers.
  • Retain unchanged section memberships and reuse graph component traversal, with independent movement/removal checks and live exact-AABB filtering.
  • Reuse immutable physics handles inside World Engine's tick loop and release them on body removal; preserve Sable's public fresh-handle factory.
  • Retain exact interaction edges for unchanged bounds and reuse renewed hold deadlines during reconciliation. Release unrenewed deadlines while preserving expiry and region-migration checks.
  • Reuse existing single-cell interaction candidates and avoid redundant component seeds; independently verify that edge splits retain every affected component.
  • Retain exact graph edges during vertical movement only when all stored bounds cover one common Y plane and X/Z bounds are unchanged. Refresh cell membership and fall back when that proof no longer holds.
  • Test each changed graph candidate once and reuse connected-component IDs until nodes or exact edges change. Validate components against independent all-pairs traversal across splits, removal and ID reuse.
  • Scan stable bound records directly when spatial-bucket visits cost at least a whole-body scan; keep the grid path for sparse candidates. Verify dense/sparse transitions and record removal/reuse against independent overlap and component oracles.
  • Drain collision effects into one reusable native-order buffer instead of allocating a Java array per region step. Preserve all 15 event fields and the existing 100-event limit; reject insufficient storage without consuming events.
  • Preserve contact impulses only for matching voxel and collision-shape identities.
  • Discard empty contact manifolds before solver and hook bookkeeping.
  • Use an exact cuboid for eligible complete, homogeneous collections of solid unit cubes. Holes, partial shapes, fluids, custom hooks, and dynamic overrides retain per-voxel collision dispatch.
  • Combine complete terrain rectangles of the same material into their exact collision shape, rebuilding from current terrain candidates after edits. Preserve holes and partial-height support.
  • Fix the Java/Rust voxel-registration argument mismatch that could incorrectly mark static block shapes dynamic.
  • Correct callback registry lookup for packed block IDs, so air and adjacent entries cannot misclassify the serial-stepping safety guard.
  • Add independent spatial and terrain-reference tests, native geometry/cache tests, and runtime support-removal, center-hole, terrain-rectangle removal, and half-height slab tests.
  • Add a paired dedicated-server benchmark against stock Sable with frozen inputs, physics checks, process CPU, and Java allocation measurements. See BENCHMARKS.md for its protocol and coverage limits.

Requirements

  • Minecraft 1.21.1, Fabric or NeoForge, and Java 21.
  • Sable 2.0.5 or newer.

This mod has no additional files