Nerospace 1.0.3 - NeoForge 26.2
Curse Maven Snippet
What's new
Additive patch: a new public API package, no breaking change to any existing type.
Added
Cross-mod fluid and item interoperability
- Nerospace now speaks the platform-standard fluid and item handlers on all three loaders, both as
a provider and as a consumer:
Capabilities.Fluid.BLOCK/Capabilities.Item.BLOCKon NeoForge,FluidStorage.SIDED/ItemStorage.SIDED(Fabric Transfer API v1) on Fabric, andForgeCapabilities.FLUID_HANDLER/ForgeCapabilities.ITEM_HANDLERon Forge. Until now the Universal Pipe and every Nerospace tank and machine spoke only Nerospace's own mod-private capabilities plus vanillaContainer, so a pipe simply refused to grow an arm toward another mod's tank or machine — which made the Fluid Tank hard to use as anything but a Nerospace-only endpoint. - In play: a Universal Pipe now connects to, pulls from and pushes into another mod's fluid tanks, item machines and pipes, and another mod's pipes can pull fluid or items straight out of a Fluid Tank, Fuel Tank, Fuel Refinery, Quarry Controller, Launch Controller or Universal Pipe. Every block that already offered fluid on Nerospace's own capability now offers it on the standard one as well; the mod-private path is still tried first, so Nerospace-to-Nerospace behaviour is unchanged.
- Per-face I/O modes and filters apply to foreign neighbours exactly as they do to Nerospace ones — a face disabled in the side config looks shut to another mod's pipe too. This adds reach without giving up any control over what moves where.
- Gas is deliberately not bridged. There is no cross-mod standard for it, and Nerospace's oxygen is not a fluid, so the gas layer stays on Nerospace's own capability and Neroland Core's. Nothing about it changes.
- Worth stating plainly: this makes Nerospace speak the standard APIs. Whether any particular other mod interoperates still depends on that mod using them too.
- One deliberate exception: the Rocket Launch Pad. The pad's fluid connection is a one-way sink into a docked rocket — it can be filled but never drained — and the standard handlers are transactional, meaning another mod may insert and then roll back as a routine way of asking "how much would you take?". A sink cannot honour that rollback, so the pad is reachable through Nerospace's own pipes only. Fuel a rocket from another mod by piping into a Fuel Tank beside the pad, which auto-fuels as before.
- New platform seam
za.co.neroland.nerospace.platform.ItemLookupalongside the existingEnergyLookup/FluidLookup/GasLookup, with exactly one implementation and aMETA-INF/servicesentry per loader cell.FluidLookupnow falls back to the platform-standard handler when a neighbour does not answer Nerospace's own.
Evaporator Module (nerospace:evaporator_module)
- A new upgrade-module card for the Quarry Controller's module slot. With one installed the quarry destroys liquids on sight instead of buffering them at all, so its fluid tank stays empty and there is nothing to pipe away. Use it for a dig you know will hit water or lava and whose fluid you do not want; leave the slot for another card when you would rather keep what it collects.
- Crafted with the same shape and cost as the other module cards — Nerosteel Ingots and Redstone around a signature centre item, here Blaze Powder.
- Its texture is placeholder art for now.
Changed
The quarry no longer stops for liquid
- The Quarry Controller's fluid handling is now best-effort instead of all-or-nothing: it buffers what fits in its 16,000 mB tank and destroys the rest as it digs, so a dig that reaches an ocean or a lava lake keeps going rather than waiting for somewhere to put the fluid.
- It clears at most 64 source blocks per mining tick, so a large body of water drains steadily over a few seconds instead of disappearing in one spike — and a single tick's work stays bounded.
- Buffered fluid still auto-ejects into any adjacent fluid store, which — per the interop change above — now includes other mods' tanks and pipes.
- The
fluid_fullpause reason is retired: nothing raises it any more. The output buffer still pauses the dig when it cannot fit a drop, so mined items are never voided.
Fixed
A quarry over water used to stall for good
- The Quarry Controller paused with reason
fluid_fullthe moment its 16,000 mB buffer filled — which is 16 source blocks — or the moment it met a second fluid type, and it resumed only if something drained the tank. A dig that reached a lake or an aquifer therefore stopped dead and stayed stopped with everything else about it healthy. It now never stalls on liquid (see above).
Public integration API (za.co.neroland.nerospace.api)
NerospaceEnvironment.at(level, pos)returns an immutableEnvironmentSnapshot— atmosphere, hazard, gravity, oxygen (0-15), terraforming stage (0-3) and breathability — so another mod can ask what a position is like without touching Nerospace's internal managers. It fails closed to a vacuum snapshot on unloaded chunks and never forces a chunk to load or generate.NerospaceVisits+PlanetVisitEventsanswer "has this player ever reached Cindara?" and fire once on a genuine first visit. This is the half no amount of live event listening can reconstruct for a mod installed after the fact.NerospaceOxygenaccepts bounded, expiring external oxygen contributions (max radius 64, strength 15, one hour), keyed by a caller-owned source id, so another mod's life support can feed Nerospace's breathability and environment answers.NerospaceTerraformingapplies and rolls back reversible regional overlays that change what Nerospace reports without rewriting a single block. Denies every mutation until the server installs aTerraformClaimPolicy— an unauthenticated regional environment override would be a griefing tool. Each region records the physical chunk stage underneath it, so a rollback restores that baseline rather than erasing real progress.
Changed
- Breathability now also honours an active terraforming overlay and external oxygen contributions, alongside the existing terraformed-chunk flag, oxygen field and launch-pad safe radius.
Privacy
- Planet visits are the only new player-keyed store: a UUID and a set of planet ids, with no
timestamps, coordinates or movement trail. It is registered with Neroland Core's shared
PlayerDataErasurehook and, like station ownership, an erasure request is pushed into the saved-data backup file immediately rather than at the next periodic pass. - Oxygen contributions and terraforming overlays record no player at all. Their ids are caller-owned and are documented as never permitted to encode player identity, because Nerospace persists them verbatim.
This mod has no additional files

