promotional bannermobile promotional banner

SpaceSimulation

Turn the Overworld into space. A NeoForge 1.21.1 mod that replaces the vanilla overworld with a zero-gravity star system: a sun at the world centre, procedural asteroid belts millions of blocks out, and quaternion 6DOF flight physics on foot.
Back to Files

space_simulation-0.3.1-beta.jar

File namespace_simulation-0.3.1-beta.jar
Uploader
XYccWAXYccWA
Uploaded
Oct 2, 2026
Downloads
27
Size
1.4 MB
Mod Loaders
NeoForge
File ID
9036520
Type
B
Beta
Supported game versions
  • 1.21.1

Curse Maven Snippet

NeoForge

implementation "curse.maven:spacesimulation-1720899:9036520"

Learn more about Curse Maven

What's new

Orbital mechanics (new orbital/ package + network package + mixin):

  • Inverse-square gravitational field of the sun at the world origin, velocity Verlet numerical integration per tick, driving the player and all entities; μ defaults to 6.25e6 blocks³/tick² (circular orbit at 1 million blocks = 2.5 blocks/tick = 50 m/s), configurable, 0 disables.
  • Server authoritative: the server integrates based on client input masks, ignores client position packets, and sends down authoritative state; the client predicts with the same integrator, reconciles by input sequence number, and only rolls back and replays when deviation exceeds orbitalCorrectionBlocks (default 1 block).
  • No ticking while offline: on logout, osculating Keplerian elements are saved; on login, propagation is resolved according to server ticks (elliptical/hyperbolic).
  • Initial orbit: remove the old 5,000,000–10,000,000-block safe ring; on first join and death respawn, assign to a random orbit at 1,000,000–1,500,000 blocks (inner asteroid belt), with inclination/eccentricity constrained to stay within the thin disk of the ring.
  • New /orbit command (info / circular / mu); F3 displays radius, velocity, elements, and prediction correction count.
  • Neutralize two vanilla traps: absMoveTo rollback on connection tick, and aiStep zeroing of velocity components <0.003.

Asteroid system:

  • asteroid_type refactored into 15 types × 6 variants = 90 structure NBTs (10 in the inner belt, 11 in the outer belt, weights balanced), retiring the split core_*_1/2/3 naming.
  • New asteroidMuFollowPlayerOrbital (default on), asteroid orbits follow player μ, allowing escort flight and landing.
  • Materialization radius 1500→2000, cap 8→16, interval 100→40 ticks; staging area chunk radius tightened, unload logging added.

Other:

  • Players are immune to void damage (fall speed cleared, can fly back on their own).
  • Rapier rebase-based global chunk retransmission changed to frame-sliced (10 ms budget per physics frame), with precise self-checks and removal of per-frame magnitude false positives.
  • New perfStatsEnabled: one line every 60 seconds with server tick time/TPS/entities/chunks/asteroids/heap memory.
  • Clean up client test classes TestFlow, AimDiagTest, SphereVisualTest, AimDiagnostics mistakenly committed during 0.2.0, as well as the screenshot hook and captureScreenshot in WorldSphereRenderer.
  • Docs: README.md / README_EN.md / MOD_INTRO.md upgraded to 0.3.1-beta, adding orbital mechanics, new commands, new config tables, and known issues; CI checkout adds fetch-depth: 0 to generate Release notes from tag annotations.