
Pipeworks is a simple fluid logistics mod. It adds pipes, a storage tank, a pump to draw fluid from a source and an outlet to place it in the world.
Because I wanted my own fluid logistics for the -Works mods suite. Nothing special here, simplicity rules.
NeoForge, Minecraft 26.1.2 only. Pipeworks is early work, so please report any issues you find on GitHub.
To play Pipeworks beside every other FactoryWorks mod, install the FactoryWorks Showcase modpack from CurseForge.
Pipeworks is built for modpacks and other mods. It registers no fluid and no machine. It carries whatever fluid another mod puts in, as Beltworks carries any item, and the creative pipe lets you try it with nothing else installed.
pipeworks:creative_pipe, in the creative tab, keeps its segment full of the fluid its screen sets. Click its slot with a bucket, or any item holding a fluid, to set it, and with an empty cursor to clear it. With JEI or EMI installed, a fluid can be dragged onto the slot.Not yet: the in-line pump, pipe-to-ground, and a 3 by 3 tank.
pipeworks:closes_sides, which ships empty. A right-click on a pipe with one of them toggles the side clicked. Opening a side that would mix two fluids is refused.FluidPort (io.github._5thlayer.pipeworks.api) and calling FluidPorts.join(this) from onLoad. Its block calls FluidPorts.leave(level, pos) when removed, and it fills and drains the segment through FluidPorts.segment(level, pos), a NeoForge ResourceHandler<FluidResource>. A pipe or tank also exposes that handler as Capabilities.Fluid.BLOCK, except on a closed side.FluidPipes.wouldLink and FluidPipes.wouldDrawArm read what a pipe placed at a position would link to and draw, for a mod that lays pipes for the player. FluidPipes.toggle, close, open and isClosed close sides from a mod's own tool.CHANGELOG.md lists what each version changed for a mod building against it.None required. Jade, JEI and EMI are optional, as above.
The pipe, tank and creative pipe models and textures are from Oritech v1.2.12 by Rearth, CC0 1.0. They are renamed and retextured to Pipeworks' ids; none is from the ArtOfTecharium or unused-textures sets Oritech credits under other licences. REUSE.toml records each file.
A 5thlayer Library: a mod the FactoryWorks Pack consumes as a pinned local jar. See CONTEXT.md for the domain glossary. sh ./gradlew build runs the JUnit tests on a plain JVM, and sh ./gradlew runGameTestServer the game tests headless. The segment rules are segment/SegmentGraph, with no Minecraft types, so they are tested without a world.
MIT, with the art above under CC0 1.0. Source is on GitHub.