# Sable Gravity 0.7.5 Sable Gravity is a multidimensional gravity-frame kernel for moving and arbitrarily rotated Sable ships. A frame owns a dimension-qualified identity, a local coordinate system, a rigid pose and a local `-Y` gravity direction. ## Physics model - Players use an oriented body and plot-local feet anchor. Crouching, standing, jumping, creative flight, edge sneaking and wall sliding are resolved in the ship frame without using the parent-world AABB as the source of truth. - Entities always remain in physical parent-world coordinates. Sable is the only owner of their OBB collision, tracking and packet conversion; Sable Gravity rotates gravity, locomotion and drag into the selected frame without exposing the hidden plot grid to entity networking. - Non-player entities keep their ordinary parent-world/network position. Their oriented body is foot-anchored only inside Sable's collision transform, so items and mobs do not need a spawn-time coordinate rebase and cannot leak plot coordinates into packets. - Client particle attachment and packet conversion remain on Sable's native path. This mod does not install a second universal particle lifecycle on top of Sable's particle mixins. - For the local player, plot-local feet position and relative velocity are authoritative. A translating or rotating ship is reconstructed from them every tick instead of accumulating pose deltas. ## Dimensions and Cosmonautics `GravityFrameId` contains provider, dimension and local UUID. Frame lookup is always performed in the entity's current `Level`, so an identical SubLevel UUID in another dimension cannot alias the old ship. A recreated destination frame is resolved again from that level's Sable container. Gravity magnitude comes from the final parent-world `Entity#getGravity()` result while the entity stays physical. Dimension/altitude modifiers such as Cosmonautics therefore compose with Sable direction and never evaluate against the plot's synthetic Y coordinate. There is no hardcoded list of planets, dimensions or entity types. The built-in provider accepts Sable SubLevels from any `Level`, including Cosmonautics dimensions. Other mods can register a higher-priority `GravityFrameProvider` through `SableGravityApi` for directional gravity and frame consumers; arbitrary-orientation ship collision additionally requires a Sable-backed frame. ## Development The development client loads Create, Aeronautics, Cosmonautics and the local Minecraft MCP bridge. The bridge is configured for `127.0.0.1:8765` only; it is not packaged into the release jar. Build with: ```powershell .\gradlew.bat build ``` Player controls remain available through `/sablegravity enable|disable`, `/sablegravity strength ` and `/sablegravity test `.