🪠 Create Pipes'n Physics

Roadmap
⚠️ Known Issues There is an issues with the CROWNS mod blocking some of the physics this mod adds. A compat is work in progress
Pipes'n Physics overhauls Create's pipe and pump system with a new physics based engine. Flow is calculated based on the pipe networks structure. Pumps dont have ranges anymore, but supply head to your network and can lift fluid blocks.
Physics
- Pressure and gravity. Fluids in tanks now produce pressure when connected to a pipe. Therefore naturally 2 connected pipes level out in fluid level, and fluid can flow downhill without a pump.
- Pumps act as boosters. Pumps can lift your fluid by a given amount of blocks.
- Viscosity and density of the fluid determine how fast it can flow and how hard it is to lift.
- Siphon physics emerges naturally.
Full sable support
- Custom fluid renderer which always show the fluid parallel to the flow.
- Angle of the vessel determines fluid flow. So a titled tank with an open ended pipe will lose its fluid
- Dynamic weight of fluid tanks. Density of the fluid will affect this. Also center of gravity of your vessel shifts.
- Cross level piping. You can suck in fluids from the overworld into a sublevel, or vise versa.
Better goggles
- Finally figure out how much fluid actually flows through your network.
Other features
- Custom pipe renderer, half full pipes actually show as half full
- Finetunable valves. Adjust exactly how much flow should go through a pipe.
- Everything is configurable. Dont like the new physics, just turn them off.
Support
Join the Discord for support, bug reports, and suggestions: Discord
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
|
R
3.2.1
|
1mo ago | 1 | |||
|
R
3.2.0
|
2mo ago | 1 | |||
|
R
3.1.1
|
2mo ago | 1 | |||
|
R
3.1.0
|
2mo ago | 1 | |||
|
R
3.0.1
|
3mo ago | 1 | |||
|
R
3.0.0
|
3mo ago | 1 | |||
|
R
2.1.1
|
4mo ago | 1 | |||
|
R
2.1.0
|
4mo ago | 1 | |||
|
R
2.0.4
|
4mo ago | 1 | |||
|
R
2.0.3
|
4mo ago | 1 | |||
|
R
2.0.2
|
4mo ago | 1 | |||
|
R
2.0.1
|
4mo ago | 1 | |||
|
R
2.0.0
|
4mo ago | 1 | |||
|
B
1.0.4
|
5mo ago | 1 | |||
|
B
1.0.3
|
5mo ago | 1 | |||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 |
## Bug Fixes
- Fixed interaction bug with TFMG setups
- Fixed some issues with the flow solver
- Fixed an issue where vertical pipes would render the fluid wrongly.
## Features
- Added compat with pumps from other mods (power grid, tfmg etc.)
- Added compat for other tanks in other mods (fluid vessels etc.)
## Bug Fixes
- Fixed fluid and range renderer on sublevels
- Fixed bad fluid equalization in horizontal pipes
## Bug Fixes
- Fixes broken Smart Pipes, they finally work now
- Fixed bad performance when looking at a pump with a lot of pipes connected
- Fixed a mixin bug that was caused due to legacy code
## QoL Upgrades
- When hovering over a pump with a cog or similar the menu is hidden from the pump
- Fluids inside a pipe are now always shown
## Features
- New gradient mode when looking at pumps showing how far it can reach
- TURBINE MODE: Let your pump generate SU when fluid falls down
- Pumps can pull in a bit further now, improving your gameplay.
## bug fixes
- #36 [Bug]: mod doesn't work with VS Hose Connectors
- #50 Valve dont split correctly
- #58 [Bug]: pipe network sees hose pulleys as empty
- #59 [Bug]: Cauldrons don't close pipes on sublevels.
- #60 [Bug]: Filling basin with two liquids causes pipe to break
### Changes
- #10 Fluid doesn't render in Sublevel tanks when using Fabulous graphics
- #55 Fix pumps adjacent to tanks making issues
- #56 Change display link refresh rate to 100
- #61 Add in Turbine mode
## Bug Fixes
- Fixed a bug where fluid are stuck in pipes
- Fixed a bug where pipes could not drain from a beehive
- Fixed a bug with aeronautics and a render race condition
- Fixed a bug where hose pulleys randomly stopped working
> For Create 6.0.10 on NeoForge 1.21.1. Existing worlds load fine, but pipe networks behave differently.
## Features
### Fluid lives inside the pipes
- Pipes are no longer instant wires: every pipe block holds real fluid (250 mB by default). Sources drain as the front advances, sinks fill when the column arrives, and nothing is duplicated or lost. Breaking a pipe spills its contents.
- Rendering shows the actual pipe contents: trickles run shallow, pressurized lines pack full, idle runs settle to the tank's waterline. Works on dedicated servers.
- Siphons must be primed once and then keep their prime. Pumps no longer self-prime a dry suction line (enablePumpSelfPriming restores it).
- Two fluids forced together break the pipe, with Create's reaction (water + lava → cobblestone).
- pipeVolumePerCell = 0 restores legacy instant transfers.
### Centrifuge (requires Sable)
- Spinning contraptions fling fluid outward through the plumbing.
- New centrifuge recipes: a fast-spinning tank separates a mixed fluid, products route to radial taps by density.
- Public API
### Gases
- Lighter-than-air fluids flow up through pipes, pool in the highest tank, and equalize correctly between tanks.
- A tank of gas provides lift on a Sable contraption (enableGasBuoyancy).
- Molten fluids flow 3× faster in ultrawarm dimensions (nether for example).
### Valves
- One-way mode: a direction dial turns any fluid valve into a check valve, with in-world direction arrows for goggle/wrench holders.
- The throttle is now cranked by shaft rotation or a Valve Handle; the scroll box is replaced by the direction dial.
### Displays, Ponder, readouts
- Display link sources for pipe flow, pump output, and tank contents.
- Ponder scenes for pump, pipes, valves, and the physics, running the live engine.
- Pour particles at open mouths and into tanks.
- /pipegraph: live overlay, per-pipe flow history, and an engine report for any machine block.
## Bug Fixes
- TFMG: coke ovens serve a different fluid per face; blast stoves no longer crash the server and connect through their real ports.
- Create Propulsion: chained burners fill as one network; a tank stacked on a burner no longer drains into it (thanks @SpyC0der77).
- Create Diesel Generators: distillation tower inputs stay fillable.
- CROWNS: fixed parallel pump transport that silently vanished fluid.
- Broken fluid capabilities from other mods no longer crash the server.
- Pipe and tank waterlines match on screen; gravity drains stop exactly at the pipe opening.
- Basins drain from any level and separate multi-fluid contents completely.
- Fixed oscillations: pipe↔tank ping-pong, gas churn between tanks, horizontal mouths drinking their own spill.
- New pumpDrainAnyLevel option to ignore the connection height when pumping from tanks.
## Performance
- Network layouts are cached between ticks instead of re-scanned every solve (enableNetworkCache).
- Contraption pipe scans on Sable sub-levels are cached, cutting idle tick cost with ships present.
## Bug fixes
- Fixed broken Docking connectors
- Fixed Deadlocks in a system
- Fixed wrong order of tanks filling up
## Sable Integration
- Added in proper cross sublevel piping
## Features
- Added new ConfigOption: VALVE_CHARACTERISTIC where the behavior of a valve can be defined to a more realistic approach.
# Features
- Added mew custom pipe fluid renderer which renders the correct height of a fluid level inside a pipe.
- Added in a way to adjust valves precisely on how much flow they should let through
- Added in stored fluid fronts. This means when your flow is blocked by a full sink for example, and there is again enough room for the fluid to flow it will instantly flow again
- Add cross sucking from sable sublevels
# Bug fixes
- Different kind of performance fixes
- Fixed hose pulleys
- Fixed spilling water in the network
- Fixed non ticking networks on sublevels
- Fixed cauldron sucking
- Fixed basin sucking
- Fixed stuck networks not resolving correctly
## Bug fixes
- Fixed a bug which prevented gases from reverting gravity
- Fixed a bug which prevented cauldrons from being detected as valid source
## Bug fixes
- Added support for multi fluids in basins and partial refills
## Bug fixes
- Improved messages when networks are stuck
- Improved basin interop
- Fixed a bug that pipes could not suck from fluid blocks
- Fixed a bug that the network wrongly miscalculated when it needs to recharge
- Add in a compat with create propulsion's liquid burner to work properly
More bug fixes to come!
- 2.0.0 rewrites the full physics engine of this mod and integrated even more with creates system. Read the new mod page for more information
- Fixed a bug where accessing blocks on the sublevel made the game crash. (#6)
- Fluid viscosity: lava and other thick fluids flow slower through pipes. Lava has ~2.5x more friction than water. Configurable via viscosityScaling (set to 0 to disable)
- Siphon effect: pumps can push fluid over hills. The pump only needs enough power to reach the peak — the descent is free
- Flow splitting: when pipes branch, flow divides proportionally. A junction feeding two tanks splits the flow 50/50 instead of duplicating it
# Goggle Improvements
- Fluid density and viscosity shown in the tooltip (e.g. 3000 kg/m³ · 6000 cP)
- Viscosity penalty displayed when flowing thick fluids (e.g. 2.5x friction)
- All pipes in a straight line now show the same flow rate — no more flickering between different values
- Remaining range decreases as you look further from the source
- Cleaner numbers throughout
# Bug Fixes
- Fixed cauldron drain/fill not working with open-ended pipes
- Fixed flow rate jumping around every few ticks when tanks are draining
- Fixed crash during chunk generation with Sable tank mass
- Fixed pump range arrows not showing past siphon peaks
- Open-ended pipes on Sable sub-levels now place fluid blocks in the real world at the projected world-space position instead of inside the sub-level (configurable: enableOpenEndWorldPlacement)
- Hydrostatic pressure: tank fill level now affects gravity flow pressure (fuller tanks = more head pressure, based on fluid surface height)
- Gravity goggle breakdown now works for partial-reach networks (pipes with flow but no reachable sink)
- Clear caches and cooldowns on server stop to fix gravity inversion after relog on rotated sub-levels
# Bug Fixes
- Fixed gravity goggle breakdown missing on partial-reach networks (0 valid sinks)
- Fixed experimentalTankCenterOfGravity default changed to true
- isSubLevelReady check before processing gravity flow to prevent stale data on uninitialized sub-levels
- Fixed a bug where a tank tilded on its side drifted away
- Fixed a bug that pipes were not updating correctly
# Experimental
- Added a new mode to affect Center of Gravity of a sable contraption
- Fluid now flows downhill through pipes without a pump. Connect a tank at a higher point to one below, and gravity does the rest.
- The flow rate is determined by the height difference between source and destination. More height = more pressure = faster flow.
- Siphon physics: Fluid can travel uphill through a pipe and back down, as long as the destination is lower than the source. The path shape doesn't matter, only the endpoint heights.
Pipe Friction System
- Horizontal pipes create friction, which reduces how far fluid can travel.
- Vertical pipes have zero friction. Gravity drives the flow for free.
- Pipes at slight angles (above 5°) are also friction-free. Only truly flat pipes cost friction.
- The friction model uses diminishing returns for pump networks. The first few horizontal pipes matter most, additional ones barely reduce flow.
Pump Gravity Assist
- Pumps now interact with gravity. Pushing fluid downhill extends the pump's reach. Pushing uphill costs extra pressure.
- Siphon paths through a pump network cancel out. Going down 3 blocks and up 3 blocks costs nothing, only horizontal segments add friction.
- Two pumps in series work correctly. One pump pushes into the next pump's pull side.
Goggle Information
- Looking at any pipe with goggles now shows a detailed breakdown:
- Gravity-driven: Head pressure, friction, net pressure, flow rate, and remaining range
- Pump-driven: Pump RPM, gravity assist/penalty, friction used, and remaining reach in blocks
- Shows "(capped at max)" when gravity pressure hits the configured ceiling
Dynamic Tank Mass (Sable Integration)
- Fluid tanks on Sable sub-levels now have dynamic weight based on how full they are.
- Heavier fluids (like lava) weigh more than lighter ones (like water), using the fluid's actual density.
- The weight creates realistic torque when tanks are off-center on a structure, shifting the center of gravity.
- Requires Sable (full) to be installed. Has no effect with only Sable Companion or without Sable.
Tilted Fluid Rendering (Sable Integration)
- Fluid in tanks on Sable sub-levels renders with a tilted surface matching the structure's rotation.
- Includes a wave simulation that reacts to rotation changes, landing impacts, centrifugal force, and ambient ripples.
- Fluid viscosity affects wave speed and damping. Lava waves are slower and heavier than water.
Sable Sub-Level Awareness
- All pipe physics (gravity flow, friction, pump assist) work correctly on rotating Sable sub-levels.
- Pipe elevation angles are computed in world-space, so a "horizontal" pipe on a tilted structure has proportional friction.
- Gravity flow automatically recalculates when a sub-level rotates.
Arrow Visualizations
- Animated flow arrows appear on pipes when wearing goggles and looking at a pump or flowing pipe.
- Pump arrows show the full reach of the pump network with color-coded distance.
- Gravity arrows trace the flow path from source to destination.
- Two render modes: per-segment (arrows on every pipe) or traveling (single arrow moving along the path).